📄 fix.pas
字号:
begin
if key=#13 then
begin
edit6.text:=combobox6.text;
edit7.text:=combobox6.text;
edit8.text:=combobox6.text;
combobox7.setfocus;
combobox7.DroppedDown:=true;
end;
end;
procedure Tfixfm.ComboBox7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox8.setfocus;
combobox8.DroppedDown:=true;
end;
end;
procedure Tfixfm.ComboBox8KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then bitbtn1.SetFocus;
end;
procedure Tfixfm.BitBtn1Click(Sender: TObject);
var
i:integer;
yy,mm,dd:word;
ffrq:string;
begin
if (combobox1.text='') or (edit1.text='') or (edit2.text='')
or (edit3.text='') or (edit4.text='') or (edit5.text='')
or (combobox3.text='') or (combobox2.text='') then
begin
MessageDlg('资料输入不全!', mtWarning, [mbOk], 0);
exit;
end;
dm.Table3.active:=true;
with dm.table3 do
begin
append;
FieldValues['bmbh'] := trim(edit1.text);
FieldValues['ygbh'] := trim(edit2.text);
FieldValues['xm'] := trim(edit3.text);
FieldValues['xmdm'] := trim(Edit4.text);
FieldValues['xb'] := trim(combobox2.text);
FieldValues['gzbh'] := trim(edit5.text);
FieldValues['gzfgg'] :=combobox4.text;
FieldValues['mygg'] :=combobox5.text;
FieldValues['bwx'] :=combobox6.text;
FieldValues['bjx'] :=FieldValues['bwx'];
FieldValues['jx'] := FieldValues['bwx'];
FieldValues['jyx'] :=FieldValues['bwx'];
FieldValues['cygg'] :=trim(combobox7.text);
FieldValues['xz'] :=trim(combobox8.text);
Post;
end;
//开始生成发放记录
with dm.Query1 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq from gzlb');
Sql.add(' where gzbh=:p1');
ParamByname('p1').Asstring:=trim(edit5.text);
prepare;
open;
end;
//生成初始发放日期
decodedate(Date,yy,mm,dd);
ffrq:=inttostr(yy)+'-07-01';
//发放记录填写
dm.table4.Open;
with dm.table4 do
begin
for i:= 1 to dm.query1.recordcount do
begin
append;
FieldValues['bmbh'] := trim(edit1.text);
FieldValues['gzbh'] := trim(edit5.text);
FieldValues['ygbh'] := trim(edit2.text);
FieldValues['lbmc'] := dm.query1.FieldValues['lbmc'];
FieldValues['ffzq'] := dm.query1.FieldValues['ffzq'];
FieldValues['ffrq'] := ffrq;
post;
dm.query1.Next;
end;
end;
dm.table4.close;
//将发放记录列出供修改
with dm.Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit2.text);
prepare;
open;
end;
//清理组件
edit2.text:='';
edit3.text:='';
edit4.text:='';
combobox1.SetFocus;
end;
procedure Tfixfm.BitBtn3Click(Sender: TObject);
var
i:integer;
yy,mm,dd:word;
ffrq,s,s1:string;
begin
if (edit9.text='') or (edit11.text='') then
begin
MessageDlg('员工编号、新工种编号缺一不可!', mtWarning, [mbOK], 0);
exit;
end;
//判断员工是否存在或对应的工种是否存在
with dm.Query1 do
begin
close;
SQL.clear;
SQL.add('select lkyg.ygbh,gz.gzbh from lkyg,gz');
Sql.add(' where lkyg.ygbh=:p1 and gz.gzbh=:p2');
ParamByname('p1').Asstring:=trim(edit9.text);
ParamByname('p2').Asstring:=trim(edit11.text);
prepare;
open;
end;
if dm.query1.RecordCount =0 then
begin
MessageDlg('员工不存在或者工种不存在!', mtWarning, [mbOK], 0);
exit;
end;
//删除原来记录
with dm.Query1 do
begin
close;
SQL.clear;
SQL.add('delete from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
ExecSQL;
end;
//开始生成更新发放记录
with dm.Query1 do
begin
close;
SQL.clear;
SQL.add('select gzlb.lbmc,ffzq,lkyg.bmbh from gzlb,lkyg');
Sql.add(' where gzlb.gzbh=:p1 and ygbh=:p2');
ParamByname('p1').Asstring:=trim(edit11.text);
ParamByname('p2').Asstring:=trim(edit9.text);
prepare;
open;
end;
//生成初始发放日期
decodedate(Date,yy,mm,dd);
ffrq:=inttostr(yy)+'-07-01';
//发放记录填写
dm.table4.Open;
with dm.table4 do
begin
for i:= 1 to dm.query1.recordcount do
begin
append;
FieldValues['bmbh'] := dm.query1.FieldValues['bmbh'];
FieldValues['ygbh'] := trim(edit9.text);
FieldValues['gzbh'] := trim(edit11.text);
FieldValues['lbmc'] := dm.query1.FieldValues['lbmc'];
FieldValues['ffzq'] := dm.query1.FieldValues['ffzq'];
FieldValues['ffrq'] := ffrq;
post;
dm.query1.Next;
end;
end;
dm.table4.close;
//将发放记录列出供修改
with dm.Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
open;
end;
//更改主库中工种代码
s1:=trim(edit11.Text );
s:='update lkyg set gzbh='''+s1+''' where ygbh=:p1';
with dm.Query1 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
ExecSQL;
end;
end;
procedure Tfixfm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then edit2.SetFocus;
end;
procedure Tfixfm.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox4.setfocus;
combobox4.DroppedDown:=true;
end;
end;
procedure Tfixfm.BitBtn2Click(Sender: TObject);
begin
if (edit9.text='') then
begin
MessageDlg('员工编号必须输入!', mtWarning, [mbOK], 0);
exit;
end;
with dm.Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
open;
end;
end;
procedure Tfixfm.Edit14Change(Sender: TObject);
var
s:string;
begin
s:=trim(edit14.text)+'*';
with dm.query3 do
begin
close;
SQL.clear;
SQL.add('select xm,ygbh,bmbh from lkyg');
Sql.add(' where xmdm like :xt');
ParamByname('xt').Asstring:=s;
prepare;
open;
end;
if dm.query3.RecordCount =1 then
begin
edit12.text:=dm.query3.FieldValues['ygbh'];
// edit18.text:=edit12.text;
edit20.text:=edit12.text;
edit13.text:=dm.query3.FieldValues['xm'];
// edit19.text:=edit13.text;
//列出员工资料
dm.query6.Open;
dm.query7.open;
end;
end;
procedure Tfixfm.DBGrid6CellClick(Column: TColumn);
begin
edit13.text:=dm.query3.FieldValues['xm'];
//edit19.text:=edit13.text;
edit12.text:=dm.query3.FieldValues['ygbh'];
//edit18.text:=edit12.text;
edit20.text:=edit12.text;
with dm.query6 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=dm.query3.FieldValues['ygbh'];
prepare;
open;
end;
with dm.query7 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=dm.query3.FieldValues['ygbh'];
prepare;
open;
end;
end;
procedure Tfixfm.TabSheet6Show(Sender: TObject);
begin
dm.query5.Open;
end;
procedure Tfixfm.BitBtn5Click(Sender: TObject);
begin
if trim(edit12.text)='' then exit;
if MessageDlg('删除此员工及其发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除员工
with dm.Query9 do
begin
close;
SQL.clear;
SQL.add('delete from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
//删除发放记录
with dm.Query9 do
begin
close;
SQL.clear;
SQL.add('delete from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
MessageDlg('已经删除!', mtWarning, [mbOk], 0);
end;
dm.query7.close;
dm.query7.Open;
dm.query6.close;
dm.query6.Open;
end;
procedure Tfixfm.BitBtn4Click(Sender: TObject);
var s,s1,s2:string;
begin
s1:=dm.query5.FieldValues['bmmc'];
s2:=dm.query5.FieldValues['bmbh'];
s:='update lkyg set bmbh='''+s2+''' where ygbh=:p1';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
dm.query7.close;
dm.query7.Open;
MessageDlg('更改部门完毕!', mtInformation,[mbOk], 0);
end;
procedure Tfixfm.BitBtn6Click(Sender: TObject);
begin
with dm.query6 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit20.text);
prepare;
open;
end;
with dm.query7 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit20.text);
prepare;
open;
end;
end;
procedure Tfixfm.BitBtn7Click(Sender: TObject);
var s,s1,s2,s3,s4:string;
begin
s1:=trim(edit17.Text);
s2:=trim(edit18.Text);
s3:=trim(edit19.Text);
s4:=trim(edit38.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 and gzmc=:p2');
ParamByname('p1').Asstring:=s2;
ParamByname('p2').Asstring:=s1;
prepare;
open;
end;
if dm.query8.RecordCount=0 then
begin
//工种还不存在!
s:='insert into gz values('''+s2+''','''+s1+''')';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
end;
//判断劳保用品是否已存在
with dm.query27 do
begin
close;
SQL.clear;
SQL.add('select lbmc from gzlb where gzbh=:p1 and lbmc=:p2');
ParamByname('p1').Asstring:=s2;
ParamByname('p2').Asstring:=s3;
prepare;
open;
end;
if dm.query27.RecordCount >0 then
begin
MessageDlg('劳保用品已经存在!', mtWarning, [mbOK], 0);
exit;
end;
{with dm.query8 do
begin
close;
SQL.clear;
SQL.add('select gzbh from gz');
Sql.add(' where gzbh=:p1');
ParamByname('p1').Asstring:=s2;
prepare;
open;
end; }
//if dm.query8.RecordCount>0 then
// begin
// 工种存在!,劳保不存在
s:='insert into gzlb values('''+s2+''','''+s3+''','''+s4+''')';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
MessageDlg('添加完毕,可以继续添加!', mtInformation,[mbOk], 0);
dm.query17.close;
dm.query17.open;
dm.query26.close;
dm.query26.Open;
end;
procedure Tfixfm.BitBtn8Click(Sender: TObject);
var s,s1,s2:string;
begin
s1:=trim(edit15.text);
s2:=trim(edit16.text);
if (s1='') or (s2='') then exit;
with dm.query8 do
begin
close;
SQL.clear;
SQL.add('select bmmc from bm where bmmc=:p1 or bmbh=:p2');
ParamByname('p1').Asstring:=trim(edit16.text);
ParamByname('p2').Asstring:=trim(edit15.text);
prepare;
open;
end;
if dm.query8.RecordCount>0 then
begin
MessageDlg('已有此部门名称或部门编号,不能重复!', mtInformation,[mbOk], 0);
exit;
end;
s:='insert into bm values('''+s1+''','''+s2+''')';
with dm.query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
ExecSQL;
end;
MessageDlg('添加部门完毕!', mtInformation,[mbOk], 0);
dm.query10.close;
dm.query10.open;
dm.query12.close;
dm.query12.Open;
end;
procedure Tfixfm.BitBtn9Click(Sender: TObject);
begin
if trim(edit21.text)='' then exit;
if MessageDlg('删除部门的同时将删除所有本部门员工及其发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
with dm.Query11 do
begin
close;
SQL.clear;
SQL.add('delete from bm');
Sql.add(' where bmbh=:p1');
ParamByname('p1').Asstring:=trim(edit21.text);
prepare;
ExecSQL;
end;
//删除部门下所有员工
with dm.Query11 do
begin
close;
SQL.clear;
SQL.add('delete from lkyg');
Sql.add(' where bmbh=:p1');
ParamByname('p1').Asstring:=trim(edit21.text);
prepare;
ExecSQL;
end;
//删除该部门所有员工的劳保发放记录
with dm.Query11 do
begin
close;
SQL.clear;
SQL.add('delete from ffjl');
Sql.add(' where bmbh=:p1');
ParamByname('p1').Asstring:=trim(edit21.text);
prepare;
ExecSQL;
end;
MessageDlg('删除完毕!', mtInformation,[mbOk], 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -