📄 usalary.pas
字号:
fieldbyname('BusinessAdd').AsFloat:=strtofloat(edit14.Text);
fieldbyname('Absenteeism').AsInteger:=strtoint(edit16.Text);
fieldbyname('AbsCurr').AsFloat:=strtofloat(edit17.Text);
fieldbyname('late').AsInteger:=strtoint(edit18.Text);
fieldbyname('LateCurr').AsFloat:=strtofloat(edit19.Text);
fieldbyname('prize').AsFloat:=strtofloat(edit15.Text);
fieldbyname('SalDate').AsString:=formatdatetime('yyyy-mm-dd',DateTimePicker1.Date);
fieldbyname('IsSal').AsString:=combobox2.Text;
fieldbyname('operator').AsString:=ComboBox3.Text;
fieldbyname('Memo').AsString:=Memo1.Text;
end;
bbtnpost.Enabled:=true;
end;
end;
procedure TfrmSalary.bbtnPostClick(Sender: TObject);
begin
try
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);
fieldbyname('BusinessAdd').AsFloat:=strtofloat(edit14.Text);
fieldbyname('Absenteeism').AsInteger:=strtoint(edit16.Text);
fieldbyname('AbsCurr').AsFloat:=strtofloat(edit17.Text);
fieldbyname('late').AsInteger:=strtoint(edit18.Text);
fieldbyname('LateCurr').AsFloat:=strtofloat(edit19.Text);
fieldbyname('prize').AsFloat:=strtofloat(edit15.Text);
fieldbyname('SalDate').AsString:=formatdatetime('yyyy-mm-dd',DateTimePicker1.Date);
fieldbyname('IsSal').AsString:=combobox2.Text;
fieldbyname('operator').AsString:=ComboBox3.Text;
fieldbyname('Memo').AsString:=Memo1.Text;
Post;
end;
except
showmessage('保存失败,请检查所填信息是否正确');
exit;
dm.AQSalary.Cancel;
end;
showmessage('保存成功');
bbtnpost.Enabled:=false;
end;
procedure TfrmSalary.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
i:integer;
begin
for i:=0 to treeview1.Items.Count-1 do
begin
if treeview1.Items[i].HasChildren then
begin
treeview1.Items[i].ImageIndex:=1;
treeview1.Items[i].SelectedIndex:=1;
end
else
treeview1.Items[i].ImageIndex:=0;
end;
end;
procedure TfrmSalary.ComboBox1Change(Sender: TObject);
var
Tempstr:string;
i:integer;
begin
TempStr:=Trim(ComboBox1.Text);
if TreeView1.Items.GetFirstNode.Text=TempStr then
begin
TreeView1.Items.GetFirstNode.Selected:=True;
end
else
begin
for i:=1 to TreeView1.Items.Count do
begin
if TreeView1.Items.Item[i].Text=TempStr then
begin
TreeView1.SetFocus;
TreeView1.Items.Item[i].Selected:=True;
treeview1.Items.Item[i].Expanded:=true;
Break;
end
else
Continue;
end;
end;
end;
procedure TfrmSalary.bbtnCancelClick(Sender: TObject);
begin
//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;
procedure TfrmSalary.DBGrid1CellClick(Column: TColumn);
begin
with dm.AQSalary do
begin
edit4.Text:=fieldbyname('Empname').AsString;
edit10.Text:=fieldbyname('EmpNo').AsString;
edit11.Text:=fieldbyname('Department').AsString;
edit12.Text:=fieldbyname('BasicSal').AsString;
edit13.Text:=fieldbyname('Business').AsString;
edit14.Text:=fieldbyname('BusinessAdd').AsString;
edit16.Text:=fieldbyname('Absenteeism').AsString;
edit17.Text:=fieldbyname('AbsCurr').AsString;
edit18.Text:=fieldbyname('late').AsString;
edit19.Text:=fieldbyname('LateCurr').AsString;
edit15.Text:=fieldbyname('prize').AsString;
DateTimePicker1.Date :=fieldbyname('SalDate').AsDateTime;
combobox2.Text:=fieldbyname('IsSal').AsString;
ComboBox3.Text:=fieldbyname('operator').AsString;
Memo1.Text:=fieldbyname('Memo').AsString;
end;
end;
procedure TfrmSalary.DateTimePicker2Change(Sender: TObject);
begin
bbtnsave.Enabled:=true;
with dm.AQEmpname do
begin
close;
sql.Clear;
sql.Add('select Count(EmpNO) as EmpCount from Employees ');
// sql.Add('select count(Empno) as EmpCount from salary where Issal=''否'' and SalDate='''+formatdatetime('yyyy-mm-dd ',datetimepicker2.Date)+'''');
open;
Edit1.Text:=floatToStr(dm.AQEmpname.fieldbyname('EmpCount').AsFloat);
end;
with dm.AQSumSal do
begin
close;
sql.Clear;
sql.Add('select count(Empno) as Empnum,(sum(Business*BusinessAdd)+sum(BasicSal)+sum(prize)- (sum(latecurr)');
sql.Add('+sum(abscurr))) as SumSal,(sum(latecurr)+sum(abscurr)) as SalKou from salary');
sql.Add('where Issal=''是'' and SalDate='''+formatdatetime('yyyy-mm-dd ',datetimepicker2.Date)+'''');
open;
Edit2.Text:=floatToStr(dm.AQSumSal.fieldbyname('EmpNum').AsFloat);
Edit3.Text:=IntToStr(StrToInt(Edit1.Text)-StrToInt(Edit2.Text));
Edit5.Text:=floatToStr(dm.AQSumSal.fieldbyname('Sumsal').AsCurrency);
Edit6.Text:=floatToStr(dm.AQSumSal.fieldbyname('Salkou').AsFloat);
end;
end;
procedure TfrmSalary.FormShow(Sender: TObject);
var
Year, Month, Day: Word;
begin
datetimepicker1.Date:=now;
datetimepicker2.Date:=now;
DecodeDate(Now, Year, Month, Day);
with dm.AQSalary do
begin
close;
sql.Clear;
sql.Text :='select * from salary where Month(salDate)='''+inttostr(Month)+'''';
open;
end;
end;
procedure TfrmSalary.bbtnSaveClick(Sender: TObject);
begin
if ComboBox3.Text='' then
begin
ShowMessage('录入人员不能为空!');
Exit;
end;
with dm.AQsal do
begin
close;
sql.Clear;
sql.Add('insert into dailycost(DCNO,DCDriection,DCDate,DCQuatity ,DCObject,DCOperator)');
sql.Add('values (');
//sql.Add(''''+frmDailyCost.AutoNum+''',''工资发放'','''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+''','''+Trim(Edit5.Text)+''',''财务部'','''+Trim(ComboBox3.Text)+'''');
sql.Add(':DCNO,:DCDriection,:DCDate,:DCQuatity,:DCObject,:DCOperator');
sql.Add(')');
Parameters.ParamByName('DCNO').Value:=frmDailyCost.AutoNum;
Parameters.ParamByName('DCDriection').Value:='工资发放';
parameters.ParamByName('DCDate').Value:=formatdatetime('yyyy-mm-dd ',datetimepicker2.Date);
parameters.ParamByName('DCQuatity').Value:=Trim(Edit5.Text);
parameters.ParamByName('DCObject').Value:='财务部';
parameters.ParamByName('DCOperator').Value:=Trim(ComboBox3.Text);
ExecSQL;
bbtnSave.Enabled:=false;
showmessage('该记录成功保存!');
end;
end;
procedure TfrmSalary.DBGrid2DblClick(Sender: TObject);
begin
with dm.AQWagesSum do
begin
close;
sql.Clear;
sql.Add('select count(EmpNo) as sumEmpno,(sum(Business*BusinessAdd)+sum(BasicSal)+sum(prize)- ');
sql.Add('(sum(latecurr)+sum(abscurr))) as sumsal,(sum(latecurr)+sum(abscurr)) as');
sql.Add('KouChu from salary where Issal=''是'' and Empname='''+Dbgrid2.Fields[1].AsString+'''');
open;
DBEdit5.Text:=inttostr(dm.AQWagesSum.fieldbyname('sumEmpno').AsInteger);
DBEdit6.Text:=floattostr(dm.AQWagesSum.fieldbyname('sumsal').AsFloat);
DBEdit7.Text:=floattostr(dm.AQWagesSum.fieldbyname('KouChu').AsFloat);
end;
end;
procedure TfrmSalary.bbtnNewClick(Sender: TObject);
begin
with dm.AQPublic do
begin
close;
sql.Clear;
sql.Add('Insert Into Salary(EmpNO,EmpName,Department,SalDate,IsSal)');
sql.Add('select EmpNO,EmpName,Department,'''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date)+''','''+'否'+''' from Employees');
ExecSQL;
ShowMessage('本月所有员工工资信息已录入!');
end;
end;
procedure TfrmSalary.ComboBox3DropDown(Sender: TObject);
begin
ComboBox3.Items.Clear;
with dm.AQDeptEmp do
begin
close;
sql.Clear;
sql.Add('select * from Employees where Department ='''+'财务部'+'''');
open;
while not eof do
begin
ComboBox3.Items.Add(dm.AQDeptEmp.FieldValues['EmpName']);
dm.AQDeptEmp.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -