📄 gssr.pas
字号:
with dm.Qytemp3 do
begin
Close;
CommandText:='SELECT * FROM workerInfo where zgID=:zgID';
Parameters.ParamByName('zgID').Value:=Trim(gs_zgID.Text);
Open;
end;
gs_gzID.Text:=dm.Qytemp3.FieldByName('gzID').AsString;
gs_Name.Text:=dm.Qytemp3.FieldByName('zgName').AsString;
gs_gz.Text :=dm.Qytemp3.FieldByName('gz').AsString;
end;
procedure TgssrForm.BitBtn1Click(Sender: TObject);
begin
gssrForm.PageControl1.ActivePageIndex :=0;
NEW;
gssrForm.Caption:='月工时数据---录入';
ActionCD:='N';//New
end;
procedure TgssrForm.BitBtn2Click(Sender: TObject);
begin
ENA;
gssrForm.Caption:='月工时数据---修改';
gssrForm.PageControl1.ActivePageIndex:=0;
ActionCD:='M';//Modify
end;
procedure TgssrForm.BitBtn3Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then
begin
if(CanSave)then //justify whether can save or not?
begin
Posting; //commit to then backend;
DIS; //Disable all controls
MyInformation('保存成功!');
dm.GrMonth.Close;
dm.GrMonth.Open;
end
else
begin
ENA;
Myerror('所填栏目不完全,无法保存');
end;
end
else
if RadioGroup1.ItemIndex =1 then
begin
if(CanSaveD)then //justify whether can save or not?
begin
PostingD; //commit to then backend;
DIS; //Disable all controls
MyInformation('保存成功!');
dm.dwMonth.Close;
dm.dwMonth.Open;
end
else
begin
ENA;
Myerror('所填栏目不完全,无法保存');
end;
end;
end;
procedure TgssrForm.Posting;
begin
if ActionCD='N' then
begin
with dm.Querytemp do
begin
close;
prepared:=false;
SQL.Clear;
SQL.Add('Insert into GrMonth (dwID,zgID,GsTime,cpYd,cpHg,cpHy,cpLf,cpSd,cpXj,');
SQL.Add('elCp,elCpSd,elfCp,elfCpSd,bcCp,bcCpSd,bcfCp,bcfCpSd,ssQq,ssTg,ssGf,ssXj,');
SQL.Add('scRw,scRwSd,yb,tx,jb,zwc,zsd,ts,tsSd)');
SQL.Add(' Values(:dwID,:zgID,:GsTime,:cpYd,:cpHg,:cpHy,:cpLf,:cpSd,:cpXj,');
SQL.Add(':elCp,:elCpSd,:elfCp,:elfCpSd,:bcCp,:bcCpSd,:bcfCp,:bcfCpSd,:ssQq,:ssTg,:ssGf,:ssXj,');
SQL.Add(':scRw,:scRwSd,:yb,:tx,:jb,:zwc,:zsd,:ts,:tsSd)');
//myerror(sql.Text);
Parameters.Items[0].Value:=trim(ComboBox1.Text);
Parameters.Items[1].Value:=trim(gs_zgID.Text);
Parameters.Items[2].Value:=trim(gs_GsTime.Text);
Parameters.Items[3].Value:=strtofloat(gs_cpYd.Text);
Parameters.Items[4].Value:=strtofloat(gs_cpHg.Text);
Parameters.Items[5].Value:=strtofloat(gs_cpHy.Text);
Parameters.Items[6].Value:=strtofloat(gs_cpLf.Text);
Parameters.Items[7].Value:=strtofloat(gs_cpSd.Text);
Parameters.Items[8].Value:=strtofloat(gs_cpXj.Text);
Parameters.Items[9].Value:=strtofloat(gs_elCp.Text);
Parameters.Items[10].Value:=strtofloat(gs_elCpSd.Text);
Parameters.Items[11].Value:=strtofloat(gs_elfCp.Text);
Parameters.Items[12].Value:=strtofloat(gs_elfCpSd.Text);
Parameters.Items[13].Value:=strtofloat(gs_bcCp.Text);
Parameters.Items[14].Value:=strtofloat(gs_bcCpSd.Text);
Parameters.Items[15].Value:=strtofloat(gs_bcfCp.Text);
Parameters.Items[16].Value:=strtofloat(gs_bcfCpSd.Text);
Parameters.Items[17].Value:=strtofloat(gs_ssQq.Text);
Parameters.Items[18].Value:=strtofloat(gs_ssTg.Text);
Parameters.Items[19].Value:=strtofloat(gs_ssGf.Text);
Parameters.Items[20].Value:=strtofloat(gs_ssXj.Text);
Parameters.Items[21].Value:=strtofloat(gs_scRw.Text);
Parameters.Items[22].Value:=strtofloat(gs_scRwSd.Text);
Parameters.Items[23].Value:=strtofloat(gs_yb.Text);
Parameters.Items[24].Value:=strtofloat(gs_tx.Text);
Parameters.Items[25].Value:=strtofloat(gs_jb.Text);
Parameters.Items[26].Value:=strtofloat(gs_zwc.Text);
Parameters.Items[27].Value:=strtofloat(gs_zsd.Text);
Parameters.Items[28].Value:=strtofloat(gs_ts.Text);
Parameters.Items[29].Value:=strtofloat(gs_tsSd.Text);
prepared:=true;
execSQL;
end;
end
else if ActionCD='M' then
begin
with dm.Querytemp do
begin
close;
prepared:=false;
SQL.Clear;
SQL.Add('update GrMonth set cpYd=:cpYd,cpHg=:cpHg,cpHy=:cpHy,cpLf=:cpLf,');
SQL.Add('cpSd=:cpSd,cpXj=:cpXj,elCp=:elCp,elCpSd=:elCpSd,elfCp=:elfCp,elfCpSd=:elfCpSd,');
SQL.Add('bcCp=:bcCp,bcCpSd=:bcCpSd,bcfCp=:bcfCp,bcfCpSd=:bcfCpSd,ssQq=:ssQq,ssTg=:ssTg,');
SQL.Add('ssGf=:ssGf,ssXj=:ssXj,scRw=:scRw,scRwSd=:scRwSd,yb=:yb,tx=:tx,jb=:jb,zwc=:zwc,');
SQL.Add('zsd=:zsd,ts=:ts,tsSd=:tsSd where zgID=:zgID and GsTime=:GsTime');
Parameters.Items[0].Value:=strtofloat(gs_cpYd.Text);
Parameters.Items[1].Value:=strtofloat(gs_cpHg.Text);
Parameters.Items[2].Value:=strtofloat(gs_cpHy.Text);
Parameters.Items[3].Value:=strtofloat(gs_cpLf.Text);
Parameters.Items[4].Value:=strtofloat(gs_cpSd.Text);
Parameters.Items[5].Value:=strtofloat(gs_cpXj.Text);
Parameters.Items[6].Value:=strtofloat(gs_elCp.Text);
Parameters.Items[7].Value:=strtofloat(gs_elCpSd.Text);
Parameters.Items[8].Value:=strtofloat(gs_elfCp.Text);
Parameters.Items[9].Value:=strtofloat(gs_elfCpSd.Text);
Parameters.Items[10].Value:=strtofloat(gs_bcCp.Text);
Parameters.Items[11].Value:=strtofloat(gs_bcCpSd.Text);
Parameters.Items[12].Value:=strtofloat(gs_bcfCp.Text);
Parameters.Items[13].Value:=strtofloat(gs_bcfCpSd.Text);
Parameters.Items[14].Value:=strtofloat(gs_ssQq.Text);
Parameters.Items[15].Value:=strtofloat(gs_ssTg.Text);
Parameters.Items[16].Value:=strtofloat(gs_ssGf.Text);
Parameters.Items[17].Value:=strtofloat(gs_ssXj.Text);
Parameters.Items[18].Value:=strtofloat(gs_scRw.Text);
Parameters.Items[19].Value:=strtofloat(gs_scRwSd.Text);
Parameters.Items[20].Value:=strtofloat(gs_yb.Text);
Parameters.Items[21].Value:=strtofloat(gs_tx.Text);
Parameters.Items[22].Value:=strtofloat(gs_jb.Text);
Parameters.Items[23].Value:=strtofloat(gs_zwc.Text);
Parameters.Items[24].Value:=strtofloat(gs_zsd.Text);
Parameters.Items[25].Value:=strtofloat(gs_ts.Text);
Parameters.Items[26].Value:=strtofloat(gs_tsSd.Text);
Parameters.Items[27].Value:=trim(gs_zgID.Text);
Parameters.Items[28].Value:=trim(gs_GsTime.Text);
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TgssrForm.PostingD;
begin
if ActionCD='N' then
begin
with dm.Querytemp do
begin
close;
prepared:=false;
SQL.Clear;
SQL.Add('Insert into DWMonthGs (dwID,BanzuName,GsTime,cpYd,cpHg,cpHy,cpLf,cpSd,cpXj,');
SQL.Add('elCp,elCpSd,elfCp,elfCpSd,bcCp,bcCpSd,bcfCp,bcfCpSd,ssQq,ssTg,ssGf,ssXj,');
SQL.Add('scRw,scRwSd,yb,tx,jb,zwc,zsd,ts,tsSd)');
SQL.Add(' Values(:dwID,:BanzuName,:GsTime,:cpYd,:cpHg,:cpHy,:cpLf,:cpSd,:cpXj,');
SQL.Add(':elCp,:elCpSd,:elfCp,:elfCpSd,:bcCp,:bcCpSd,:bcfCp,:bcfCpSd,:ssQq,:ssTg,:ssGf,:ssXj,');
SQL.Add(':scRw,:scRwSd,:yb,:tx,:jb,:zwc,:zsd,:ts,:tsSd)');
Parameters.Items[0].Value:=trim(ComboBox1.Text);
Parameters.Items[1].Value:=trim(ComboBox2.Text);
Parameters.Items[2].Value:=trim(gs_GsTime.Text);
Parameters.Items[3].Value:=strtofloat(gs_cpYd.Text);
Parameters.Items[4].Value:=strtofloat(gs_cpHg.Text);
Parameters.Items[5].Value:=strtofloat(gs_cpHy.Text);
Parameters.Items[6].Value:=strtofloat(gs_cpLf.Text);
Parameters.Items[7].Value:=strtofloat(gs_cpSd.Text);
Parameters.Items[8].Value:=strtofloat(gs_cpXj.Text);
Parameters.Items[9].Value:=strtofloat(gs_elCp.Text);
Parameters.Items[10].Value:=strtofloat(gs_elCpSd.Text);
Parameters.Items[11].Value:=strtofloat(gs_elfCp.Text);
Parameters.Items[12].Value:=strtofloat(gs_elfCpSd.Text);
Parameters.Items[13].Value:=strtofloat(gs_bcCp.Text);
Parameters.Items[14].Value:=strtofloat(gs_bcCpSd.Text);
Parameters.Items[15].Value:=strtofloat(gs_bcfCp.Text);
Parameters.Items[16].Value:=strtofloat(gs_bcfCpSd.Text);
Parameters.Items[17].Value:=strtofloat(gs_ssQq.Text);
Parameters.Items[18].Value:=strtofloat(gs_ssTg.Text);
Parameters.Items[19].Value:=strtofloat(gs_ssGf.Text);
Parameters.Items[20].Value:=strtofloat(gs_ssXj.Text);
Parameters.Items[21].Value:=strtofloat(gs_scRw.Text);
Parameters.Items[22].Value:=strtofloat(gs_scRwSd.Text);
Parameters.Items[23].Value:=strtofloat(gs_yb.Text);
Parameters.Items[24].Value:=strtofloat(gs_tx.Text);
Parameters.Items[25].Value:=strtofloat(gs_jb.Text);
Parameters.Items[26].Value:=strtofloat(gs_zwc.Text);
Parameters.Items[27].Value:=strtofloat(gs_zsd.Text);
Parameters.Items[28].Value:=strtofloat(gs_ts.Text);
Parameters.Items[29].Value:=strtofloat(gs_tsSd.Text);
prepared:=true;
ExecSQL;
end;
end
else if ActionCD='M' then
begin
with dm.Querytemp do
begin
close;
prepared:=false;
SQL.Clear;
SQL.Add('update DWMonthGs set BanzuName=:BanzuName,cpYd=:cpYd,cpHg=:cpHg,cpHy=:cpHy,cpLf=:cpLf,');
SQL.Add('cpSd=:cpSd,cpXj=:cpXj,elCp=:elCp,elCpSd=:elCpSd,elfCp=:elfCp,elfCpSd=:elfCpSd,');
SQL.Add('bcCp=:bcCp,bcCpSd=:bcCpSd,bcfCp=:bcfCp,bcfCpSd=:bcfCpSd,ssQq=:ssQq,ssTg=:ssTg,');
SQL.Add('ssGf=:ssGf,ssXj=:ssXj,scRw=:scRw,scRwSd=:scRwSd,yb=:yb,tx=:tx,jb=:jb,zwc=:zwc,');
SQL.Add('zsd=:zsd,ts=:ts,tsSd=:tsSd where dwID=:dwID and GsTime=:GsTime');
Parameters.Items[0].Value:=trim(ComboBox2.Text);
Parameters.Items[1].Value:=strtofloat(gs_cpYd.Text);
Parameters.Items[2].Value:=strtofloat(gs_cpHg.Text);
Parameters.Items[3].Value:=strtofloat(gs_cpHy.Text);
Parameters.Items[4].Value:=strtofloat(gs_cpLf.Text);
Parameters.Items[5].Value:=strtofloat(gs_cpSd.Text);
Parameters.Items[6].Value:=strtofloat(gs_cpXj.Text);
Parameters.Items[7].Value:=strtofloat(gs_elCp.Text);
Parameters.Items[8].Value:=strtofloat(gs_elCpSd.Text);
Parameters.Items[9].Value:=strtofloat(gs_elfCp.Text);
Parameters.Items[10].Value:=strtofloat(gs_elfCpSd.Text);
Parameters.Items[11].Value:=strtofloat(gs_bcCp.Text);
Parameters.Items[12].Value:=strtofloat(gs_bcCpSd.Text);
Parameters.Items[13].Value:=strtofloat(gs_bcfCp.Text);
Parameters.Items[14].Value:=strtofloat(gs_bcfCpSd.Text);
Parameters.Items[15].Value:=strtofloat(gs_ssQq.Text);
Parameters.Items[16].Value:=strtofloat(gs_ssTg.Text);
Parameters.Items[17].Value:=strtofloat(gs_ssGf.Text);
Parameters.Items[18].Value:=strtofloat(gs_ssXj.Text);
Parameters.Items[19].Value:=strtofloat(gs_scRw.Text);
Parameters.Items[20].Value:=strtofloat(gs_scRwSd.Text);
Parameters.Items[21].Value:=strtofloat(gs_yb.Text);
Parameters.Items[22].Value:=strtofloat(gs_tx.Text);
Parameters.Items[23].Value:=strtofloat(gs_jb.Text);
Parameters.Items[24].Value:=strtofloat(gs_zwc.Text);
Parameters.Items[25].Value:=strtofloat(gs_zsd.Text);
Parameters.Items[26].Value:=strtofloat(gs_ts.Text);
Parameters.Items[27].Value:=strtofloat(gs_tsSd.Text);
Parameters.Items[28].Value:=trim(ComboBox1.Text);
Parameters.Items[29].Value:=trim(gs_GsTime.Text);
Prepared:=true;
ExecSQL;
end;
end;
end;
procedure TgssrForm.gs_cpYdExit(Sender: TObject);
begin
if gs_cpYd.Text=''then
begin
gs_cpYd.Text:='0';
end
else
begin
if not IsNumeric(gs_cpYd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_cpYd.SetFocus;
gs_cpYd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_cpYd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_cpYd.SetFocus;
gs_cpYd.SelectAll;
end;
//P1:=strtofloat(gs_cpYd.Text);
end;
end;
Jisuan1;
end;
procedure TgssrForm.gs_cpHgExit(Sender: TObject);
begin
if gs_cpHg.Text=''then
begin
gs_cpHg.Text:='0';
end;
if not IsNumeric(gs_cpHg.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_cpHg.SetFocus;
end
else
begin
if(frac(strtofloat(gs_cpHg.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_cpHg.SetFocus;
end;
end;
Jisuan1;
end;
procedure TgssrForm.gs_cpHyExit(Sender: TObject);
begin
if gs_cpHy.Text=''then
begin
gs_cpHy.Text:='0';
end;
if not IsNumeric(gs_cpHy.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_cpHy.SetFocus;
end
else
begin
if(frac(strtofloat(gs_cpHy.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_cpHy.SetFocus;
end;
//P3:=strtofloat(gs_cpHy.Text);
end;
Jisuan1;
end;
procedure TgssrForm.gs_cpLfExit(Sender: TObject);
begin
if gs_cpLf.Text=''then
begin
gs_cpLf.Text:='0';
end;
if not IsNumeric(gs_cpLf.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_cpLf.SetFocus;
end
else
begin
if (frac(strtofloat(gs_cpLf.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_cpLf.SetFocus;
end;
//P4:=strtofloat(gs_cpLf.Text);
end;
Jisuan1;
end;
procedure TgssrForm.Jisuan1;
var
gs_cpXjInt,gs_cpXjFrac,remain:double;
begin
if (gs_cpYd.Text<>'')and(gs_cpHg.Text<>'') and (gs_cpHy.Text<>'')and (gs_cpLf.Text<>'') then
begin
gs_cpXjInt:=Int(strtofloat(gs_cpYd.Text))+Int(strtofloat(gs_cpHg.Text))+
Int(strtofloat(gs_cpHy.Text))+Int(strtofloat(gs_cpLf.Text));
gs_cpXjFrac:=Frac(strtofloat(gs_cpYd.Text))*100+Frac(strtofloat(gs_cpHg.Text))*100+
Frac(strtofloat(gs_cpHy.Text))*100+Frac(strtofloat(gs_cpLf.Text))*100;
remain:=Int(gs_cpXjFrac/ 60.0);
gs_cpXjFrac:=(gs_cpXjFrac-remain*60.0)/100.0;
gs_cpXj.text:=floattostr(gs_cpXjInt+gs_cpXjFrac+remain);
end;
end;
procedure TgssrForm.gs_cpSdExit(Sender: TObject);
begin
if gs_cpSd.Text=''then
begin
gs_cpSd.Text:='0';
end;
if not IsNumeric(gs_cpSd.Text) then
begin
Myerror('数据格式不正确,应为数值型。');
gs_cpSd.SetFocus;
gs_cpSd.SelectAll;
end
else
begin
if(frac(strtofloat(gs_cpSd.Text))*100)>=60 then
begin
Myerror('工时数据的小数部分代表分钟,必须小于60!');
gs_cpSd.SetFocus;
gs_cpSd.SelectAll;
end;
end;
TsSdJisuan;
end;
procedure TgssrForm.Jisuan2;
var
gs_ssXjInt,gs_ssXjFrac,remain:double;
begin
if (gs_ssQq.Text<>'')and (gs_ssTg.Text<>'') and (gs_ssGf.Text<>'') then
begin
gs_ssXjInt:=Int(strtofloat(gs_ssQq.Text))+Int(strtofloat(gs_ssTg.Text))+
Int(strtofloat(gs_ssGf.Text));
gs_ssXjFrac:=Frac(strtofloat(gs_ssQq.Text))*100+Frac(strtofloat(gs_ssTg.Text))*100+
Frac(strtofloat(gs_ssGf.Text))*100;
remain:=Int(gs_ssXjFrac/ 60.0);
gs_ssXjFrac:=(gs_ssXjFrac-remain*60.0)/100.0;
gs_ssXj.text:=floattostr(gs_ssXjInt+gs_ssXjFrac+remain);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -