jiangchen.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 961 行 · 第 1/3 页
PAS
961 行
datetimepicker1.date:=date;
datetimepicker2.date:=date;
datetimepicker3.date:=date;
datetimepicker4.date:=date;
datetimepicker5.date:=date;
pagecontrol1.ActivePageIndex :=1;
pagecontrol1.OnChange(sender);
datamod.adojiangchen.Active:=true;
datamod.ADOpersonal.Active:=true;
end;
procedure TformJiangChen.DateTimePicker1CloseUp(Sender: TObject);
begin
if (datamod.ADOjiangchen.state=dsinsert) or (datamod.ADOjiangchen.state=dsedit) then
datamod.ADOjiangchen.FieldByName('jcdate').asstring:=datetostr(datetimepicker1.date);
end;
procedure TformJiangChen.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_contents0013');
end;
end;
procedure TformJiangChen.SpeedButton1Click(Sender: TObject);
var
path:string;
jiangcheng:Tinifile;
ch:string;
begin
Panel4.visible:=true;
path:=ExtractFilePath(Application.ExeName)+'data\JiangCheng.ini';
if fileexists(path) then
begin
JiangCheng:=TIniFile.Create(path);
ch:=JiangCheng.ReadString('JiangCheng','底薪','0');
Checkbox2.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','技术津贴','0');
Checkbox3.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','生活补助','0');
Checkbox4.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','其加2','0');
Checkbox5.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','职称津贴','0');
Checkbox6.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','全勤奖','0');
Checkbox1.Checked:=strtoboolean(ch);
ch:=JiangCheng.ReadString('JiangCheng','其加1','0');
Checkbox7.Checked:=strtoboolean(ch);
JiangCheng.Free;
end;
end;
procedure TformJiangChen.RadioButton1Click(Sender: TObject);
begin
speedbutton1.visible:=false;
datamod.adojckindjcmoney.displaylabel:='奖惩金额';
end;
procedure TformJiangChen.RadioButton2Click(Sender: TObject);
begin
speedbutton1.visible:=true;
datamod.adojckindjcmoney.displaylabel:='处罚金额';
end;
procedure TformJiangChen.SpeedButton3Click(Sender: TObject);
var
Jiangcheng:TIniFile;
path:string;
i:integer;
begin
if application.messagebox('是否将所做的修改保存?','请问',mb_okcancel+mb_iconquestion)=idok then
begin
path:=ExtractFilePath(Application.ExeName)+'data\Jiangcheng.ini';
if fileexists(path) then
begin
Jiangcheng:=TIniFile.Create(path);
for i:=1 to 7 do
begin
if TCheckbox(Findcomponent('Checkbox'+inttostr(i))).Checked then
begin
Jiangcheng.WriteString('Jiangcheng',TCheckbox(Findcomponent('Checkbox'+inttostr(i))).Caption,'1');
end
else Jiangcheng.WriteString('Jiangcheng',TCheckbox(Findcomponent('Checkbox'+inttostr(i))).Caption,'0');
end;
Jiangcheng.Free;
end;
end;
Panel4.visible:=false;
dbgrid3.SetFocus;
end;
procedure TformJiangChen.SpeedButton2Click(Sender: TObject);
begin
formjiangchengrule:=Tformjiangchengrule.create(application);
formjiangchengrule.showmodal;
formjiangchengrule.free;
end;
procedure TformJiangChen.ToolButton2Click(Sender: TObject);
begin
if not assigned(muljiangcheng) then
muljiangcheng:=tmuljiangcheng.create(self);
muljiangcheng.show;
end;
procedure TformJiangChen.tbnprintClick(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
0:
begin
if not assigned(rewardorpanish) then
rewardorpanish:=Trewardorpanish.create(self);
rewardorpanish.show;
end;
1:
begin
if not assigned(reportforpanish) then
reportforpanish:=Treportforpanish.create(self);
reportforpanish.show;
end;
3:begin
if not assigned(reportforpanish) then
reportforpanish:=Treportforpanish.create(self);
reportforpanish.show;
end;
4:begin
rewardorpanish:=Trewardorpanish.create(self);
rewardorpanish.show;
end;
end;
end;
procedure TformJiangChen.ToolButton7Click(Sender: TObject);
begin
if pagecontrol1.ActivePageIndex=3 then
begin
adodataset1.close;
adodataset2.Close;
adodataset2.Open;
adodataset1.Open;
end
else
begin
//处理进行统计结果
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.Add('update per17010 set jctime1=a.jctime1 from(select workno,sum(jctimes) jctime1 from per17010 where charindex(''警告'',jcname)<>0 ' +
' group by workno) a where a.workno=per17010.workno ');
Adoquery1.sql.add('update per17010 set jctime2=a.jctime2 from (select workno,sum(jctimes) jctime2 from per17010 where charindex(''小过'',jcname)<>0 group by workno ' +
') a where a.workno=per17010.workno ');
Adoquery1.sql.add('update per17010 set jctime3=a.jctime3 from (select workno,sum(jctimes) jctime3 from per17010 where charindex(''大过'',jcname)<>0 group by workno)a where a.workno=per17010.workno');
Adoquery1.sql.add('update per17010 set jctime4=a.jctime4 from (select workno,sum(jctimes) jctime4 from per17010 where charindex(''嘉奖'',jcname)<>0 group by workno)a where a.workno=per17010.workno');
Adoquery1.sql.add('update per17010 set jctime5=a.jctime5 from (select workno,sum(jctimes) jctime5 from per17010 where charindex(''小功'',jcname)<>0 group by workno)a where a.workno=per17010.workno');
Adoquery1.sql.add('update per17010 set jctime6=a.jctime6 from (select workno,sum(jctimes) jctime6 from per17010 where charindex(''大功'',jcname)<>0 group by workno)a where a.workno=per17010.workno');
Adoquery1.ExecSQL;
//进行刷新
datamod.ADOjiangchen.close;
datamod.ADOjiangchen.filtered:=false;
datamod.ADOjiangchen.filter:='';
datamod.ADOjiangchen.commandtext:='select * from per17010 where jckind='+inttostr(pagecontrol1.activepageindex)+' ';
datamod.ADOjiangchen.open;
end;
end;
procedure TformJiangChen.Edit1Exit(Sender: TObject);
begin
datamod.ADOjiangchen.close;
if trim((sender as tedit).text)<>'' then
datamod.ADOjiangchen.commandtext:='select * from per17010 where jckind='+inttostr(pagecontrol1.activepageindex)+' and (workno='''+(sender as tedit).text+''' or name='''+(sender as tedit).text+''') ';
datamod.ADOjiangchen.open;
end;
procedure TformJiangChen.MaskEdit2Exit(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:='/ /';
if fmat='-' then
fmat1:='- -';
if trim(maskedit2.text)<>fmat1 then
if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.text)) then
begin
Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
maskedit1.SetFocus;
end
else begin
datamod.ADOjiangchen.close;
datamod.ADOjiangchen.commandtext:='select * from per17010 where jckind=0 and (JCdate<='''+maskedit2.text+''' and JCdate>='''+maskedit1.text+''') ';
datamod.ADOjiangchen.open;
end;
end;
procedure TformJiangChen.MaskEdit4Exit(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:='/ /';
if fmat='-' then
fmat1:='- -';
if trim(maskedit4.text)<>fmat1 then
if (not isdate(maskedit3.Text)) or (not isdate(maskedit4.text)) then
begin
Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
maskedit3.SetFocus;
end
else begin
datamod.ADOjiangchen.close;
datamod.ADOjiangchen.commandtext:='select * from per17010 where jckind=1 and (JCdate<='''+maskedit4.text+''' and JCdate>='''+maskedit3.text+''') ';
datamod.ADOjiangchen.open;
end;
end;
procedure TformJiangChen.DateTimePicker2CloseUp(Sender: TObject);
begin
Maskedit1.Text :=datetostr(datetimepicker2.date) ;
end;
procedure TformJiangChen.DateTimePicker5CloseUp(Sender: TObject);
begin
Maskedit2.Text :=datetostr(datetimepicker5.date) ;
end;
procedure TformJiangChen.DateTimePicker3CloseUp(Sender: TObject);
begin
Maskedit3.Text :=datetostr(datetimepicker3.date) ;
end;
procedure TformJiangChen.DateTimePicker4CloseUp(Sender: TObject);
begin
Maskedit4.Text :=datetostr(datetimepicker4.date) ;
end;
procedure TformJiangChen.ToolButton1Click(Sender: TObject);
begin
if messagedlg('确定要统计惩罚次数吗?',mtInformation,[mbyes,mbno],0)=mryes then
begin
ADOQuery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add('delete jccount');
Adoquery1.sql.add('insert into jccount(workno,name,jckind) '+
' select workno,name,jckind from per17010 where jckind=''1''' );
Adoquery1.sql.add('update jccount set jctime1=a.jctime1 from (select distinct workno,sum(jctimes) jctime1 from per17010 where charindex(''警告'',jcname)<>0 ' +
' group by workno)a where jccount.workno=a.workno ');
Adoquery1.sql.add('update jccount set jctime2=a.jctime2 from (select distinct workno,sum(jctimes) jctime2 from per17010 where charindex(''小过'',jcname)<>0 ' +
' group by workno)a where jccount.workno=a.workno ');
Adoquery1.sql.add('update jccount set jctime3=a.jctime3 from (select distinct workno,sum(jctimes) jctime3 from per17010 where charindex(''大过'',jcname)<>0 ' +
' group by workno)a where jccount.workno=a.workno ');
///奖历
Adoquery1.sql.add('update jccount set jctime5=a.jctime5 from (select distinct workno,sum(jctimes) jctime5 from per17010 where charindex(''嘉奖'',jcname)<>0'+
' group by workno)a where jccount.workno=a.workno ');
Adoquery1.sql.add('update jccount set jctime6=a.jctime6 from (select distinct workno,sum(jctimes) jctime6 from per17010 where charindex(''小功'',jcname)<>0'+
' group by workno)a where jccount.workno=a.workno ');
Adoquery1.sql.add('update jccount set jctime7=a.jctime7 from (select distinct workno,sum(jctimes) jctime7 from per17010 where charindex(''大功'',jcname)<>0'+
' group by workno)a where jccount.workno=a.workno ');
Adoquery1.SQL.SaveToFile('c:\dyh.sql');
Adoquery1.ExecSQL;
Application.messagebox('统计奖惩罚次数成功,谢谢使用!!!!','系统提示',32) ;
//打开显示一下
Adodataset1.Close;
Adodataset2.Close;
Adodataset2.Open;
Adodataset1.Open;
end;
end;
procedure TformJiangChen.DBGrid5DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if adodataset2.FieldByName('jctime4').asinteger>=3 then
begin
dbgrid5.Canvas.Font.Color:=clred;
dbgrid5.DefaultDrawColumnCell(rect,datacol,column,state);
end;
end;
procedure TformJiangChen.DBGrid5TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
adodataset2.Sort:=column.FieldName+' '+f;
end;
procedure TformJiangChen.DBGrid4TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
Adodataset1.Sort:=column.FieldName+' '+f;
end;
procedure TformJiangChen.wwDBLookupCombo3KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=VK_Down then
(sender as Twwdblookupcombo).dropdown;
end;
procedure TformJiangChen.DBNavigator2BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if button=nbinsert then
DBEdit1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?