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

📄 fix.pas

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