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