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

📄 wageinput.pas

📁 信息管理系统
💻 PAS
字号:
unit wageinput;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DB, ADODB,wageinfo_unit;

type
  Twageinputfrm = class(TForm)
    Label1: TLabel;
    Bevel1: TBevel;
    save_btn: TButton;
    look_btn: TButton;
    modify_btn: TButton;
    delete_btn: TButton;
    cancel_btn: TButton;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    worker_nameed: TEdit;
    Label10: TLabel;
    give_dateed: TEdit;
    Label3: TLabel;
    GroupBox2: TGroupBox;
    Label17: TLabel;
    real_wageed: TEdit;
    allowance1ed: TEdit;
    Label4: TLabel;
    Label11: TLabel;
    base_wageed: TEdit;
    Label12: TLabel;
    allowance2ed: TEdit;
    rewarded: TEdit;
    Label5: TLabel;
    overtime_moneyed: TEdit;
    Label6: TLabel;
    GroupBox3: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    deduct_checked: TEdit;
    medical_moneyed: TEdit;
    unemploy_moneyed: TEdit;
    aged_moneyed: TEdit;
    compo_moneyed: TEdit;
    housing_moneyed: TEdit;
    income_taxed: TEdit;
    Label18: TLabel;
    Label19: TLabel;
    Button1: TButton;
    edit1: TEdit;
    procedure cancel_btnClick(Sender: TObject);
    procedure save_btnClick(Sender: TObject);
    procedure give_dateedExit(Sender: TObject);
    procedure base_wageedExit(Sender: TObject);
    procedure allowance1edExit(Sender: TObject);
    procedure allowance2edExit(Sender: TObject);
    procedure rewardedExit(Sender: TObject);
    procedure aged_moneyedExit(Sender: TObject);
    procedure overtime_moneyedExit(Sender: TObject);
    procedure compo_moneyedExit(Sender: TObject);
    procedure deduct_checkedExit(Sender: TObject);
    procedure housing_moneyedExit(Sender: TObject);
    procedure medical_moneyedExit(Sender: TObject);
    procedure income_taxedExit(Sender: TObject);
    procedure unemploy_moneyedExit(Sender: TObject);
    procedure real_wageedExit(Sender: TObject);
    procedure look_btnClick(Sender: TObject);
    procedure modify_btnClick(Sender: TObject);
    procedure delete_btnClick(Sender: TObject);
    procedure real_wageedClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
     wageinfo:Twageinfo   ;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  wageinputfrm: Twageinputfrm;

implementation

{$R *.dfm}

procedure Twageinputfrm.cancel_btnClick(Sender: TObject);
begin
wageinputfrm.Close;
end;

procedure Twageinputfrm.save_btnClick(Sender: TObject);
var   insertsql:string;
begin
//创建类的实例
wageinfo:=Twageinfo.create ;
//判断必须输入的项是否为空
if (edit1.text ='')  or (give_dateed.Text='') then
begin
showmessage('员工编号和月份编号不能为空!');
exit;
end;
//判断输入的记录是否已经存在
if wageinfo.WageInfoRec(edit1.text,give_dateed.Text)  then
begin
showmessage('该记录已经存在,请重新输入!');
exit;
end;
//赋值插入操作SQL语句
insertsql:='insert into wage_info(worker_id,worker_name,give_date,base_wage,'
+'allowance1,allowance2,reward,aged_money,overtime_money,compo_money,'
+'deduct_check,housing_money,medical_money,income_tax,unemploy_money,'
+'real_wage)values('''+edit1.text+''','''+worker_nameed.Text+''','
+''''+give_dateed.Text+''','''+base_wageed.Text+''','''+allowance1ed.Text+''','
+''''+allowance2ed.Text+''','''+rewarded.Text+''','''+aged_moneyed.Text+''','
+''''+overtime_moneyed.Text+''','''+compo_moneyed.Text+''','''+deduct_checked.Text+''','
+''''+housing_moneyed.Text+''','''+medical_moneyed.Text+''','''+income_taxed.Text+''','
+''''+unemploy_moneyed.Text+''','''+real_wageed.Text+''')';
//执行插入操作过程
wageinfo.RecInsert(insertsql);
showmessage('保存完毕!');
//释放实例
wageinfo.Free;
end;

procedure Twageinputfrm.give_dateedExit(Sender: TObject);
begin
if  length(give_dateed.Text)<>6 then        //检查月份输入是否正确
begin
showmessage('月份编号位数输入有误!');      //出错提示
give_dateed.SetFocus ;
exit;
end;
end;

procedure Twageinputfrm.base_wageedExit(Sender: TObject);
begin
try
  strtofloat(base_wageed.Text);         //工资数据不符合语法
  except
  showmessage('基本工资值输入有误!');
  base_wageed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.allowance1edExit(Sender: TObject);
begin
try
  strtofloat(allowance1ed.Text);
  except
  showmessage('公共补贴值输入有误!');  //公共补贴数据不符合语法
  allowance1ed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.allowance2edExit(Sender: TObject);
begin
try
  strtofloat(allowance2ed.Text);
  except
  showmessage('其他补贴值输入有误!');
  allowance2ed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.rewardedExit(Sender: TObject);
begin
try
  strtofloat(rewarded.Text);
  except
  showmessage('奖金值输入有误!');
  rewarded.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.aged_moneyedExit(Sender: TObject);
begin
try
  strtofloat(aged_moneyed.Text);
  except
  showmessage('养老保险值输入有误!');
  aged_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.overtime_moneyedExit(Sender: TObject);
begin
try
  strtofloat(overtime_moneyed.Text);
  except
  showmessage('加班费值输入有误!');
  overtime_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.compo_moneyedExit(Sender: TObject);
begin
try
  strtofloat(compo_moneyed.Text);
  except
  showmessage('工伤保险值输入有误!');
  compo_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.deduct_checkedExit(Sender: TObject);
begin
try
  strtofloat(deduct_checked.Text);
  except
  showmessage('扣考核值输入有误!');
  deduct_checked.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.housing_moneyedExit(Sender: TObject);
begin
try
  strtofloat(housing_moneyed.Text);
  except
  showmessage('住房基金值输入有误!');
  housing_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.medical_moneyedExit(Sender: TObject);
begin
try
  strtofloat(medical_moneyed.Text);
  except
  showmessage('医疗保险输入有误!');
  medical_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.income_taxedExit(Sender: TObject);
begin
try
  strtofloat(income_taxed.Text);
  except
  showmessage('所得税值输入有误!');
  income_taxed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.unemploy_moneyedExit(Sender: TObject);
begin
try
  strtofloat(unemploy_moneyed.Text);
  except
  showmessage('事业保险值输入有误!');
  unemploy_moneyed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.real_wageedExit(Sender: TObject);
begin
try
  strtofloat(real_wageed.Text);
  except
  showmessage('实际工资值输入有误!');
  real_wageed.SetFocus ;
  exit;
  end;
end;

procedure Twageinputfrm.look_btnClick(Sender: TObject);
var   insertsql:string;
begin
//创建类的实例
wageinfo:=Twageinfo.create ;
//必须输入的查询条件
if (edit1.text='')  or  (give_dateed.Text='')  then
begin
  showmessage('请根据员工编号和月份编号来查找!');
  exit;
end;
//查询记录是否存在
if wageinfo.WageInfoRec(edit1.text,give_dateed.Text)=false  then
begin
showmessage('对不起,该记录不存在!');
exit;
end;
//如果存在的话取出对应的字段值在文本框中显示出来
worker_nameed.Text :=wageinfo.GetWorkerName(edit1.text,give_dateed.Text) ;
base_wageed.Text :=wageinfo.GetBaseWage(edit1.text,give_dateed.Text)  ;
allowance1ed.Text :=wageinfo.GetAllowance1(edit1.text,give_dateed.Text)   ;
allowance2ed.Text :=wageinfo.GetAllowance2(edit1.text,give_dateed.Text)  ;
rewarded.Text :=wageinfo.GetReward(edit1.text,give_dateed.Text)  ;
aged_moneyed.Text :=wageinfo.GetAgedMoney(edit1.text,give_dateed.Text)  ;
overtime_moneyed.Text :=wageinfo.GetOverTimeMoney(edit1.text,give_dateed.Text)  ;
compo_moneyed.Text :=wageinfo.GetCompoMoney(edit1.text,give_dateed.Text)  ;
deduct_checked.Text :=wageinfo.GetDeductCheck(edit1.text,give_dateed.Text);
housing_moneyed.Text :=wageinfo.GetHouseMoney(edit1.text,give_dateed.Text);
medical_moneyed.Text :=wageinfo.GetMedicalMoney(edit1.text,give_dateed.Text)  ;
income_taxed.Text :=wageinfo.GetIncomeTax(edit1.text,give_dateed.Text);
unemploy_moneyed.Text :=wageinfo.GetUnemployMoney (edit1.text,give_dateed.Text);
real_wageed.Text :=wageinfo.GetRealWage(edit1.text,give_dateed.Text) ;

end;

procedure Twageinputfrm.modify_btnClick(Sender: TObject);
var   modsql:string;
begin
//创建类的实例
wageinfo:=Twageinfo.create ;
if application.MessageBox('要修改吗?','提示:',mb_yesno+mb_iconquestion)=idyes then
//判断修改条件是否为空
begin
if (edit1.text='')  or  (give_dateed.Text='')  then
begin
  showmessage('员工编号和月份编号不能为空!');
  exit;
end;
//判断要修改的记录是否存在
if wageinfo.WageInfoRec(edit1.text,give_dateed.Text)=false  then
begin
showmessage('对不起,该记录不存在!');
exit;
end;
//赋值修改语句
modsql:='update wage_info set worker_name='''+worker_nameed.Text+''','
+'base_wage='''+base_wageed.Text+''',allowance1='''+allowance1ed.Text+''','
+'allowance2='''+allowance2ed.Text+''',reward='''+rewarded.Text+''','
+'aged_money='''+aged_moneyed.Text+''',overtime_money='''+overtime_moneyed.Text+''','
+'compo_money='''+compo_moneyed.Text+''',deduct_check='''+deduct_checked.Text+''','
+'housing_money='''+housing_moneyed.Text+''',medical_money='''+medical_moneyed.Text+''','
+'income_tax='''+income_taxed.Text+''',unemploy_money='''+unemploy_moneyed.Text+''','
+'real_wage='''+real_wageed.Text+''' where  worker_id='''+edit1.text+'''  '
+' and give_date='''+give_dateed.Text+'''';
//执行修改操作
wageinfo.RecUpdate(modsql);
showmessage('修改成功!');
end;
//释放实例
wageinfo.Free;
end;

procedure Twageinputfrm.delete_btnClick(Sender: TObject);
begin
if application.MessageBox('要删除吗?','警告:',mb_yesno+mb_iconquestion)=idyes then
begin
//创建类的实例
wageinfo:=Twageinfo.create ;
//判断是否输入删除记录条件
if (edit1.text='')  or  (give_dateed.Text='')  then
begin
  showmessage('请输入要删除记录的员工编号和月份编号!');
  exit;
end;
//查询删除的记录是否存在
if wageinfo.WageInfoRec(edit1.text,give_dateed.Text)=false  then
begin
showmessage('对不起,该记录不存在!');
exit;
end;
//执行删除操作
wageinfo.RecDel(edit1.text,give_dateed.Text);
showmessage('删除成功!');
//清除文本框的内容
edit1.text:='';worker_nameed.Text :='';
give_dateed.Text :='';base_wageed.Text:='';
allowance1ed.Text :=''; allowance2ed.Text :='';
rewarded.Text :='';aged_moneyed.Text :='';
overtime_moneyed.Text :='';compo_moneyed.Text:='';
deduct_checked.Text :='';housing_moneyed.Text :='';
medical_moneyed.Text :='';income_taxed.Text :='';
unemploy_moneyed.Text :='';real_wageed.Text :='';
end;
//释放实例
wageinfo.Free;
end;
procedure Twageinputfrm.real_wageedClick(Sender: TObject);
var
 sum, jbgz,jiangjin,jbf,ggbt,qtbt,kkh,ylbx,gsbx,sybx,zfjj,sds:real;  //设置变量
  begin
if (edit1.text='')  or  (give_dateed.Text='')  then    // 检查司机编号和月份两个字段是否为空
begin
showmessage('请输入司机编号和月份编号!');
exit;
end;
jbgz:=strtofloat(base_wageed.Text) ;        //为各个变量逐个赋值
jiangjin:=strtofloat(rewarded.Text) ;
jbf:=strtofloat(overtime_moneyed.Text) ;
ggbt:=strtofloat(allowance1ed.Text) ;
qtbt:=strtofloat(allowance2ed.Text) ;
kkh:=strtofloat(deduct_checked.Text) ;
ylbx:=strtofloat(aged_moneyed.Text) ;
gsbx:=strtofloat(compo_moneyed.Text) ;
sybx:=strtofloat(unemploy_moneyed.Text) ;
ylbx:=strtofloat(medical_moneyed.Text) ;
zfjj:=strtofloat(housing_moneyed.Text) ;
sds:=strtofloat(income_taxed.Text) ;
sum:=jbgz+jiangjin+jbf+ggbt+qtbt-kkh-ylbx-gsbx-sybx-ylbx-zfjj-sds ;    //变量相加或相减
real_wageed.Text :=floattostr(sum);
end;

procedure Twageinputfrm.Button1Click(Sender: TObject);
begin                                 //清空画面
edit1.text:='';worker_nameed.Text :='';
give_dateed.Text :='';base_wageed.Text:='';
allowance1ed.Text :=''; allowance2ed.Text :='';
rewarded.Text :='';aged_moneyed.Text :='';
overtime_moneyed.Text :='';compo_moneyed.Text:='';
deduct_checked.Text :='';housing_moneyed.Text :='';
medical_moneyed.Text :='';income_taxed.Text :='';
unemploy_moneyed.Text :='';real_wageed.Text :='';
end;

end.

⌨️ 快捷键说明

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