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

📄 dygzxxb.pas

📁 人事管理系统的源代码
💻 PAS
字号:
unit Dygzxxb;

interface

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

type
  TDygzxxb_Form = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOTable2: TADOTable;
    Label15: TLabel;
    Label16: TLabel;
    Label23: TLabel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit1: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    ComboBox1: TComboBox;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit2: TEdit;
    Edit19: TEdit;
    GroupBox3: TGroupBox;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    GroupBox4: TGroupBox;
    Label21: TLabel;
    Label22: TLabel;
    Edit17: TEdit;
    Edit18: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    BitBtn2: TBitBtn;
    Edit20: TEdit;
    ADOQuery1: TADOQuery;
    ADOTable3: TADOTable;
    procedure FormActivate(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure ADOTable1AfterScroll(DataSet: TDataSet);
    procedure DBGrid1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure loadfromtable();
    procedure initdbgrid();
  end;

var
  Dygzxxb_Form: TDygzxxb_Form;
  str:variant;
  sql_str1:string;
  sql_str2:string;

implementation

uses Main;

{$R *.dfm}





procedure TDygzxxb_Form.initdbgrid();
begin
    dbgrid1.Columns[0].Width:=80;
    dbgrid1.Columns[1].Width:=90;
    dbgrid1.Columns[2].Width:=90;
    dbgrid1.Columns[3].Width:=80;
    dbgrid1.Columns[4].Width:=100;
    dbgrid1.Columns[5].Width:=100;
    dbgrid1.Columns[6].Width:=100;

    dbgrid1.Columns[7].Width:=100;
    dbgrid1.Columns[8].Width:=100;
    dbgrid1.Columns[9].Width:=100;
    dbgrid1.Columns[10].Width:=80;
    dbgrid1.Columns[11].Width:=80;
    dbgrid1.Columns[12].Width:=80;
    dbgrid1.Columns[13].Width:=80;
    dbgrid1.Columns[14].Width:=80;
    dbgrid1.Columns[15].Width:=80;
    dbgrid1.Columns[16].Width:=80;
    dbgrid1.Columns[17].Width:=80;
    dbgrid1.Columns[18].Width:=160;
    dbgrid1.Columns[19].Width:=80;
end;


procedure TDygzxxb_Form.loadfromtable();
begin
        adoquery1.Close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add(sql_str1);
        adoquery1.Parameters.Clear;
        adoquery1.Parameters.AddParameter;
        adoquery1.Parameters[0].Name:='ZgName';
        adoquery1.Parameters[0].DataType:=ftstring;
        adoquery1.Parameters[0].Direction:=pdinput;
        adoquery1.Parameters[0].Value:=str;
        adoquery1.Active:=true;
        if  adoquery1.Recordset.RecordCount>=1 then
        begin
        edit1.Text:=adoquery1.FieldByName('职工姓名').AsString;
        combobox1.Text:=adoquery1.FieldByName('职工编号').AsString;
        edit3.Text:=adoquery1.FieldByName('性别').AsString;
        edit4.Text:=adoquery1.FieldByName('身份证号').AsString;
        maskedit1.Text:=datetostr(adoquery1.FieldByName('出生年月').AsDateTime);
        maskedit2.Text:=datetostr(adoquery1.FieldByName('参加工作时间').asdatetime);
        edit5.Text:=adoquery1.FieldByName('职务').AsString;
        edit6.Text:=currtostr(adoquery1.FieldByName('基本工资').AsCurrency);
        edit11.Text:=adoquery1.FieldByName('工作部门').AsString;

        adoquery1.Close;

//------------------------------------------------------------------------
//                 查询当月工资表
//------------------------------------------------------------------------
        adoquery1.Close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add(sql_str2);
        adoquery1.Parameters.Clear;
        adoquery1.Parameters.AddParameter;
        adoquery1.Parameters[0].Name:='ZgName';
        adoquery1.Parameters[0].DataType:=ftstring;
        adoquery1.Parameters[0].Direction:=pdinput;
        adoquery1.Parameters[0].Value:=str;
        adoquery1.Active:=true;
        adotable2.Recordset:=adoquery1.Recordset;
        adotable1.Recordset:=adoquery1.Recordset;
        initdbgrid;
        adoquery1.Close;
        edit7.Text:=currtostr(adotable2.FieldByName('浮动工资').AsCurrency);
        edit8.Text:=currtostr(adotable2.FieldByName('津贴').AsCurrency);
        edit9.Text:=currtostr(adotable2.FieldByName('工龄工资').AsCurrency);
        edit2.Text:=currtostr(adotable2.FieldByName('奖金').AsCurrency);
        edit19.Text:=currtostr(adotable2.FieldByName('补贴').AsCurrency);
        edit10.Text:=currtostr(adotable2.FieldByName('其他').AsCurrency);
        edit13.Text:=currtostr(adotable2.FieldByName('保险费').AsCurrency);
        edit14.Text:=currtostr(adotable2.FieldByName('房租').AsCurrency);
        edit15.Text:=currtostr(adotable2.FieldByName('补扣').AsCurrency);
        edit16.Text:=currtostr(adotable2.FieldByName('所得税').AsCurrency);
        edit17.Text:=currtostr(adotable2.FieldByName('工资总额').AsCurrency);
        edit18.Text:=currtostr(adotable2.FieldByName('实发工资').AsCurrency);
        edit20.Text:=floattostr(adotable2.FieldByName('税率').AsFloat);
        edit12.Text:=adotable2.FieldByName('说明').AsString;
        adotable2.Close;
        end
        else
        begin

         combobox1.Text:='';
         edit3.Text:='';
         edit4.Text:='';
         maskedit1.Text:='';
         maskedit2.Text:='';
         edit5.Text:='';
         edit6.Text:='';
         edit11.Text:='';
         edit12.Text:='';
         adoquery1.Close;
         application.MessageBox('该职工的资料不存在!','提示',48);
         end;
end;

procedure TDygzxxb_Form.FormActivate(Sender: TObject);
begin



    ADOConnection1:=MAIN_FORM.ADOConnection1;


    adoquery1.Connection:=ADOConnection1;
    adoquery1.Close;

    dbgrid1.DataSource:=DataSource1;
    DataSource1.DataSet:=adotable1;
    adotable1.Close;
    adotable1.Connection:=ADOConnection1;
    adotable1.TableName:='当月工资表';
    adotable1.Active:=true;
    initdbgrid();
    dbgrid1.ReadOnly:=true;


    adotable2.Close;
    adotable2.Connection:=ADOConnection1;

    adotable3.Connection:=ADOConnection1;
    adotable3.TableName:='当月工资表';
    adotable3.Active:=true;

    combobox1.Items.Clear;
    while adotable3.Eof <> true do
    begin
    combobox1.Items.Add(adotable3.Fieldbyname('职工编号').AsString);
    adotable3.Next;
    end;
    adotable3.Close;
end;

procedure TDygzxxb_Form.ComboBox1Click(Sender: TObject);
begin
if combobox1.Text<>'' then
  begin
      str:=trim(combobox1.Text);
      sql_str1:='select * from 职工信息表'+
                '  where 职工编号=:ZgName order by 职工编号 ';
      sql_str2:='select * from 当月工资表'+
                '  where 职工编号=:ZgName order by 职工编号 ';

      loadfromtable;
  end;

end;

procedure TDygzxxb_Form.BitBtn2Click(Sender: TObject);
begin
   close;
end;

procedure TDygzxxb_Form.Edit1Exit(Sender: TObject);
begin
    str:=trim(edit1.Text);
    sql_str1:='select * from 职工信息表'+
                '  where 职工姓名=:ZgName order by 职工编号 ';
    sql_str2:='select * from 当月工资表'+
                '  where 职工姓名=:ZgName order by 职工编号 ';

    loadfromtable;
end;

procedure TDygzxxb_Form.ADOTable1AfterScroll(DataSet: TDataSet);
begin
     str:=inttostr(adotable1.Fieldbyname('职工编号').AsInteger);
     sql_str1:='select * from 职工信息表'+
                '  where 职工编号=:ZgName order by 职工编号 ';
     sql_str2:='select * from 当月工资表'+
                '  where 职工编号=:ZgName order by 职工编号 ';

    // loadfromtable;
end;

procedure TDygzxxb_Form.DBGrid1DblClick(Sender: TObject);
begin
   str:=inttostr(adotable1.Fieldbyname('职工编号').AsInteger);
     sql_str1:='select * from 职工信息表'+
                '  where 职工编号=:ZgName order by 职工编号 ';
     sql_str2:='select * from 当月工资表'+
                '  where 职工编号=:ZgName order by 职工编号 ';

    loadfromtable;
end;

end.

⌨️ 快捷键说明

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