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

📄 u_gzsz.pas

📁 人力资源管理系统自动计算员工工资。自动生成员工工资报表。实现员工岗位调动操作。实现员工离职、复职操作。支持数据的模糊查询机制。运行环境 操作系统:Windows 2000/NT/XP/ME 开发工
💻 PAS
字号:
unit U_gzsz;

interface

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

type
  Tfrm_gzsz = class(TForm)
    Panel1: TPanel;
    DataSource1: TDataSource;
    Panel2: TPanel;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    ComboBox1: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    GroupBox2: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    Label6: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    CheckBox1: TCheckBox;
    BitBtn3: TBitBtn;
    Label9: TLabel;
    Edit7: TEdit;
    BitBtn4: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure editclear;
    procedure CheckBox1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure editvalue;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Edit1Change(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_gzsz: Tfrm_gzsz;

implementation

uses U_data;

{$R *.dfm}

procedure Tfrm_gzsz.FormShow(Sender: TObject);
begin
combobox1.Clear;
combobox2.Clear;
with data1.ADOQYgzsz do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 工资模板');
      open;
   end;
data1.ADOQYgzsz.Active:=true;
if data1.ADOQYgzsz.FieldByName('员工编号').Value<>null then
   begin
   checkbox1.Checked:=false;
   editvalue;
   end
else
   checkbox1.Checked:=true;
with data1.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select distinct bh from 人事表');
      open;
   end;
while not data1.ADOpublic.Eof do
   begin
      combobox1.Items.Add(data1.ADOpublic.FieldByName('bh').Value);
      data1.ADOpublic.Next;
   end;
with data1.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select distinct xm from 人事表');
      open;
   end;
while not data1.ADOpublic.Eof do
   begin
      combobox2.Items.Add(data1.ADOpublic.FieldByName('xm').Value);
      data1.ADOpublic.Next;
   end;

end;

procedure Tfrm_gzsz.editvalue;
begin
combobox1.Text:=data1.ADOQYgzsz.FieldByName('员工编号').Value;
combobox2.Text:=data1.ADOQYgzsz.FieldByName('员工姓名').Value;
edit1.Text:=data1.ADOQYgzsz.FieldByName('基本工资').Value;
edit2.Text:=data1.ADOQYgzsz.FieldByName('全勤奖').Value;
edit3.Text:=data1.ADOQYgzsz.FieldByName('职务津贴').Value;
edit4.Text:=data1.ADOQYgzsz.FieldByName('养老保险').Value;
edit5.Text:=data1.ADOQYgzsz.FieldByName('医疗保险').Value;
edit6.Text:=data1.ADOQYgzsz.FieldByName('失业保险').Value;
edit7.Text:=data1.ADOQYgzsz.FieldByName('扣税级别').Value;
end;

procedure Tfrm_gzsz.editclear;
begin
combobox1.Text:='';
combobox2.Text:='';
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
end;

procedure Tfrm_gzsz.ComboBox1Change(Sender: TObject);
begin
with data1.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 人事表 where bh=:a');
      parameters.ParamByName('a').Value:=combobox1.Text;
      open;
   end;
combobox2.Text:=data1.ADOpublic.FieldByName('xm').Value;
end;

procedure Tfrm_gzsz.ComboBox2Change(Sender: TObject);
begin
with data1.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 人事表 where xm=:b');
      parameters.ParamByName('b').Value:=combobox2.Text;
      open;
   end;
combobox1.Text:=data1.ADOpublic.FieldByName('bh').Value;
end;

procedure Tfrm_gzsz.BitBtn1Click(Sender: TObject);
begin
//if checkbox1.Checked=true then
if (combobox1.Text<>'') and (combobox2.Text<>'') and (edit1.Text<>'') and (edit2.Text<>'') and (edit3.Text<>'') then
   if (edit4.Text<>'0') and (edit5.Text<>'0') and (edit6.Text<>'0') then
   try
   with data1.ADOQYgzsz do
      begin
         close;
         sql.Clear;
         sql.Add('insert 工资模板 values (:a,:b,:c,:d,:e,:f,:g,:h,:i)');
         parameters.ParamByName('a').Value:=combobox1.Text;
         parameters.ParamByName('b').Value:=combobox2.Text;
         parameters.ParamByName('c').Value:=trim(edit1.Text);
         parameters.ParamByName('d').Value:=trim(edit2.Text);
         parameters.ParamByName('e').Value:=trim(edit3.Text);
         parameters.ParamByName('f').Value:=trim(edit4.Text);
         parameters.ParamByName('g').Value:=trim(edit6.Text);
         parameters.ParamByName('h').Value:=trim(edit5.Text);
         parameters.ParamByName('i').Value:=trim(edit7.Text);
         execsql;
      end;
         editclear;
         self.OnShow(sender);
         application.MessageBox('保存成功','提示',64);
   except
      application.MessageBox('保存失败','提示',64);
   end
   else
      application.MessageBox('请设置保险信息!','提示',64)
   else
      application.MessageBox('请详细填写工资信息!','提示',64);
end;

procedure Tfrm_gzsz.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then
   groupbox2.Enabled:=true
else
   groupbox2.Enabled:=false;
end;

procedure Tfrm_gzsz.BitBtn3Click(Sender: TObject);
begin
close;
end;

procedure Tfrm_gzsz.BitBtn2Click(Sender: TObject);
begin
try
with data1.ADOQYgzsz do
   begin
      edit;
      fieldbyname('员工编号').Value:=combobox1.Text;
      fieldbyname('员工姓名').Value:=combobox2.Text;
      fieldbyname('基本工资').Value:=edit1.Text;
      fieldbyname('全勤奖').Value:=trim(edit2.Text);
      fieldbyname('职务津贴').Value:=trim(edit3.Text);
      fieldbyname('养老保险').Value:=trim(edit4.Text);
      fieldbyname('医疗保险').Value:=trim(edit5.Text);
      fieldbyname('失业保险').Value:=trim(edit6.Text);
      fieldbyname('扣税级别').Value:=trim(edit7.Text);
      post;
   end;
      //self.OnShow(sender);
      application.MessageBox('修改成功','提示',64);
except
   application.MessageBox('修改失败','提示',64);
end;
end;

procedure Tfrm_gzsz.DBGrid1CellClick(Column: TColumn);
begin
if dbgrid1.DataSource.DataSet<>nil then
   if dbgrid1.DataSource.DataSet.RecordCount>0 then
   editvalue;
end;

procedure Tfrm_gzsz.Edit1Change(Sender: TObject);
begin
if edit1.Text<>'' then
begin
with data1.ADOQYsl do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 个人所得税税率表');
      open;
   end;
while not data1.ADOQYsl.Eof do
   begin
      if (strtofloat(edit1.Text)>=data1.ADOQYsl.FieldByName('应纳所得税金额下限').Value) and
      (strtofloat(edit1.Text)<data1.ADOQYsl.FieldByName('应纳所得税金额上限').Value) then
         edit7.Text:=data1.ADOQYsl.FieldByName('级别号').Value;
      data1.ADOQYsl.Next;
   end;
end;
end;

procedure Tfrm_gzsz.BitBtn4Click(Sender: TObject);
begin
if messagebox(self.Handle,'真的要删除吗?','提示',mb_yesno+mb_iconquestion)=idyes then
   data1.ADOQYgzsz.Delete;
   editclear;
end;

end.

⌨️ 快捷键说明

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