5,499
社区成员
发帖
与我相关
我的任务
分享
implementation
{$R *.dfm}
procedure TForm7.bsSkinButton1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.clear;
adoquery1.SQL.Add('select * from 工资管理 where (工号 like '+QuotedStr('%'+edit2.text+'%')+' or 姓名 like '+QuotedStr('%'+edit2.text+'%')+' or 部门 like'+QuotedStr('%'+edit2.text+'%')+') and 月份='''+formatdatetime('yyyy-mm',datetimepicker1.date)+'''');
//adoquery1.SQL.Add('select * from 工资管理,员工基本信息表 where 工资管理.工号=员工基本信息表.工号 and (工资管理.工号 like '+QuotedStr('%'+edit2.text+'%')+' or 工资管理.姓名 like '+QuotedStr('%'+edit2.text+'%')+' or 工资管理.部门 like'+QuotedStr('%'+edit2.text+'%')+' or 员工基本信息表.性别 like '+QuotedStr('%'+edit2.text+'%')+') and 工资管理.月份='''+formatdatetime('yyyy-mm',datetimepicker1.date)+'''');
adoquery1.open;
if adoquery1.Recordset.RecordCount=0 then
begin
edit1.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
end;
end;
procedure TForm7.bsSkinButton2Click(Sender: TObject);
begin
RvProject3.Execute;
end;
procedure TForm7.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
bsSkinStatusPanel1.Caption:='共'+inttostr(adoquery1.RecordCount)+'条记录'
end;
procedure TForm7.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
edit1.Text:=FloatToStr(Round((StrToFloat(TRim(dbedit5.Text))/sumday )*StrToFloat(trim(dbedit4.Text))));
edit4.Text:=FloatToStr(StrToFloat(Trim(edit1.Text))+StrToFloat(Trim(DBEdit6.Text))+StrToFloat(Trim(DBEdit7.Text))+ StrToFloat(Trim(DBEdit8.Text))+StrToFloat(Trim(DBEdit9.Text))+StrToFloat(Trim(DBEdit10.Text))+StrToFloat(Trim(DBEdit11.Text))+StrToFloat(Trim(DBEdit12.Text)));
edit5.Text:=FloatToStr(StrToFloat(Trim(DBEdit13.Text))+StrToFloat(Trim(DBEdit14.Text))+StrToFloat(Trim(DBEdit15.Text))+StrToFloat(Trim(DBEdit16.Text)));
edit6.Text:=FloatToStr(StrToFloat(Trim(edit4.Text))-StrToFloat(Trim(edit5.Text)));
end;
procedure TForm7.FormShow(Sender: TObject);
begin
adoquery1.Close;
adoquery1.Active:=false;
adoquery1.Open;
adoquery1.Active:=true;
end;
procedure TForm7.bsSkinDBGrid1TitleClick(Column: TbsColumn);
var i : integer;
begin
for i:= 1 to bsskinDBGrid1.Columns.Count do
begin
bsskinDBGrid1.Columns[i-1].Title.Font.Color := clGreen;
bsskinDBGrid1.Columns[i-1].Title.Font.Style := [];
if (pos( '▲', bsskindbgrid1.Columns[i-1].Title.Caption) <> 0) or (pos( '▼', bsskindbgrid1.Columns[i-1].Title.Caption) <> 0) then
bsskindbgrid1.Columns[i-1].Title.Caption:=copy(bsskindbgrid1.Columns[i-1].Title.Caption,-3,length(bsskindbgrid1.Columns[i-1].Title.Caption)-2);
end;
if ADOQuery1.Sort<>(Column.FieldName+' ASC') then //判断原排序方式
begin
ADOQuery1.Sort := Column.FieldName+' ASC';
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
Column.Title.Caption:= column.Title.Caption+'▲';
end
else begin
ADOQuery1.Sort:= Column.FieldName+' DESC';
Column.Title.Font.Color := clBlue; //改变标题行字体为红色,表示当前的排序方式为降序
Column.Title.Font.Style := [fsBold];
Column.Title.Caption:= column.Title.Caption+' ▼';
end;
end;
procedure TForm7.ADOQuery1CalcFields(DataSet: TDataSet);
begin
if dbedit17.text<>'' then
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
adoquery1.FieldByName('扣发金额').Asfloat:=adoquery1.fieldbyname('扣发工资(其它)').Asfloat+adoquery1.fieldbyname('扣发工资(工装/材料)').Asfloat+adoquery1.fieldbyname('扣发工资(迟到/旷工)').Asfloat+adoquery1.fieldbyname('扣发工资(罚款)').Asfloat;
adoquery1.FieldByName('出勤工资').Value:=Round((adoquery1.fieldbyname('基本工资').Value/sumday)*adoquery1.fieldbyname('出勤天数').Value);
adoquery1.FieldByName('应发工资').Value:=adoquery1.fieldbyname('出勤工资').Value+adoquery1.fieldbyname('效益工资').Value+adoquery1.fieldbyname('上浮工资(含社会保险)').Value+adoquery1.fieldbyname('岗位津贴').Value+adoquery1.fieldbyname('奖金').Value+adoquery1.fieldbyname('值班工资').Value+adoquery1.fieldbyname('生活补助').Value+adoquery1.fieldbyname('出差补助').Value;
adoquery1.FieldByName('实发工资').Value:=adoquery1.fieldbyname('应发工资').Value-adoquery1.fieldbyname('扣发金额').Value;
end;
end;
procedure TForm7.ADOQuery1BeforePost(DataSet: TDataSet);
begin
if dbedit17.text<>'' then
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
adoquery1.FieldByName('扣发金额').Asfloat:=adoquery1.fieldbyname('扣发工资(其它)').Asfloat+adoquery1.fieldbyname('扣发工资(工装/材料)').Asfloat+adoquery1.fieldbyname('扣发工资(迟到/旷工)').Asfloat+adoquery1.fieldbyname('扣发工资(罚款)').Asfloat;
adoquery1.FieldByName('出勤工资').Value:=Round((adoquery1.fieldbyname('基本工资').Value/sumday)*adoquery1.fieldbyname('出勤天数').Value);
adoquery1.FieldByName('应发工资').Value:=adoquery1.fieldbyname('出勤工资').Value+adoquery1.fieldbyname('效益工资').Value+adoquery1.fieldbyname('上浮工资(含社会保险)').Value+adoquery1.fieldbyname('岗位津贴').Value+adoquery1.fieldbyname('奖金').Value+adoquery1.fieldbyname('值班工资').Value+adoquery1.fieldbyname('生活补助').Value+adoquery1.fieldbyname('出差补助').Value;
adoquery1.FieldByName('实发工资').Value:=adoquery1.fieldbyname('应发工资').Value-adoquery1.fieldbyname('扣发金额').Value;
end;
end;
end.
procedure TForm7.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
edit1.Text:=FloatToStr(Round((StrToFloat(TRim(dbedit5.Text))/sumday )*StrToFloat(trim(dbedit4.Text))));
edit4.Text:=FloatToStr(StrToFloat(Trim(edit1.Text))+StrToFloat(Trim(DBEdit6.Text))+StrToFloat(Trim(DBEdit7.Text))+ StrToFloat(Trim(DBEdit8.Text))+StrToFloat(Trim(DBEdit9.Text))+StrToFloat(Trim(DBEdit10.Text))+StrToFloat(Trim(DBEdit11.Text))+StrToFloat(Trim(DBEdit12.Text)));
edit5.Text:=FloatToStr(StrToFloat(Trim(DBEdit13.Text))+StrToFloat(Trim(DBEdit14.Text))+StrToFloat(Trim(DBEdit15.Text))+StrToFloat(Trim(DBEdit16.Text)));
edit6.Text:=FloatToStr(StrToFloat(Trim(edit4.Text))-StrToFloat(Trim(edit5.Text)));
end;
procedure TForm7.ADOQuery1CalcFields(DataSet: TDataSet);
begin
if dbedit17.text<>'' then
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
adoquery1.FieldByName('扣发金额').Asfloat:=adoquery1.fieldbyname('扣发工资(其它)').Asfloat+adoquery1.fieldbyname('扣发工资(工装/材料)').Asfloat+adoquery1.fieldbyname('扣发工资(迟到/旷工)').Asfloat+adoquery1.fieldbyname('扣发工资(罚款)').Asfloat;
adoquery1.FieldByName('出勤工资').Value:=Round((adoquery1.fieldbyname('基本工资').Value/sumday)*adoquery1.fieldbyname('出勤天数').Value);
adoquery1.FieldByName('应发工资').Value:=adoquery1.fieldbyname('出勤工资').Value+adoquery1.fieldbyname('效益工资').Value+adoquery1.fieldbyname('上浮工资(含社会保险)').Value+adoquery1.fieldbyname('岗位津贴').Value+adoquery1.fieldbyname('奖金').Value+adoquery1.fieldbyname('值班工资').Value+adoquery1.fieldbyname('生活补助').Value+adoquery1.fieldbyname('出差补助').Value;
adoquery1.FieldByName('实发工资').Value:=adoquery1.fieldbyname('应发工资').Value-adoquery1.fieldbyname('扣发金额').Value;
end;
end;
procedure TForm7.ADOQuery1BeforePost(DataSet: TDataSet);
begin
if dbedit17.text<>'' then
begin
sumday:=DaysInMonth(strtodatetime(dbedit17.text+'-01'));
adoquery1.FieldByName('扣发金额').Asfloat:=adoquery1.fieldbyname('扣发工资(其它)').Asfloat+adoquery1.fieldbyname('扣发工资(工装/材料)').Asfloat+adoquery1.fieldbyname('扣发工资(迟到/旷工)').Asfloat+adoquery1.fieldbyname('扣发工资(罚款)').Asfloat;
adoquery1.FieldByName('出勤工资').Value:=Round((adoquery1.fieldbyname('基本工资').Value/sumday)*adoquery1.fieldbyname('出勤天数').Value);
adoquery1.FieldByName('应发工资').Value:=adoquery1.fieldbyname('出勤工资').Value+adoquery1.fieldbyname('效益工资').Value+adoquery1.fieldbyname('上浮工资(含社会保险)').Value+adoquery1.fieldbyname('岗位津贴').Value+adoquery1.fieldbyname('奖金').Value+adoquery1.fieldbyname('值班工资').Value+adoquery1.fieldbyname('生活补助').Value+adoquery1.fieldbyname('出差补助').Value;
adoquery1.FieldByName('实发工资').Value:=adoquery1.fieldbyname('应发工资').Value-adoquery1.fieldbyname('扣发金额').Value;
end;
end;