overtime.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 867 行 · 第 1/2 页
PAS
867 行
end;
end;
procedure TFormot.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOot.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOot.Sort :=datamod.ADOot.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOot.Sort:=datamod.ADOot.Sort+',';
end;
end;
end;
procedure TFormot.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormot.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if button=nbinsert then
datamod.ADOot.Append;
if button=nbedit then
datamod.ADOot.Edit;
if datamod.adootman.recordcount=0 then
whatdo:='new'
else
whatdo:='old';
if button in [nbinsert,nbedit] then
begin
formchangeschedefine:=Tformchangeschedefine.create(self);
with formchangeschedefine do
begin
formchangeschedefine.Position:=poMainFormCenter;
caption:='加班的具体内容和人员';
groupbox3.caption:='加班人员列表';
label1.caption:='右边是加班的人员';
panel1.Visible :=false;
panel2.Visible:=true;
Tbstate:=whatdo;
end;
if whatdo='old' then
begin
with datamod do
begin
ADOotman.First;
while not ADOotman.eof do
begin
formchangeschedefine.ListBox2.Items.Add (ADOotman.fieldbyname('workno').asstring+copychar(' ',ADOotman.fieldbyname('workno').size-length(ADOotman.fieldbyname('workno').asstring))+' '+
ADOotman.fieldbyname('name').asstring+copychar(' ',ADOotman.fieldbyname('name').size-length(ADOotman.fieldbyname('name').asstring)));
ADOotman.next;
end;
end; //with
end;
formchangeschedefine.Position:=poScreenCenter;
try
formchangeschedefine.Label25.caption:=inttostr(formchangeschedefine.ListBox2.Items.Count);
formchangeschedefine.showmodal;
finally
formchangeschedefine.free;
end;
end;
{ case button of //当修改或新建换班单时,调出换班具体作业
nbinsert,
nbedit:begin
formchangeschedefine:=Tformchangeschedefine.Create(self);
formchangeschedefine.panel2.Visible :=true;
formchangeschedefine.Panel1.Visible:=false;
formchangeschedefine.panel2.align :=alclient;
if button=nbinsert then
begin
datamod.ADOchangebc.Insert;
formchangeschedefine.Tbstate :='new'
end
else
begin
datamod.ADOchangebc.Edit;
formchangeschedefine.Tbstate :='old';
end;
if button=nbinsert then
for i:=1 to 10 do
begin
with formchangeschedefine do
begin
dbcx:=Tdbcheckbox(findcomponent('DBCheckBox'+inttostr(i)));
end;
with dbcx do
begin
dbcx.checked:=false;
end;
end
else if button=nbedit then
with datamod do
begin
adochangebcman.First;
while not ADOchangebcman.Eof do
begin
formchangeschedefine.ListBox2.Items.Add (ADOchangebcman.fieldbyname('workno').asstring+' '+
ADOchangebcman.fieldbyname('name').asstring+' '+ADOchangebcman.fieldbyname('sexname').asstring);
ADOchangebcman.Next;
end;
end;
try
formchangeschedefine.ShowModal;
finally
formchangeschedefine.free;
end;
end;
end; }
end;
procedure TFormot.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOot.Sort :=column.FieldName+' '+f;
end;
procedure TFormot.DBGrid2TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOotman.Sort :=column.FieldName+' '+f;
end;
procedure TFormot.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then exit;
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormot.DateTimePicker1CloseUp(Sender: TObject);
begin
// datamod.adoot.edit;
//datamod.adootstartrq.asstring:=datetostr(datetimepicker1.date);
end;
procedure TFormot.DateTimePicker2CloseUp(Sender: TObject);
begin
// datamod.adoot.edit;
// datamod.adootendrq.asstring:=datetostr(datetimepicker2.date);
end;
procedure TFormot.FormActivate(Sender: TObject);
begin
{ with datamod do
begin
//==============2003/04/16修改=============================
adoot.close;
adoot.commandtext:='Select * from atd11010 where otdate>='''+maskedit1.Text+''' and otdate<='''+maskedit2.text+''' order by otdate ';
adoot.Open;
ADOotman.open;
adopersonal.Open;
adosalset.open;
if (adoot.recordcount>0) then
Button1.enabled:=true
else button1.enabled:=false;
end;
DBComboBox1.ItemIndex:=0;
}end;
procedure TFormot.FormCreate(Sender: TObject);
begin
{ datetimepicker1.Date :=date;
datetimepicker2.Date :=date;
datetimepicker3.date :=date;
datetimepicker4.Date :=date;
maskedit1.Text:=datetostr(date);
maskedit2.text:=datetostr(date); }
//adodataset1.Open;
datamod.ADOot.Open;
datamod.ADOotman.Close;
datamod.ADOotman.CommandText:='select * from atd11011 where otid=:otid ';
datamod.ADOotman.Open;
end;
procedure TFormot.ComboBox1Exit(Sender: TObject);
begin
{ if trim(combobox1.text)<>'' then
begin
//==============2003/04/16修改=============================
datamod.adoot.close;
datamod.adoot.commandtext:='select a.* from atd11010 a left join atd11011 b on a.otno = b.otno left join per24010 d on d.workno=b.workno where (a.otno='''+combobox1.text+''' or b.workno='''+combobox1.text+''' or d.name = '''+combobox1.text+''') order by a.otno ';
datamod.adoot.open;
if (datamod.adoot.recordcount>0) then
Button1.enabled:=true
else button1.enabled:=false;
end;
}end;
procedure TFormot.MaskEdit2Exit(Sender: TObject);
var fmat1:string;
begin
{ if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
if 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
//==============2003/04/16修改=============================
datamod.adoot.close;
datamod.adoot.commandtext:='select * from atd11010 where startrq<='''+maskedit2.text+''' and startrq>='''+maskedit1.text+''' order by startrq ';
datamod.adoot.open;
if (datamod.adoot.recordcount>0) then
Button1.enabled:=true
else button1.enabled:=false;
end;
}end;
procedure TFormot.DateTimePicker3CloseUp(Sender: TObject);
begin
maskedit1.Text :=datetostr(datetimepicker3.Date);
end;
procedure TFormot.DateTimePicker4CloseUp(Sender: TObject);
begin
maskedit2.Text :=datetostr(datetimepicker4.Date);
end;
procedure TFormot.ToolButton6Click(Sender: TObject);
var fmat1:string;
begin
{ if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
datamod.adoot.close;
datamod.adoot.commandtext:='select * from atd11010 order by startrq';
datamod.adoot.open;
//==============2003/04/16修改=============================
if (datamod.adoot.recordcount>0) then
Button1.enabled:=true
else button1.enabled:=false;
maskedit2.Text:=fmat1;
maskedit1.Text:=fmat1;
}end;
procedure TFormot.N5Click(Sender: TObject);
begin
datamod.ADOotman.Delete;
end;
procedure TFormot.N6Click(Sender: TObject);
begin
datamod.ADOotman.Insert;
end;
procedure TFormot.N7Click(Sender: TObject);
begin
datamod.adoot.Edit;
end;
procedure TFormot.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_contents0023');
end;
end;
//hxw 2003/04/06
procedure TFormot.tbnprintClick(Sender: TObject);
var
mymon:string;
begin
mymon:=inputbox('系统提示','请输入要列印的月份(''yyyy/mm'')',''''+formatdatetime('yyyy/mm',now)+'''');
adodataset1.close;
adodataset1.commandtext:='select per24010.workno,name, a1.hours1,a2.hours2,a3.hours3 from per24010 left join '+
' (select workno,sum( hours) hours1 from atd11010 b inner join '+
' atd11011 c on b.otno=c.otno where otkind=''平时'' and left(convert(varchar,b.startrq,111),7)='+mymon+' group by workno) a1 on per24010.workno=a1.workno left join '+
' (select workno,sum(hours) hours2 from atd11010 d inner join atd11011 e on d.otno=e.otno where otkind=''节日'' and left(convert(varchar,d.startrq,111),7)='+mymon+' group by workno ) a2 on per24010.workno=a2.workno '+
' left join (select workno,sum(hours) hours3 from atd11010 e inner join atd11011 f on e.otno=f.otno where otkind=''假日'' and left(convert(varchar,e.startrq,111),7)='+mymon+' group by workno) a3 on per24010.workno=a3.workno ';
adodataset1.open;
ppreport2.print;
end;
procedure TFormot.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormot.ppReport1BeforePrint(Sender: TObject);
begin
pplabel1.caption:=companyname1;
pplabel20.caption:=pubworkname;
end;
procedure TFormot.DBGrid2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
//==============2003/04/16修改=============================
DBGrid2.hint:='本张单上共有:'+inttostr(datamod.adootman.recordcount)+'个人';
end;
procedure TFormot.DBEdit4Exit(Sender: TObject);
begin
{ if dbedit4.text<dbedit2.text then
begin
application.MessageBox('您输入的结束日期小於开始日期,请重新输入,否则您的作业将产生一想不到的结果','Warning',mb_ok+mb_iconwarning);
dbedit4.setfocus;
end;
}end;
procedure TFormot.ToolButton2Click(Sender: TObject);
begin
if not assigned(form3) then
form3:=TForm3.create(application);
form3.Width:=331;
form3.Height:=324;
form3.show;
// formotmx:=Tformotmx.create(application);
//formotmx.ShowModal;
end;
procedure TFormot.DBEdit5Exit(Sender: TObject);
begin
{ if (dbedit4.text=dbedit2.text) and (dbedit5.text<dbedit3.Text) then
begin
application.MessageBox('您输入的结束日期小於开始日期,请重新输入,否则您的作业将产生一想不到的结果','Warning',mb_ok+mb_iconwarning);
dbedit5.setfocus;
end;
}end;
procedure TFormot.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormot.ppReport2BeforePrint(Sender: TObject);
begin
pplabel21.caption:=companyname1;
pplabel22.caption:=pubworkname;
end;
procedure TFormot.BitBtn2Click(Sender: TObject);
var i:string;
begin
if messagedlg('注意:移除前,请确认是删除此记录'+#13+'是否要进行移除',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
Datamod.adoquery1.Close;
datamod.adoquery1.SQL.Clear;
label20.Caption:='正在移除资料,请稍後........';
label20.Visible:=true;
label20.Update;
datamod.adoquery1.SQL.text:='exec otback ''1'','''+formatdatetime('yyyy/mm/dd',DateTimePicker5.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker6.datetime)+'''';
try
datamod.adoquery1.ExecSQL;
except
;
end;
label20.Caption:='移除完毕';
label20.Update;
Datamod.Adoot.close;
Datamod.ADOotman.Close;
Datamod.Adoot.commandtext:=' Select * from atd11010 order by startrq ';
Datamod.Adootman.CommandText:='select atd11011.workno,per24010.name,per24010.sexname,per24010.prof,per24010.dept,atd11011.operator,atd11011.cdate from atd11011 '+
' left join per24010 on atd11011.workno=per24010.workno where otno=:otno ';
Datamod.Adoot.Open;
Datamod.ADOotman.Open;
messagedlg('移除成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label20.Visible:=false;
end;
end;
procedure TFormot.BitBtn3Click(Sender: TObject);
var i:string;
begin
if messagedlg('注意:还原前,将删除现有的记录'+#13+'是否要进行还原',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
datamod.adoquery1.Close;
datamod.adoquery1.SQL.Clear;
label20.Caption:='正在还原资料,请稍後........';
label20.Visible:=true;
label20.Update;
datamod.adoquery1.SQL.text:=' exec otback ''0'','''+formatdatetime('yyyy/mm/dd',DateTimePicker5.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker6.datetime)+'''';
try
datamod.adoquery1.ExecSQL;
except
;
end;
label20.Caption:='还原完毕';
label20.Update;
Datamod.Adoot.close;
Datamod.ADOotman.close;
Datamod.Adoot.commandtext:=' Select * from atd11010 order by startrq ';
Datamod.Adootman.CommandText:='select atd11011.workno,per24010.name,per24010.sexname,per24010.prof,per24010.dept,atd11011.operator,atd11011.cdate from atd11011 '+
' left join per24010 on atd11011.workno=per24010.workno where otno=:otno ';
Datamod.Adoot.Open;
datamod.ADOotman.Open;
messagedlg('移除成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label20.Visible:=false;
end;
end;
procedure TFormot.BitBtn1Click(Sender: TObject);
begin
panel4.Visible:=false;
label20.Visible:=false;
datetimepicker5.Date :=now;
datetimepicker6.Date :=now;
Animate1.Active:=false;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?