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

📄 u_rytz.pas

📁 人事管理程序源码
💻 PAS
字号:
unit u_rytz;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, Buttons, CheckLst,ADODB;

type
  TForm_rytz = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    tzq_xm: TEdit;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    tzq_bm: TComboBox;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label4: TLabel;
    tzh_bh: TEdit;
    Label5: TLabel;
    tzh_xm: TEdit;
    Label6: TLabel;
    tzh_xb: TEdit;
    Panel3: TPanel;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    tzq_bh: TEdit;
    Panel4: TPanel;
    BitBtn4: TBitBtn;
    Label7: TLabel;
    tzq_dw: TComboBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Panel5: TPanel;
    Label2: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    tzh_dw: TComboBox;
    tzh_bm: TComboBox;
    Panel6: TPanel;
    procedure FillTocomboBox(Sender: TcomboBox;nr_str:string;bz:integer);
    procedure FormShow(Sender: TObject);
    procedure tzq_bmKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
    procedure tzq_bmChange(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tzq_dwChange(Sender: TObject);
    procedure tzh_dwChange(Sender: TObject);
    procedure tzh_bhExit(Sender: TObject);
    procedure tzh_bhEnter(Sender: TObject);
    procedure tzh_bhChange(Sender: TObject);
    procedure tzh_bmChange(Sender: TObject); //给组合框添加内容

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_rytz: TForm_rytz;
  old_bh,new_bh:string;
implementation

uses U_gzda_dm;

{$R *.dfm}
procedure TForm_rytz.FillTocomboBox(Sender: TcomboBox;nr_str:string;bz:integer); //给组合框添加内容
var
  hh:string;
begin
  with gzda_dm.ADODataSet10 do begin
    if active then active:=false;
    commandtext:='select  sj.bh,sj.mc,sj.fzsjxmbh from fzsj sj,fzsjxm xm where (sj.fzsjxmbh=xm.fzsjxmbh) and (xm.mc=:cx_mc) order by sj.bh';
    Parameters.ParamByName('cx_mc').Value:=nr_str;
    open;
    first;
    sender.Items.Clear;
    while not eof do begin
      if bz=1 then
         begin
           if fieldbyname('bh').AsInteger <10 then
              hh:='0'+fieldbyname('bh').AsString+'.'
           else
              hh:=fieldbyname('bh').AsString+'.';
         end
      else
         hh:='';
      sender.Items.Add(hh+fieldbyname('mc').AsString);
      next;
    end;
    sender.ItemIndex:=0;
    close;
  end;
end;

procedure TForm_rytz.FormShow(Sender: TObject);
begin
  with gzda_dm.ADODataSet10 do begin
    if active then active:=false;
    commandtext:='select * from dwbmb order by dwbm';
    open;
    first;
    tzq_dw.Items.Clear;
    tzh_dw.Items.Clear;
    while not eof do begin
      tzq_dw.Items.Add(fieldbyname('dwbm').AsString+'.'+fieldbyname('dwmc').AsString);
      tzh_dw.Items.Add(fieldbyname('dwbm').AsString+'.'+fieldbyname('dwmc').AsString);
      next;
    end;
  end;
end;

procedure TForm_rytz.tzq_bmKeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in [#37..#40]) then key:=#0;
end;

procedure TForm_rytz.BitBtn1Click(Sender: TObject);
begin
  with gzda_dm.ADODataSet10 do begin     //调整原表
    if active then active:=false;
    commandtext:='select * from zgdab where (zgxh like :xh) and (xm like :xm) order by zgxh';
    Parameters.ParamByName('xh').Value:=copy(tzq_dw.Text,1,2)+copy(tzq_bm.Text,1,2)+'%';
    Parameters.ParamByName('xm').Value:=trim(tzq_xm.Text)+'%';
    open;
    first;
    if recordcount=0 then
       begin
         gzda_dm.ADODataSet1.Close;
         bitbtn3.Enabled:=false;
         showmessage('该人员没有检索到!!');
         tzq_xm.SetFocus;
         abort;
       end;
  end;
   with gzda_dm.ADOCommand1 do begin
     commandtext:='delete from ls_tzqb';
     Execute;
   end;
  with gzda_dm.ADODataSet1 do begin  //调整前
    if active then active:=false;
    commandtext:='select * from ls_tzqb';
    open;
  end;
  with gzda_dm.ADODataSet2 do begin    //调整后
    if active then active:=false;
    commandtext:='select * from ls_tzqb';
    open;
  end;
  with gzda_dm.ADODataSet10 do begin
    first;
    while not eof do begin
       gzda_dm.ADODataSet1.AppendRecord([fieldbyname('zgxh').asstring,fieldbyname('xm').asstring,fieldbyname('xb').asstring,fieldbyname('zgxh').asstring]);
       next;
    end;
  end;
  with gzda_dm.ADODataSet1 do begin
    first;
  end;
  bitbtn3.Enabled:=true;
end;

procedure TForm_rytz.tzq_bmChange(Sender: TObject);
begin
  tzh_dw.Enabled:=true;
//  tzh_bm.Enabled:=true;
  tzh_dw.SetFocus;
  with gzda_dm.ADODataSet1 do begin
     if active then active:=false;
     dbgrid1.Refresh;
  end;
  bitbtn1.Enabled:=false;
    tzq_xm.Enabled:=false;
      gzda_dm.ADODataSet1.Close;
       bitbtn3.Enabled:=false;
end;

procedure TForm_rytz.BitBtn2Click(Sender: TObject);
begin
  with gzda_dm.ADODataSet9 do begin   //调整后
    if active then active:=false;
    commandtext:='select * from zgdab where (zgxh like :xh) order by zgxh';
    Parameters.ParamByName('xh').Value:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+'%';
    open;
    first;
  end;
  tzq_xm.Enabled:=true;
  bitbtn1.Enabled:=true;
  tzq_xm.SetFocus;
end;

procedure TForm_rytz.BitBtn3Click(Sender: TObject);
var
  ls_bh,ls_bh_str:string;
begin
  BitBtn2Click(Self);
  with gzda_dm.ADODataSet9 do begin
    if recordcount<>0 then
       begin
         last;
         ls_bh:=inttostr(strtoint(copy(fieldbyname('zgxh').AsString,5,4))+gzda_dm.ADODataSet2.RecordCount+1);
         ls_bh_str:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+copy('0000000',1,4-length(ls_bh))+ls_bh;
       end
    else
      ls_bh_str:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+'0001';
  end;
  tzh_bh.Text:=ls_bh_str;
  with gzda_dm.ADODataSet1 do begin
    tzq_bh.Text:=fieldbyname('tzq_bh').AsString;
    tzh_xm.Text:=fieldbyname('xm').AsString;
    tzh_xb.Text:=fieldbyname('xb').AsString;
  end;
  tzh_bh.Enabled:=true;
  bitbtn5.Enabled:=true;
  dbgrid1.Refresh;
end;

procedure TForm_rytz.BitBtn6Click(Sender: TObject);
begin
  tzq_bh.Text:='';
  tzh_bh.Text:='';
  tzh_xm.Text:='';
  tzh_xb.Text:='';
  groupbox2.Refresh;
end;

procedure TForm_rytz.BitBtn5Click(Sender: TObject);
begin
  if Application.MessageBox('确实要对该人员的所在部门进行调整吗?','提示',MB_YesNO+ MB_DEFBUTTON2) <> IDYes then
     Abort;
  with gzda_dm.ADODataSet10 do begin
    if locate('zgxh',tzq_bh.Text,[]) then
       begin
         edit;
         fieldbyname('zgxh').AsString:=tzh_bh.Text;
         post;
         UpdateBatch(arCurrent);
       end;
  end;
  with gzda_dm.ADODataSet9 do begin   //调整后
    if active then active:=false;
    commandtext:='select * from zgdab where (zgxh like :xh) order by zgxh';
    Parameters.ParamByName('xh').Value:=copy(tzh_bm.Text,1,2)+'%';
    open;
    first;
  end;
  with gzda_dm.ADODataSet1 do begin   //调整后
    if locate('tzq_bh',tzq_bh.Text,[]) then
       begin
         delete;
         dbgrid1.Refresh;
       end;
  end;
  tzh_bh.Enabled:=false;
  bitbtn5.Enabled:=false;
end;

procedure TForm_rytz.BitBtn4Click(Sender: TObject);
begin
  close;
end;

procedure TForm_rytz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  gzda_dm.DataModuleDestroy(self);
end;

procedure TForm_rytz.tzq_dwChange(Sender: TObject);
var
  dwbm:string;
begin
  dwbm:=copy(tzq_dw.Text,1,2);
  with gzda_dm.ADODataSet10 do begin
    if active then active:=false;
    commandtext:='select * from bmbmb where (dwbm=:dwbm) order by dwbm,bmbm';
    Parameters.ParamByName('dwbm').Value:=dwbm;
    open;
    first;
    tzq_bm.Items.Clear;
    while not eof do begin
      tzq_bm.Items.Add(fieldbyname('bmbm').AsString+'.'+fieldbyname('bmmc').AsString);
      next;
    end;
  end;
  bitbtn1.Enabled:=false;
  tzq_xm.Enabled:=false;
  gzda_dm.ADODataSet1.Close;
 tzq_bm.Enabled:=true;
 bitbtn3.Enabled:=false;

 tzq_bm.Refresh;
end;

procedure TForm_rytz.tzh_dwChange(Sender: TObject);
var
  dwbm:string;
begin
  dwbm:=copy(tzh_dw.Text,1,2);
  with gzda_dm.ADODataSet10 do begin
    if active then active:=false;
    commandtext:='select * from bmbmb where (dwbm=:dwbm) order by dwbm,bmbm';
    Parameters.ParamByName('dwbm').Value:=dwbm;
    open;
    first;
    tzh_bm.Items.Clear;
    while not eof do begin
      tzh_bm.Items.Add(fieldbyname('bmbm').AsString+'.'+fieldbyname('bmmc').AsString);
      next;
    end;
  end;
  tzh_bm.Enabled:=true;
  tzh_bm.Refresh;
  bitbtn1.Enabled:=false;
    tzq_xm.Enabled:=false;
      gzda_dm.ADODataSet1.Close;
       bitbtn3.Enabled:=false;
end;

procedure TForm_rytz.tzh_bhExit(Sender: TObject);
begin
  if copy(tzh_bh.Text,1,2)<>copy(tzh_dw.Text,1,2) then
     begin
       showmessage('编号的前2位数必须位'+copy(tzh_dw.Text,1,2)+'!!');
       tzh_bh.SetFocus;
       abort;
     end;
  if copy(tzh_bh.Text,3,2)<>copy(tzh_bm.Text,1,2) then
     begin
       showmessage('编号的3-4位数必须位'+copy(tzh_bm.Text,1,2)+'!!');
       tzh_bh.SetFocus;
       abort;
     end;
  if length(trim(tzh_bh.Text))<>8 then
     begin
       showmessage('编号长度必须为8位!!');
       tzh_bh.SetFocus;
       abort;
     end;

  if old_bh<>new_bh then
     begin
       if gzda_dm.ADODataSet9.Locate('zgxh',new_bh,[]) then
          begin
            showmessage('本编号已存在,请重新编号!!');
            BitBtn3Click(self);
            tzh_bh.SetFocus;
            abort;
          end;
     end;
end;

procedure TForm_rytz.tzh_bhEnter(Sender: TObject);
begin
  old_bh:=tzh_bh.text;
end;

procedure TForm_rytz.tzh_bhChange(Sender: TObject);
begin
  new_bh:=tzh_bh.Text;
end;

procedure TForm_rytz.tzh_bmChange(Sender: TObject);
begin
  bitbtn1.Enabled:=false;
  tzq_xm.Enabled:=false;
    gzda_dm.ADODataSet1.Close;
     bitbtn3.Enabled:=false;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -