📄 fix.pas
字号:
dm.query10.close;
dm.query10.open;
dm.query12.close;
dm.query12.Open;
end;
end;
procedure Tfixfm.DBGrid7CellClick(Column: TColumn);
begin
//edit17.text:=query10.FieldValues['bmmc'];
edit21.text:=dm.query10.FieldValues['bmbh'];
end;
procedure Tfixfm.BitBtn10Click(Sender: TObject);
var
s,s1,s2,s3,s4:string;
begin
s3:=trim(edit22.text);
s1:=dm.query10.FieldValues['bmmc'];
s2:=dm.query10.FieldValues['bmbh'];
if (s1='') or (s3='') then exit;
with dm.query8 do
begin
close;
SQL.clear;
SQL.add('select bmmc from bm where bmmc=:p1');
ParamByname('p1').Asstring:=s3;
prepare;
open;
end;
if dm.query8.RecordCount>0 then
begin
MessageDlg('已有此部门名称,不能重复!', mtInformation,[mbOk], 0);
exit;
end;
//更改部门库中的部门名称
s4:='update bm set bmmc='''+s3+''' where bmbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s4);
ParamByname('p1').Asstring:=trim(s2);
prepare;
ExecSQL;
end;
MessageDlg('更改完毕!', mtInformation,[mbOk], 0);
dm.query10.close;
dm.query10.open;
dm.query12.close;
dm.query12.Open;
end;
procedure Tfixfm.BitBtn11Click(Sender: TObject);
var s,s1,s2,s3,s4,s5,s6:string;
begin
s1:=dm.query12.FieldValues['bmmc'];
s2:=dm.query12.FieldValues['bmbh'];
s3:=dm.query10.FieldValues['bmbh'];
s5:=dm.query10.FieldValues['bmmc'];
if (s1='') or (s5='') then exit;
s6:='把'+s5+'所有员工合并到'+s1+',请确认!';
if MessageDlg(s6, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//更改所有员工的部门名称和部门编号
s:='update lkyg set bmbh='''+s2+''' where bmbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=s3;
prepare;
ExecSQL;
end;
//更改发放记录中所有员工的部门编号
s4:='update ffjl set bmbh='''+s2+''' where bmbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s4);
ParamByname('p1').Asstring:=s3;
prepare;
ExecSQL;
end;
MessageDlg('合并完毕!', mtInformation,[mbOk], 0);
end;
end;
procedure Tfixfm.TabSheet3Show(Sender: TObject);
var yy,mm,dd:word;
s:string;
begin
decodedate(Date,yy,mm,dd);
s:=inttostr(yy);
if (mm>=1) and (mm<=6) then edit31.Text :=s+'-1-1';
if (mm>=7) and (mm<=12) then edit31.Text :=s+'-7-1';
dm.query13.open;
end;
procedure Tfixfm.DBGrid11CellClick(Column: TColumn);
var
s1:string;
begin
s1:=dm.query13.FieldValues['bmbh'];
with dm.Query14 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg where bmbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
end;
procedure Tfixfm.DBGrid12CellClick(Column: TColumn);
var
s1:string;
begin
if dm.query14.RecordCount =0 then exit;
s1:=dm.query14.FieldValues['ygbh'];
with dm.Query15 do
begin
close;
SQL.clear;
SQL.add('select * from ffjl where ygbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
with dm.Query16 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg where ygbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
end;
procedure Tfixfm.Edit23Change(Sender: TObject);
var
s,s1:string;
begin
s:=trim(edit23.text)+'*';
with dm.Query14 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg where xmdm like :p1');
ParamByname('p1').Asstring:=s;
prepare;
open;
end;
if dm.query14.RecordCount =1 then
begin
s1:=dm.query14.FieldValues['ygbh'];
with dm.Query15 do
begin
close;
SQL.clear;
SQL.add('select * from ffjl where ygbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
with dm.Query16 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg where ygbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
end;
end;
procedure Tfixfm.BitBtn12Click(Sender: TObject);
var s,s1,s2,s3:string;
begin
s1:=trim(edit26.text);
s2:=trim(edit24.text);
if (s1='') or (s2='') then exit;
//s:='update lkyg set gzmc='''+s1+''' where gzbh=:p1';
//更改工种库中的工种名称
s3:='update gz set gzmc='''+s1+''' where gzbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s3);
ParamByname('p1').Asstring:=s2;
prepare;
ExecSQL;
end;
dm.query17.close;
dm.query17.open;
MessageDlg('更改完毕!', mtInformation,[mbOk], 0);
end;
procedure Tfixfm.BitBtn13Click(Sender: TObject);
var s,s1,s2:string;
begin
if trim(edit27.text)='' then exit;
if MessageDlg('删除此工种及员工和发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除所有此工种的员工
s1:=trim(edit27.text);
s:='delete from lkyg where gzbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
s2:='delete from gz where gzbh=:p1';
//删除工种库中的此工种
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s2);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
//
s2:='delete from gzlb where gzbh=:p1';
//删除工种劳保库中的此工种劳保
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s2);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
s2:='delete from ffjl where gzbh=:p1';
//删除发放记录
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s2);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
//
dm.query17.close;
dm.query17.open;
MessageDlg('删除完毕!', mtInformation,[mbOk], 0);
end;
end;
procedure Tfixfm.BitBtn14Click(Sender: TObject);
var s,s1,s2,s3:string;
begin
//更改所有员工发放记录中的劳保名称
s1:=trim(edit28.text);
s2:=trim(edit29.text);
if (s1='') or (s2='') then exit;
s:='update ffjl set lbmc='''+s2+''' where lbmc=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
//更改工种劳保库中的劳保名称
s3:='update gzlb set lbmc='''+s2+''' where lbmc=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s3);
ParamByname('p1').Asstring:=s1;
prepare;
ExecSQL;
end;
MessageDlg('更改完毕!', mtInformation,[mbOk], 0);
end;
procedure Tfixfm.BitBtn15Click(Sender: TObject);
var
s,s1,s2,s3,s4:string;
begin
s1:=trim(edit25.Text);
s2:=trim(edit30.Text);
s3:=trim(edit32.Text);
s4:=trim(edit10.text);
if (s1='') or (s2='') then exit;
if (s3='') or (s4='') then exit;
//此处要加判断代码:日期是否合法,是否有此工种,否则可能添加新工种
with dm.query8 do
begin
close;
SQL.clear;
SQL.add('select gzbh from gz');
Sql.add(' where gzbh=:p1');
ParamByname('p1').Asstring:=trim(edit25.text);
prepare;
open;
end;
if dm.query8.RecordCount=0 then
begin
MessageDlg('工种还不存在!', mtWarning, [mbOK], 0);
exit;
end;
if isdate(s4)=false then
begin
MessageDlg('日期输入不正确!', mtWarning, [mbOK], 0);
exit;
end;
if is4year(s4)=false then
begin
MessageDlg('年份请输入四位!!', mtWarning, [mbOK], 0);
exit;
end;
//检测是否存在此劳保
with dm.query8 do
begin
close;
SQL.clear;
SQL.add('select lbmc from gzlb where gzbh=:p1 and lbmc=:p2');
ParamByname('p1').Asstring:=s1;
ParamByname('p2').Asstring:=s2;
prepare;
open;
end;
if dm.query8.RecordCount >0 then
begin
MessageDlg('劳保用品已经存在!', mtWarning, [mbOK], 0);
exit;
end;
//在工种劳保库中增加新的劳保及发放周期
s:='insert into gzlb values('''+s1+''','''+s2+''','''+s3+''')';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
//为此工种的员工增加初始发放记录
s:='insert into ffjl select lkyg.bmbh,lkyg.gzbh,lkyg.ygbh,gzlb.lbmc,gzlb.ffzq';
s:=s+' from lkyg,gzlb where lkyg.gzbh=gzlb.gzbh and ';
s:=s+' lbmc='''+s2+'''';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
//修改初始发放日期
s:='update ffjl set ffrq='''+s4+''' where ffrq=#90-1-1#';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
MessageDlg('完毕!', mtInformation,[mbOk], 0);
end;
procedure Tfixfm.DBGrid13CellClick(Column: TColumn);
var s1:string;
begin
s1:=dm.query17.FieldValues['gzbh'];
with dm.Query18 do
begin
close;
SQL.clear;
SQL.add('select * from gzlb where gzbh=:p1');
ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
end;
procedure Tfixfm.Button1Click(Sender: TObject);
var s1,s2,s3:string;
begin
with dm.Query19 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
// ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
s1:=inttostr(dm.query19.RecordCount);
with dm.Query25 do
begin
close;
SQL.clear;
SQL.add('select ygbh from lkyg');
SQL.add(' where xb=''男''');
// ParamByname('p1').Asstring:=s1;
prepare;
open;
end;
s2:=inttostr(dm.Query25.RecordCount);
s3:=inttostr(dm.query19.RecordCount-dm.Query25.RecordCount);
StatusBar1.Panels[1].Text :=s1;
StatusBar1.Panels[3].Text :=s2;
StatusBar1.Panels[5].Text :=s3;
end;
procedure Tfixfm.BitBtn16Click(Sender: TObject);
var s,s1,s2:string;
begin
s1:=trim(edit33.text);
s2:=trim(edit34.text);
if (s1='') or (s2='') then exit;
if MessageDlg('请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
s:='delete from gzlb where gzbh=:p1 and lbmc=:p2';
//删除工种劳保库的此工种对应的劳保
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=s1;
ParamByname('p2').Asstring:=s2;
prepare;
ExecSQL;
end;
//
s:='delete from ffjl where gzbh=:p1 and lbmc=:p2';
//删除发放记录
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=s1;
ParamByname('p2').Asstring:=s2;
prepare;
ExecSQL;
end;
MessageDlg('删除完毕!', mtInformation,[mbOk], 0);
end;
end;
procedure Tfixfm.TabSheet2Show(Sender: TObject);
begin
edit10.Text :=datetostr(date);
dm.query17.close;
dm.query17.open;
dm.query26.Close;
dm.query26.Open;
end;
procedure Tfixfm.BitBtn17Click(Sender: TObject);
var
s1,s2,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,
gg,xm:string;
//s3:Tdatetime;
yy,mm,dd:word;
yy1,mm1,dd1:word;
i,j:integer;
sl:Extended;
begin
//准备工作
s1:=dm.query13.FieldValues['bmbh'];
s2:=dm.query13.FieldValues['bmmc'];
//s3:=strtodate(trim(edit31.text));
s4:=trim(edit31.text);
decodedate(strtodate(trim(edit31.text)),yy,mm,dd);
if not isdate(s4) then
begin
MessageDlg('日期输入错误!', mtWarning, [mbOk], 0);
exit;
end;
if is4year(s4)=false then
begin
MessageDlg('年份请输入4位!', mtWarning, [mbOk], 0);
exit;
end;
//开始进行
dm.table7.Active :=true;
dm.table8.active:=true;
dm.table9.active:=true;
//table9.append;
if dm.table7.RecordCount=0 then exit;
with dm.table7 do
begin
for i:=1 to dm.table7.recordcount do
begin
s5:=FieldValues['ygbh'];
s6:=FieldValues['lbmc'];
if FieldValues['bmbh']=s1 then
begin
decodedate(FieldValues['ffrq'],yy1,mm1,dd1);
sl:=((yy-yy1)*12+mm-mm1) div FieldValues['ffzq'];
if sl>=1 then //开始发放
begin
if dm.table8.findkey([s5]) then
begin
xm:=dm.table8.FieldValues['xm'];
s7:=dm.table8.FieldValues['gzfgg'];
s8:=dm.table8.FieldValues['mygg'];
s9:=dm.table8.FieldValues['cygg'];
s10:=dm.table8.FieldValues['bwx'];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -