📄 unit10.~pas
字号:
EnableControls;
END;
table1.Filtered:=false;
WITH TABLE1 DO
BEGIN
DISABLECONTROLS;
FIRST;
WHILE NOT EOF DO
BEGIN
EDIT;
if (FieldByName('部门').AsString='乘务员') or (FieldByName('部门').AsString='驾驶员') and (FieldByName('族别').AsString='汉族')
and ((FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)>0) and ((FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)<fb) then
begin
FieldByName('技能工资').AsFloat:=(FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)/fb*FieldByName('技能工资').AsFloat;
end;
if (FieldByName('部门').AsString='乘务员') or (FieldByName('部门').AsString='驾驶员') and (FieldByName('族别').AsString='少数民族')
and ((FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)>0) and ((FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)<fc) then
begin
FieldByName('技能工资').AsFloat:=(FieldByName('出勤天数').AsInteger+FieldByName('平待天数').AsInteger)/fc*FieldByName('技能工资').AsFloat;
end;
post;
NEXT
END;
EnableControls;
END;
table1.Filter:='部门'+'<>'+''''+'管理人员'+'''' + ' and ' + '部门'+'<>'+''''+'驾驶员'+''''+
' and ' + '部门'+'<>'+''''+'实习驾驶员'+''''+' and ' + '部门'+'<>'+''''+'洗车人员'+''''
+' and ' + '部门'+'<>'+''''+'公差人员'+''''+' and ' + '部门'+'<>'+''''+'零修'+''''
+' and ' + '部门'+'<>'+''''+'修理工'+''''+
' and ' + '部门'+'<>'
+''''+'站点修理'+''''
+' and ' + '队别'+'<>'+''''+'内退人员'+'''';
table1.filtered:=true;
WITH TABLE1 DO
BEGIN
DISABLECONTROLS;
FIRST;
WHILE NOT EOF DO
BEGIN
EDIT;
if (FieldByName('工龄').AsInteger>=0) and (FieldByName('工龄').AsInteger<5) then
begin
aa1:=0.6;
end;
if (FieldByName('工龄').AsInteger>=5) and (FieldByName('工龄').AsInteger<10) then
begin
aa1:=0.7;
end;
if (FieldByName('工龄').AsInteger>=10) and (FieldByName('工龄').AsInteger<20) then
begin
aa1:=0.8;
end;
if (FieldByName('工龄').AsInteger>=20) and (FieldByName('工龄').AsInteger<25) then
begin
aa1:=0.9;
end;
if FieldByName('工龄').AsInteger>=25 then
begin
aa1:=1;
end;
if FieldByName('病天数').AsInteger>0 then
begin
FieldByName('工龄工资').AsFloat:=0;
FieldByName('岗贴').AsFloat:=0;
FieldByName('病工资').AsFloat:=(FieldByName('效益工资').AsFloat*0.4/21.5*FieldByName('病天数').AsInteger*(1-aa1)+
FieldByName('效益工资').AsFloat*0.4*0.3)*-1;
end;
if FieldByName('事天数').AsInteger>0 then
begin
FieldByName('工龄工资').AsFloat:=0;
FieldByName('岗贴').AsFloat:=0;
FieldByName('事扣').AsFloat:=(FieldByName('效益工资').AsFloat*0.4/21.5*FieldByName('事天数').AsInteger+
FieldByName('效益工资').AsFloat*0.4*0.3);
end;
if FieldByName('旷天数').AsInteger>0 then
begin
FieldByName('工龄工资').AsFloat:=0;
FieldByName('岗贴').AsFloat:=0;
FieldByName('矿扣').AsFloat:=FieldByName('效益工资').AsFloat*0.4;
end;
if FieldByName('部门').AsString='辅助人员' then
begin
FieldByName('加班').AsFloat:=FieldByName('效益工资').AsFloat/21.5*(FieldByName('日加天数').AsInteger+FieldByName('节加天数').AsInteger*2);
end;
post;
NEXT
END;
EnableControls;
END;
table1.Filtered:=false;
WITH TABLE1 DO
BEGIN
DISABLECONTROLS;
FIRST;
WHILE NOT EOF DO
BEGIN
EDIT;
if ((FieldByName('日加天数').AsInteger+FieldByName('平加天数').AsInteger +FieldByName('节加天数').AsInteger
+FieldByName('出勤天数').AsInteger +FieldByName('平待天数').AsInteger
+FieldByName('节待天数').AsInteger +FieldByName('日待天数').AsInteger
+FieldByName('病天数').AsInteger +FieldByName('其它工资').asfloat+ FieldByName('其它出勤').AsInteger)=0)
and (FieldByName('队别').AsString<>'内退人员')
then
begin
FieldByName('技能工资').AsFloat:=0;
FieldByName('效益工资').AsFloat:=0;
FieldByName('待休工资').AsFloat:=0;
FieldByName('工龄工资').AsFloat:=0;
FieldByName('岗贴').AsFloat:=0;
FieldByName('线路津贴').AsFloat:=0;
FieldByName('独子费').AsFloat:=0;
FieldByName('补发1').AsFloat:=0;
FieldByName('补发2').AsFloat:=0;
FieldByName('补发3').AsFloat:=0;
FieldByName('差费').AsFloat:=0;
FieldByName('奖金').AsFloat:=0;
FieldByName('营养').AsFloat:=0;
FieldByName('上月尾').AsFloat:=0;
FieldByName('任务百分点').AsFloat:=0;
FieldByName('趟次百分点').AsFloat:=0;
FieldByName('成本百分点').AsFloat:=0;
FieldByName('利润分成').AsFloat:=0;
FieldByName('准点百分点').AsFloat:=0;
FieldByName('病工资').AsFloat:=0;
FieldByName('事扣').AsFloat:=0;
FieldByName('矿扣').AsFloat:=0;
FieldByName('趟次扣').AsFloat:=0;
FieldByName('安全扣').AsFloat:=0;
FieldByName('服务扣').AsFloat:=0;
FieldByName('卫生扣').AsFloat:=0;
FieldByName('准点扣').AsFloat:=0;
FieldByName('技术扣').AsFloat:=0;
FieldByName('罚款').AsFloat:=0;
FieldByName('应发工资').AsFloat:=0;
FieldByName('房电').AsFloat:=0;
FieldByName('托儿').AsFloat:=0;
FieldByName('欠款').AsFloat:=0;
FieldByName('车队扣').AsFloat:=0;
FieldByName('扣款1').AsFloat:=0;
FieldByName('扣款2').AsFloat:=0;
FieldByName('另存').AsFloat:=0;
FieldByName('失保').AsFloat:=0;
FieldByName('养老').AsFloat:=0;
FieldByName('住房').AsFloat:=0;
FieldByName('医保').AsFloat:=0;
FieldByName('大病保').AsFloat:=0;
FieldByName('教育').AsFloat:=0;
FieldByName('税金').AsFloat:=0;
FieldByName('知补').AsFloat:=0;
FieldByName('生补').AsFloat:=0;
FieldByName('边贴').AsFloat:=0;
FieldByName('卫生').AsFloat:=0;
FieldByName('煤贴').AsFloat:=0;
FieldByName('房贴').AsFloat:=0;
FieldByName('实发工资').AsFloat:=0;
FieldByName('本月尾').AsFloat:=0;
FieldByName('加班').AsFloat:=0;
FieldByName('其它工资').AsFloat:=0;
end;
post;
NEXT
END;
EnableControls;
END;
table1.Filter:='部门'+'='+''''+'驾驶员'+'''' + ' or ' + '部门'+'='+''''+'实习驾驶员'+''''+
' or ' + '部门'+'='+''''+'乘务员'+''''+' or ' + '部门'+'='+''''+'公差人员'+''''
+' or ' + '部门'+'='+''''+'零修'+''''+' or ' + '部门'+'='+''''+'站点修理'+''''+
' or ' + '部门'+'='+''''+'洗车人员'+''''+' or ' + '部门'+'='+''''+'修理工'+'''';
table1.filtered:=true;
WITH TABLE1 DO
BEGIN
DISABLECONTROLS;
FIRST;
WHILE NOT EOF DO
BEGIN
EDIT;
FieldByName('应发工资').AsFloat:=FieldByName('工龄工资').AsFloat
+FieldByName('技能工资').AsFloat
+FieldByName('效益工资').AsFloat
+FieldByName('待休工资').AsFloat
+FieldByName('岗贴').AsFloat
+FieldByName('线路津贴').AsFloat
+FieldByName('独子费').AsFloat
+FieldByName('补发1').AsFloat
+FieldByName('补发2').AsFloat
+FieldByName('补发3').AsFloat
+FieldByName('差费').AsFloat
+FieldByName('奖金').AsFloat
+FieldByName('加班').AsFloat
+FieldByName('其它工资').AsFloat
+FieldByName('营养').AsFloat
+FieldByName('上月尾').AsFloat
+FieldByName('利润分成').AsFloat
+FieldByName('病工资').AsFloat
-FieldByName('事扣').AsFloat
-FieldByName('趟次扣').AsFloat
-FieldByName('安全扣').AsFloat
-FieldByName('服务扣').AsFloat
-FieldByName('卫生扣').AsFloat
-FieldByName('准点扣').AsFloat
-FieldByName('技术扣').AsFloat
-FieldByName('罚款').AsFloat
+FieldByName('知补').AsFloat
+FieldByName('生补').AsFloat
+FieldByName('边贴').AsFloat
+FieldByName('卫生').AsFloat
+FieldByName('煤贴').AsFloat
+FieldByName('房贴').AsFloat;
if FieldByName('应发工资').AsFloat>0 then
begin
FieldByName('矿扣').AsFloat:=FieldByName('应发工资').AsFloat*0.2*FieldByName('旷天数').AsInteger;
end;
post;
NEXT
END;
EnableControls;
END;
end
else
begin
showmessage('请先进性参数设置');
end;
end;
procedure TForm10.Button2Click(Sender: TObject);
begin
form10.Hide;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -