📄 usalary.pas
字号:
unit Usalary;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, Mask, DBCtrls,
Buttons, ImgList;
type
TfrmSalary = class(TForm)
GroupBox1: TGroupBox;
TreeView1: TTreeView;
Panel1: TPanel;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
Panel2: TPanel;
DBGrid2: TDBGrid;
Label9: TLabel;
Label10: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label28: TLabel;
Label29: TLabel;
GroupBox5: TGroupBox;
Label30: TLabel;
DateTimePicker2: TDateTimePicker;
Label31: TLabel;
Label32: TLabel;
Label34: TLabel;
Label35: TLabel;
Label37: TLabel;
Label38: TLabel;
bbtnSave: TBitBtn;
Splitter1: TSplitter;
HeaderControl1: THeaderControl;
ComboBox1: TComboBox;
Edit9: TEdit;
ImageList1: TImageList;
GroupBox4: TGroupBox;
GroupBox6: TGroupBox;
bbtnNew: TBitBtn;
bbtnModify: TBitBtn;
bbtnCancel: TBitBtn;
bbtnPost: TBitBtn;
Label2: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit13: TEdit;
Label13: TLabel;
Edit17: TEdit;
Label7: TLabel;
Label11: TLabel;
Label12: TLabel;
Label6: TLabel;
Label15: TLabel;
Edit10: TEdit;
Edit14: TEdit;
Edit18: TEdit;
Label14: TLabel;
Label17: TLabel;
Label1: TLabel;
Label16: TLabel;
Edit11: TEdit;
Edit15: TEdit;
Edit19: TEdit;
Memo1: TMemo;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
Edit16: TEdit;
Label8: TLabel;
Label3: TLabel;
Edit12: TEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit6: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1DropDown(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure bbtnModifyClick(Sender: TObject);
procedure bbtnPostClick(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure ComboBox1Change(Sender: TObject);
procedure bbtnCancelClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DateTimePicker2Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bbtnSaveClick(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure bbtnNewClick(Sender: TObject);
procedure ComboBox3DropDown(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSalary: TfrmSalary;
implementation
uses MyData, UdailyCost;
{$R *.dfm}
procedure TfrmSalary.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmSalary.ComboBox1DropDown(Sender: TObject);
begin
combobox1.Items.Clear;
dm.AQEmpname.Close;
dm.AQEmpname.SQL.Clear;
dm.AQEmpname.SQL.Add('select EmpName from Employees');
dm.AQEmpname.Open;
while not dm.AQEmpname.Eof do
begin
combobox1.Items.Add(dm.AQEmpname.FieldValues['Empname']);
dm.AQEmpname.Next;
end;
end;
procedure TfrmSalary.FormCreate(Sender: TObject);
var
node:ttreenode;
begin
treeview1.Items.Clear;
with dm.AQDeptName do
begin
close;
sql.Clear;
sql.Add('select distinct(Department) from Employees');
open;
first;
while not dm.AQDeptName.Eof do
begin
node:=treeview1.Items.AddObject(nil,dm.AQDeptName.FieldValues['Department'],nil);
with dm.AQDeptEmp do
begin
close;
sql.Clear;
sql.Add('select EmpName from Employees where Department='''+dm.AQDeptName.FieldValues['Department']+'''');
open;
First;
while not dm.AQDeptEmp.Eof do
begin
treeview1.Items.AddChildObject(node,FieldValues['EmpName'],nil);
dm.AQDeptEmp.Next;
end;
dm.AQDeptName.Next;
end;
end;
end;
end;
procedure TfrmSalary.TreeView1Click(Sender: TObject);
var
Year, Month, Day: Word;
begin
DecodeDate(datetimepicker1.Date, Year, Month, Day);
if treeview1.selected.level=0 then
begin
with dm.AQSalary do
begin
close;
sql.clear;
sql.add('select * from salary where Department='''+treeview1.selected.text+''' and ');
sql.Add('SalDate='''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.date)+''' and IsSal='''+'否'+'''');
open;
end;
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit13.Text:='';
edit14.Text:='';
edit15.Text:='';
edit16.Text:='';
edit17.Text:='';
edit18.Text:='';
edit19.Text:='';
combobox2.Text:='';
ComboBox3.Text:='';
edit4.Text:='';
Memo1.Text:='';
end;
if Treeview1.Selected.Level=1 then
begin
with dm.AQSalary do
begin
close;
sql.clear;
sql.add('select * from salary where EmpName='''+treeview1.selected.text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
sql.Add(' and SalDate='''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.date)+''' and IsSal='''+'否'+'''');
open;
end;
with dm.AQPayWages do
begin
close;
sql.Clear;
sql.Add('select * from PayOff_View where EmpName='''+TreeView1.Selected.Text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
open;
dm.ATPayWages.Clone(dm.AQPayWages);
end;
//统计个人工资的发放情况
with dm.AQWagesSum do
begin
close;
sql.Clear;
sql.Add('select Count(EmpName) as sumEmpno ,Sum(yifa) as sumsal,Sum(kouchu) as deduct from PayOff_View');
sql.Add(' where Empname='''+treeview1.Selected.Text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
open;
DBEdit5.Text:=inttostr(dm.AQWagesSum.fieldbyname('sumEmpno').AsInteger);
DBEdit6.Text:=floattostr(dm.AQWagesSum.fieldbyname('sumsal').AsFloat);
DBEdit7.Text:=floattostr(dm.AQWagesSum.fieldbyname('deduct').AsFloat);
end;
end;
end;
procedure TfrmSalary.bbtnModifyClick(Sender: TObject);
begin
if (edit12.Text='') or (edit13.Text='') or (edit14.Text='') or (edit15.Text='') or (edit16.Text='')
or (edit17.Text='') or (edit18.Text='') or (edit19.Text='') then
begin
showmessage('请确定需要修改的信息的完整性!');
Exit;
end
else
begin
with dm.AQSalary do
begin
edit;
fieldbyname('Empname').AsString:=edit4.Text;
fieldbyname('EmpNo').AsString:=edit10.Text;
fieldbyname('Department').AsString:=edit11.Text;
fieldbyname('BasicSal').AsFloat:=strtofloat(edit12.Text);
fieldbyname('Business').AsFloat:=strtofloat(edit13.Text);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -