1、统计转调休的加班时长,需对应填写加班项目attend_item_id,所得结果的单位和加班项目的单位相同

转调休加班时长
sum(LIST_COUNT(加班数据,'actual_duration_unit','calc_state:2;attend_item_id:261;change_to_leave:1'))

2、统计未转调休的加班时长,一般用于薪酬结算加班费,所得结果的单位和加班项目的单位相同

未转调休加班时长
sum(LIST_GET(加班数据,'actual_duration_unit','calc_state:2;attend_item_id:261;change_to_leave:0'))

3、当天补签次数

当天补签次数
LIST_LEN([_i for _i in 打卡数据 if _i["approve_state"] == 2 and _i["state"] == 2 and _i["source"] == 3 and _i["punch_time"][:10] == 考勤信息.日期])

4、节假日出勤天数,其中 考勤信息.日期类型 0代表工作日;1代表休息日;2代表节假日,天数是按班段设置的认可工时和对应天数计算出来的值。

节假日出勤天数
IF(
    考勤信息.日期类型==2,
    IF(
        出勤 > 0,
        sum([sum([_d['duration']*_s['work_day']/_s['confirm_working_hours'] for _d in 明细列表 if _d['section_id'] == _s['id'] and _d['attend_item'] == 'work_onjob']) for _s in 计算班次.班段列表]),
        0
    ),
    0
)



  • 无标签