⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fix.pas

📁 劳保用品管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
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 + -