案例一:2月份只有28天或者29天,当出满勤,视为30天,计4天的加班。
[设置如下]
在分期工资明细项目加班时运算公式设置如下:
case when @lcRANC like 'A%' and @CMA_TUD>=day(@ltEDAT) then
@CMA_OT1+(30-day(@ltEDAT))*8.0 else @CMA_OT1+@CMA_OT2 end
案例二:夜班和加班超过零晨3:00的,普通员工补津贴2元/日,组长补津贴3元/日。
[设置如下]
1、在每日考勤运算项目中设置一项目:@CDT_ZTH 超过零晨3点 逻辑型
2、项目初值:0
3、运算条件:@DUTY in ('员工','组长')
4、运算公式:case when @liOTKY>1560 and @liOTKY<9999 then 1 else 0 end
5、在考勤分期汇总项目中设置一项目:@CMA_ZTH 超过零晨3点 数值型
6、运算公式:case when @CDT_ZTH=1 then @CMA_ZTH+1 else @CMA_ZTH end
7、在分期工资明细项目中设置一项目:@CMP_ZTH 应补津贴 数值型
8、运算公式:case when @DUTY='员工'then @CMA_ZTH when @DUTY='组长'then @CMA_ZTH*3
end
案例三:月薪员工节假日放假部分有薪、部分无薪。
[设置如下]
1、在员工请假出差原因代码设置中设置2个类别,例如:P放假 Q休假
2、在系统维护-->考勤处理规则设置中单击项目
3、在出勤-->有效请假中输入Q
4、以后在录入员工放假的时候,或该员工放假有薪,则选择原因类别为Q休假,否则选择P放假
案例四:日薪员工每日正班扣除伙食费8元,当日或当日某正班时段没出勤则不扣。
[设置如下]
1、在每日考勤运算项目中设置一项目:@CDT_ZBT 正班时 数值型
2、运算条件:@lcRANC not like 'A%'
3、运算公式:case when @CDT_ZBT+(@lnATTN+@lnLATN+@lnEARN)/convert(numeric,60)>3
and @CDT_ZBT+(@lnATTN+@lnLATN+@lnEARN)/convert(numeric,60)<6then4.0when@CDT_ZBT+(@lnATTN+@lnLATN+@lnEARN)/convert(numeric,60)>=6
then 8.0 else 0 end
4、在考勤分期汇总项目中设置一项目:@CDT_ZBT 正班时 数值型
5、运算公式:@CMA_ZBT+@CDT_ZBT
6、在分期工资明细项目中设置一项目:@CMP_DDI 扣伙食费 数值型
7、运算公式:case when @RD_DINF>0 then @RD_DINF else (@CMA_ZBT/8.0)*8
end
案例五:每月日薪员工应出勤时为224小时(28*8),月薪为208
小时(26*8),余下工时才算平时加班,若正常出勤不满基本工时(月应出勤时),则用加班工时补足出勤工时。
[设置如下]
1、在考勤分期汇总项目中设置一项目:@CMA_TIM 总出勤 数值型
2、运算公式:@CMA_TIM+@CDT_ATT+@CDT_OT1+@CDT_OT2
3、分期考勤汇总项目出勤时项目运算公式设置如下:case when @lcRANC like 'A%' and @CMA_TIM>=26*8.0
then 26*8.0 when @lcRANC not like 'A%' and @CMA_TIM-@CMA_JOB>=28*8.0
then 28*8.0 else @CMA_TIM-@CMA_JOB end
4、分期考勤汇总项目平时加班项目运算公式设置如下:case when @lcRANC = 'A01' and @CMA_TIM>26*8.0
then @CMA_TIM-26*8.0 when @lcRANC in ('A02','A03','A04') then 0
when @lcRANC not like 'A%' and @CMA_TIM+@CMA_JOB>28*8.0 then
@CMA_TIM-28*8.0-@CMA_JOB else 0 end
案例六:月份中有31号的,则月薪员工在31号这天必须出勤且不计工资,若不上班,则扣一天的出勤工时。
[设置如下]
1、在每日考勤运算项目中设置一项目:@CDT_TIM 总出勤分(出勤/加班)数值型
2、项目初值设置为:@DAD_ATT*60+@DAD_OT1*60
3、运算条件设置为:@lcDESC in ('A','B') and @lcTESC in ('A','B')
4、运算公式设置为:case when @lcRANC like 'A%' and day(@ltTDAT)=31 and @lnATTN>0
then 0 when @lcRANC like 'A%' and day(@ltTDAT)=31 and @lnATTN<=0
then @CDT_TIM-4*60 else @CDT_TIM+@lnATTN+@lnOVTN+@lnLATN+@lnEARN
end
5、每日考勤运算项目中出勤时项目运算公式设置如下:
case when @lcRANC like 'A%' and day(@ltTDAT)=31 then @CDT_TIM
else case when @CDT_TIM-@CDT_JOB*60<=0 then 0 when @CDT_TIM-@CDT_JOB*60>=8.0*60
then 8.0 else (@CDT_TIM-@CDT_JOB*60)/convert(numeric,60) end end