original.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 608 行 · 第 1/2 页
PAS
608 行
sortexp:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
sortexp :=sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then sortexp:=sortexp+',';
end;
end;
if sortexp<>'' then datamod.ADOoriginal.Sort :=sortexp;
end;
procedure TFormoriginal.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormoriginal.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then
exit;
if key=#13 then
begin
selectnext(activecontrol,true,true);
key:=#0;
end;
end;
procedure TFormoriginal.Edit1Exit(Sender: TObject);
var s,fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
s:='';
if trim(edit1.text)<>'' then
begin
s:='(workno='''+edit1.text+''' or cardno='''+edit1.text+''' or name='''+edit1.text+''') ';
if ((maskedit1.text<>fmat1) and (isdate(maskedit1.text))) and
((maskedit2.text<>fmat1) and (isdate(maskedit2.text))) then
s:=s+' and recdate>='''+Maskedit1.text+''' and recdate<='''+Maskedit2.text+''' ';
end else
if ((maskedit1.text<>fmat1) and (isdate(maskedit1.text))) and ((maskedit2.text<>fmat1) and (isdate(maskedit2.text))) then
s:='recdate>='''+Maskedit1.text+''' and recdate<='''+Maskedit2.text+''' ';
if s<>'' then
begin
DataMod.AdoOriginal.close;
datamod.ADOoriginal.commandtext:='select * from atd15010 where '+s+' order by recdate,cardno,rectime';
datamod.ADOoriginal.open;
end;
end;
procedure TFormoriginal.DateTimePicker1CloseUp(Sender: TObject);
begin
maskedit1.Text :=datetostr(datetimepicker1.Date);
end;
procedure TFormoriginal.ToolButton6Click(Sender: TObject);
begin
datamod.ADOoriginal.filter:='';
datamod.ADOoriginal.close;
if toolbutton8.down then
datamod.ADOoriginal.commandtext:='Select * from atd15010bk order by recdate,cardno,rectime'
else datamod.ADOoriginal.commandtext:='Select * from atd15010 order by recdate,cardno,rectime';
datamod.ADOoriginal.open;
if fmat='/' then
maskedit1.Text:=' / / ';
if fmat='-' then
maskedit1.Text:=' - - ';
maskedit2.text:=maskedit1.text;
edit1.text:='';
end;
procedure TFormoriginal.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then
begin
Application.helpfile :=extractfilepath(application.exename) +'help\pasahelp.hlp';
application.HelpJump('shm_contents0027');
end;
end;
procedure TFormoriginal.ppDBText6GetText(Sender: TObject;
var Text: String);
begin
if text='0' then
text:='未处理'
else
text:='已处理';
end;
procedure TFormoriginal.ppReport1BeforePrint(Sender: TObject);
begin
pplabel21.caption:=companyname1;
pplabel25.Caption:=pubworkname;
end;
procedure TFormoriginal.tbnprintClick(Sender: TObject);
var startrq,endrq:string;
rq,cardno,workno:string;
fmat1,fmat2:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
adodataset1.close;
with datamod do
begin
Query1.close;
Query1.sql.text:='Delete from report_original';
Query1.execsql;
Query1.close;
if (combobox1.text<>'全部')and (edit1.text='') and (maskedit1.text=fmat1) and (maskedit2.text=fmat1)then
Query1.sql.Text:='Select recdate,cardno,workno,dept from atd15010 where dept='''+combobox1.text+''' group by cardno,recdate,workno,dept order by recdate,cardno ';
if (maskedit1.text=fmat1) and (maskedit2.text=fmat1) and (combobox1.text='全部') then //全部
begin
if trim(edit1.text)<>'' then
Query1.sql.text:='Select recdate,cardno,workno from atd15010 where cardno='''+edit1.text+''' group by cardno,recdate,workno order by recdate,cardno'
else
Query1.sql.text:='Select recdate,cardno,workno from atd15010 group by cardno,recdate,workno order by recdate,cardno';
end else if (trim(maskedit1.text)<>fmat)and(maskedit2.text<>fmat1) and ( combobox1.text='全部') then //日期区间
begin
if isdate(maskedit1.text) and isdate(maskedit2.text) then
begin
startrq:=maskedit1.text;
endrq:=maskedit2.text;
end else
begin
application.messagebox('你输入的日期不对,请按正确的格式录入!','Warning',mb_ok+mb_iconwarning);
maskedit1.setfocus;
exit;
end;
if trim(edit1.text)<>'' then
Query1.sql.text:='Select recdate,cardno,workno from atd15010 where recdate between '''+startrq+''' and '''+endrq+''' and ( cardno='''+edit1.text+''' or workno='''+edit1.text+''' or name='''+edit1.text+''' ) group by cardno,recdate,workno order by recdate,cardno'
else
Query1.sql.text:='Select recdate,cardno,workno from atd15010 where recdate between '''+startrq+''' and '''+endrq+''' group by cardno,recdate,workno order by recdate,cardno';
end;
Query1.sql.savetofile('c:\aaa.sql');
Query1.open;
panel1.visible:=true;
panel1.update;
while not Query1.eof do
begin
rq:=Query1.fieldbyname('recdate').asstring;
cardno:=Query1.fieldbyname('cardno').asstring;
workno:=Query1.fieldbyname('workno').asstring;
Query2.close;
Query2.sql.text:='Select rectime from atd15010 where recdate='''+rq+''' and cardno='''+cardno+''' order by rectime ';
Query2.open;
if not Query2.Eof then
begin
Query3.close;
Query3.sql.text:='Select * from report_original where recdate='''+rq+''' and cardno='''+cardno+''' ';
Query3.open;
if Query3.eof then
begin
Query3.close;
Query3.sql.text:='Insert into report_original (recdate,cardno,workno) values('''+rq+''','''+cardno+''','''+workno+''') ';
Query3.execsql;
end;
end else break;
Query3.close;
Query3.sql.clear;
while not Query2.Eof do
begin
Query3.sql.add('Update report_original set rectime=isnull(rectime,'''')+'' ''+'''+Query2.fieldbyname('rectime').asstring+''' where cardno='''+cardno+''' and recdate='''+rq+''' ');
Query2.next;
end;
Query3.ExecSQL;
Query1.next;
end; //while
Query1.close;
Query2.close;
Query3.close;
adodataset1.open;
panel1.visible:=false;
ppreport1.Print;
end; //with end;
end;
procedure TFormoriginal.ppReport1AfterPrint(Sender: TObject);
begin
datamod.ADOoriginal.Close;
end;
procedure TFormoriginal.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormoriginal.DateTimePicker2CloseUp(Sender: TObject);
begin
maskedit2.Text :=datetostr(datetimepicker2.Date);
end;
procedure TFormoriginal.BitBtn1Click(Sender: TObject);
begin
panel3.Visible:=false;
label6.Visible:=false;
datetimepicker3.Date :=now;
datetimepicker4.Date :=now;
Animate1.Active:=false;
end;
procedure TFormoriginal.ToolButton1Click(Sender: TObject);
begin
panel3.Visible:=true;
datetimepicker3.SetFocus;
end;
procedure TFormoriginal.BitBtn2Click(Sender: TObject);
var i:string;
begin
if messagedlg('注意:移除前,请确认为已处理考勤的数据'+#13+'是否要进行移除',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
adoquery1.Close;
adoquery1.SQL.Clear;
label6.Caption:='正在移除资料,请稍後........';
label6.Visible:=true;
label6.Update;
adoquery1.SQL.text:='exec bkdata ''atd15010'',''1'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
try
adoquery1.ExecSQL;
except
;
end;
label6.Caption:='移除完毕';
label6.Update;
Datamod.ADOoriginal.close;
Datamod.ADOoriginal.commandtext:='Select * From atd15010 order by recdate,cardno,rectime';
Datamod.ADOoriginal.Open;
messagedlg('移除成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label6.Visible:=false;
end;
end;
procedure TFormoriginal.BitBtn3Click(Sender: TObject);
begin
if messagedlg('注意:还原资料,将删除现有的资料',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
label6.Caption:='正在还原资料,请稍後.......';
label6.Visible:=true;
label6.Update;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.text:='exec bkdata ''atd15010'',''0'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
try
adoquery1.ExecSQL;
except
;
end;
label6.Caption:='还原完毕';
label6.Update;
Datamod.ADOoriginal.close;
Datamod.ADOoriginal.commandtext:='Select * From atd15010 order by recdate,cardno,rectime';
Datamod.ADOoriginal.Open;
messagedlg('还原成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label6.Visible:=false;
label6.Update;
end;
end;
procedure TFormoriginal.ToolButton8Click(Sender: TObject);
begin
datamod.ADOoriginal.Close;
if toolbutton8.Down then
datamod.ADOoriginal.CommandText:='Select * From atd15010bk order by recdate,cardno,rectime'
else
datamod.ADOoriginal.CommandText:='Select * From atd15010 order by recdate,cardno,rectime';
datamod.ADOoriginal.Open;
end;
procedure TFormoriginal.ComboBox1Change(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
edit1.Text:='';
maskedit1.Text:=fmat1;
maskedit2.Text:=fmat1;
with datamod do
begin
ADOoriginal.Close;
if combobox1.Text='全部' then
ADOoriginal.CommandText:='Select * From atd15010 order by recdate,cardno,rectime'
else
ADOoriginal.CommandText:='select * from atd15010 where dept='''+combobox1.text+''' ';
ADOoriginal.Open;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?