📄 gzadd.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 + -