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

📄 gzadd.pas

📁 企业工资管理系统的代码实现主要包括五个功能模块在此不一一列举
💻 PAS
字号:
unit gzadd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls, TFlatComboBoxUnit, TFlatEditUnit,
  ExtCtrls, TFlatPanelUnit, DB, ADODB;

type
  TFrmgzadd = class(TForm)
    FlatPanel1: TFlatPanel;
    Label1: TLabel;
    gh: TFlatEdit;
    Label2: TLabel;
    xm: TFlatEdit;
    Label3: TLabel;
    xb: TFlatComboBox;
    Label4: TLabel;
    sfz: TFlatEdit;
    Label5: TLabel;
    ebm: TFlatComboBox;
    Label6: TLabel;
    yhzh: TFlatEdit;
    Label7: TLabel;
    jbgz: TFlatComboBox;
    Label8: TLabel;
    jj: TFlatComboBox;
    Label9: TLabel;
    yk1: TFlatEdit;
    Label10: TLabel;
    yk2: TFlatEdit;
    Label11: TLabel;
    bx: TFlatEdit;
    Label12: TLabel;
    yf: TFlatEdit;
    Label13: TLabel;
    sf: TFlatEdit;
    ffsj: TDateTimePicker;
    Label14: TLabel;
    BitBtn1: TBitBtn;
    Label15: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ADOQuery1: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure sfzKeyPress(Sender: TObject; var Key: Char);
    procedure yhzhKeyPress(Sender: TObject; var Key: Char);
    procedure jbgzExit(Sender: TObject);
    procedure yk2Exit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    tys:integer;
    function getygbmid(const bmname:string):string;
    procedure getbmname;
   // procedure wagestat;//统计,写入数据库;
  public
    { Public declarations }
    property ty:integer read tys write tys;
  end;

var
  Frmgzadd: TFrmgzadd;

implementation

{$R *.dfm}
uses Data;
{procedure Tfrmgzadd.wagestat;
var
  UpdateSql:string;
begin
   //

end;   }
function Tfrmgzadd.getygbmid(const bmname:string):string;
begin
  with dm.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select 部门编码 from 部门 where 部门名称='''+bmname+'''');
      open;
      result:=fieldByName('部门编码').AsString;
      close;
    end;
end;
procedure Tfrmgzadd.getbmname;
begin
  with dm.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select 部门名称 from 部门');
      open;
      first;
      ebm.Items.Clear ;
      while not eof do
        begin
          ebm.Items.Add(fieldbyname('部门名称').asstring) ;
          next;
        end;
       close;
    end;
end;

procedure TFrmgzadd.FormCreate(Sender: TObject);
begin
  getbmname;
 //wagestat;
end;

procedure TFrmgzadd.sfzKeyPress(Sender: TObject; var Key: Char);
begin
  //检查身份证号码
end;

procedure TFrmgzadd.yhzhKeyPress(Sender: TObject; var Key: Char);
begin
  //检查银行帐号
end;

procedure TFrmgzadd.jbgzExit(Sender: TObject);
var
   gzbx:currency;
begin
   gzbx:=(StrToCurr(jbgz.text))*0.1;
   bx.Text:=CurrToStr(gzbx);
end;

procedure TFrmgzadd.yk2Exit(Sender: TObject);
var
  a,b,c,d,e:currency;
begin
  //
  a:=StrToCurr(jbgz.text);
  b:=StrTOCurr(jj.Text);
  C:=StrTOCurr(bx.Text);
  d:=StrToCurr(yk1.Text);
  e:=StrToCurr(yk2.Text);
  yf.Text:=CurrToStr(a+b+c);
  sf.Text:=CurrtoStr(a+b+c-d-e);
end;

procedure TFrmgzadd.BitBtn1Click(Sender: TObject);
var
  sql:string;
  date:string;
begin
  //
  if trim(gh.Text)='' then
 begin
  gh.SetFocus;
  application.MessageBox('请输入部门编码','系统提示',64);
  modalresult:=mrnone;
  exit;
 end;
  if trim(xm.Text)='' then
 begin
  xm.SetFocus;
  application.MessageBox('请输入员工姓名','系统提示',64);
  modalresult:=mrnone;
  exit;
 end;
 if trim(sfz.Text)='' then
 begin
  sfz.SetFocus;
  application.MessageBox('请输入部门编码','系统提示',64);
  modalresult:=mrnone;
  exit;
 end;
  if trim(yhzh.Text)='' then
 begin
   yhzh.SetFocus;
  application.MessageBox('请输入银行帐号!','系统提示',64);
  modalresult:=mrnone;
  exit;
 end;
   date:=DateTostr(ffsj.dateTime);
 if ty=1 then
   begin
     sql:='insert into 工资(工号,姓名,部门编码,性别,身份证号码,银行帐号,基本工资,奖金,应扣1,应扣2,保险,应发工资,实发工资,发放时间) values ('''
             +trim(gh.Text)+''','''+trim(xm.Text)+''','''+getygbmid(ebm.Text)+''','''
             +trim(xb.Text)+''','''+trim(sfz.Text)+''','''
             +trim(yhzh.Text)+''','+trim(jbgz.Text)+','+trim(jj.Text)+','+trim(yk1.Text)+','+trim(yk2.Text)+','+trim(bx.Text)+','+yf.Text+','+sf.Text+','''+date+''')';
    dm.ADOConnection1.Execute(sql);
    application.MessageBox('添加成功','系统提示',64);

   end
   else
   begin
     Button1.Visible:=false;
     button2.Visible:=false;
     button3.Visible:=false;
     sql:='update 工资 set 姓名='''+trim(xm.Text)+''',部门编码='''+getygbmid(ebm.Text)+''',';
     sql:=sql+'性别='''+trim(xb.Text)+''',身份证号码='''+trim(sfz.Text)+''',银行帐号='''+trim(yhzh.Text)+''',';
     sql:=sql+'基本工资='+trim(jbgz.Text)+',奖金='+trim(jj.Text)+',应扣1='+trim(yk1.Text)+',应扣2='+trim(yk2.Text)+',保险='+trim(bx.Text)+',应发工资='+yf.Text+',';
     sql:=sql+'发放时间='''+date+''' where 工号='''+trim(gh.Text)+'''';
      dm.ADOConnection1.Execute(sql);
      application.MessageBox('修改成功 ','系统提示',64);
   end;
   self.ADOQuery1.DataSource.DataSet.Active:=false;
   self.ADOQuery1.DataSource.DataSet.Active:=true;
end;

procedure TFrmgzadd.Button1Click(Sender: TObject);
begin
  //检测工号
  if not dm.ADOConnection1.Execute('select 工号 from 工资 where 工号='''
  +trim(gh.Text)+'''').EOF then
    begin
      gh.SetFocus;
      application.MessageBox('已经有此工号','',64);
      modalResult:=mrNone;
      exit;
    end;
end;

procedure TFrmgzadd.Button2Click(Sender: TObject);
begin
  //检测身份证
   if not dm.ADOConnection1.Execute('select 身份证号码 from 工资 where 身份证号码 ='''
  +trim(sfz.Text)+'''').EOF then
    begin
      sfz.SetFocus;
      application.MessageBox('已经有此身份证号码','',64);
      modalResult:=mrNone;
      exit;
    end;
end;

procedure TFrmgzadd.Button3Click(Sender: TObject);
begin
  //检测银行帐号
   if not dm.ADOConnection1.Execute('select 银行帐号 from 工资 where 银行帐号 ='''
  +trim(yhzh.Text)+'''').EOF then
    begin
      yhzh.SetFocus;
      application.MessageBox('已经有此身份证号码','',64);
      modalResult:=mrNone;
      exit;
    end;
end;

procedure TFrmgzadd.FormShow(Sender: TObject);
begin
   gh.Enabled:=tys=1;
 if tys<>1 then //读取
 begin
  adoquery1.Connection:=dm.ADOConnection1;
  adoquery1.SQL.Text:='SELECT 工资.工号 as 工号,工资.姓名 as 姓名,部门.部门名称 as 部门名称,工资.性别 as 性别,';
  adoquery1.SQL.Text:=adoquery1.SQL.Text+'工资.身份证号码 as 身份证号码,工资.银行帐号,工资.基本工资 as 基本工资,工资.奖金 as  奖金,工资.应扣1 as 应扣1 ,';
  adoquery1.SQL.Text:=adoquery1.SQL.Text+'工资.应扣2 as 应扣2 ,工资.保险 as 保险,工资.应发工资 as 应发工资,';
  adoquery1.SQL.Text:=adoquery1.SQL.Text+'工资.实发工资 as 实发工资,工资.发放时间 as 发放时间 FROM 工资 INNER JOIN 部门 ON 工资.部门编码 = 部门.部门编码 where 工资.工号='''+trim(gh.Text)+'''';
  adoquery1.Open;
  xm.Text:=adoquery1.fieldByname('姓名').AsString;
  ebm.Text:=adoquery1.fieldByname('部门名称').AsString;
  xb.Text:=adoquery1.fieldByName('性别').AsString;
  sfz.Text:=adoquery1.fieldBYname('身份证号码').AsString;
  yhzh.Text:=adoquery1.fieldBYname('银行帐号').AsString;
  jbgz.Text:=adoquery1.fieldByName('基本工资').AsString;
  jj.Text:=adoquery1.fieldByName('奖金').AsString;
  yk1.Text:=adoquery1.fieldByName('应扣1').AsString;
  yk2.Text:=adoquery1.fieldByName('应扣2').AsString;
   bx.Text:=adoquery1.fieldByName('保险').AsString;
   yf.Text:=adoquery1.fieldByName('应发工资').AsString;
   sf.Text:=adoquery1.fieldByName('实发工资').AsString;
   ffsj.Date:=adoquery1.fieldByName('发放时间').asdatetime;
   adoquery1.Close;
   adoquery1.free;
 end;
end;

end.

⌨️ 快捷键说明

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