导图社区 钉钉考勤专家
钉钉考勤专家包括适配场景,统计规则,报表操作和案例分析,一般适用于学校,企业等打卡。有需要的小伙伴可以看看哟。
编辑于2022-11-03 15:01:19 湖北省考勤专家(专业版收费)V6.3
统计报表是对原有数据进行不同方式的加工和展示。 主要适用于月度汇总报表。 无法对考勤数据的采集方式进行修改。
1. 适配场景
1.1. 减少导出后的二次加工
1.2. 月度汇总
1.3.
2. 统计规则
2.1. 所有表达式都是代表一天的(统计结果)
2.2. 数据类型
2.2.1. 整数(int)
2.2.2. 小数(double)
参与计算
2.2.3. 字符串(string) "家庭住址"
2.2.4. 布尔值(boolean) true/false
展示或条件判断
2.3. 系统字段样例(总共38个)
2.3.1.
2.4. 运算符
2.4.1. 计算运算符 + 、- 、* 、/
2.4.2. 比较运算符(布尔值:true/false) == 、 != 、> 、< 、>= 、<=
2.4.3. 逻辑运算符 if(如果)、 else(否则)、and(并且)、or(或者)、then(然后)
2.5. 逻辑表达式
2.5.1. return(结果返回)
2.5.2. if...else(单条件判断)
if(布尔表达式){ //如果布尔表达式结果为true的 时候将执行的语句 }
if(#早退时长#<30){ return 0; }else{ return 50; }
简写: if(#早退时长#<30){ return 0; } return 50;
后面只有return,没有其它语句,则可省略else;
2.5.3. if...else if...else(多条件判断)
if(#早退时长#<10){ return 30; }else if(#早退时长#>10 and #早退时长#<30){ return 50; }else{ return 100; }
2.5.4. if ... then ... else...
简写方式:直接返回结果,无需使用return
if #旷工天数# < 0 then 0 else #旷工天数#*500
2.6. 常用函数
2.6.1. 时间戳获取
获取各类时间的时间戳,单位是毫秒,用于参与时间的算数运算。使用方法 #时间戳获取#(打卡时间,第1次) 注意:如果获取不到时间,该函数返回0,所以在进行算术运算前需要先判断是否大于0 语法: ● 参数1:排班时间,打卡时间 ● 参数2:第1次,第2次,第3次,第4次,第5次,第6次
时间戳: 1970年1月1日(UTC/GMT的午夜)开始所经过的秒数
2.6.2. (每天)时长汇总
请假时长
#请假时长#(天,事假) 语法: ● 参数1:天,小时 ● 参数2:事假,丧假,产检假
统计每天的请假时长信息,可以指定时长单位和请假类型。使用方法
出差时长
#出差时长#(天) 语法: ● 参数:天,小时,分钟
统计每天的出差时长信息。使用方法
外出时长
#外出时长#(天) 语法: ● 参数说明:天,小时,分钟
统计每天的外出时长信息。使用方法
迟到时长
#迟到时长#(普通迟到,分钟) 语法: ● 参数1:普通迟到,严重迟到,旷工迟到,所有类型 ● 参数2:小时,分钟
统计每天的迟到时长,单位有小时和分钟,可以按照类型去筛选。由于参数升级,必须使用double类型变量作为迟到时长的临时表达式变量。使用方法
工作时长
#工作时长#(标准模式,分钟) 语法: ● 参数1:标准模式,严格模式 ● 参数2:小时,分钟
统计每天的工作时长,单位有小时和分钟,提供标准模式和严格模式两种计算方式。标准模式以打卡时间为准,严格模式以班次时间为准。由于参数升级,必须使用double类型变量作为工作时长的临时表达式变量。使用方法
加班时长
#加班时长#(天,所有类型,全部) 语法: ● 参数1:天,小时 ● 参数2:工作日,休息日,节假日,所有类型 ● 参数3:转加班费,转调休,全部
加班时长(需要开启新加班功能才能正常使用)。使用方法
加班审批单统计
#加班审批单统计#(天) 语法: ● 参数说明:天,小时
按审批单统计加班时长。
加班时长按规则计算
#加班时长按规则计算#(天,工作日) 语法: ● 参数1:天,小时 ● 参数2:工作日,休息日,节假日,加班转调休
统计每天的加班时长信息。
晚走晚到允许晚到时长
#晚走晚到允许晚到时长#(分钟) 语法: ● 参数说明:小时,分钟
获取由晚走晚到调整的允许晚到时长信息。
2.6.3. 智能人事字段获取
考勤现已和智能人事数据打通,通过该函数,可以根据字段名称获取智能人事字段的值。使用方法 #智能人事字段获取#("计薪类型") 语法: ● 参数说明:智能人事的字段名称 ● 注意:严格按照名称匹配,如果智能人事的字段名称改变了,会导致字段值获取失败
2.6.4. 出勤班次
按班次统计出勤次数。使用方法 #出勤班次#(A班) 语法: ● 参数说明:班次名称
2.6.5. 时间比较
用于考勤业务中的时间比较,如: #时间比较#(最晚打卡时间,大于,"21:00") 语法: ● 参数1:工作日,最早排班时间,最早打卡时间,最晚排班时间,最晚打卡时间 ● 参数2:大于,大于等于,小于,小于等于,等于,不等于 ● 参数3:支持的时间格式08:00,次日01:00,昨日23:00,2018-05-07,2018-05-07 08:00
2.6.6. 星期比较
用于考勤业务中的星期比较,如 #星期比较#(工作日,等于,星期六) 语法: ● 参数1:工作日 ● 参数2:大于,大于等于,小于,小于等于,等于,不等于 ● 参数3:星期一,星期二,星期三,星期四,星期五,星期六,星期日
2.6.7. (班次)名称比较
用于考勤业务中的名称比较,如 #名称比较#(班次名称,包含,"测试班次") 语法: ● 参数1:班次名称 ● 参数2:等于,包含,开始于,结束于 ● 参数3:用于比较的名称
3. 报表操作
3.1. 添加/编辑列
3.1.1. 关联字段
3.1.2. 列名称
3.1.3. 列类型
标题列(分组)
日历列(单列)
将汇总数据进行每日单列显示
数据列
(多考勤组)分类字段
分类字段在报表中用于分类统计。例如本月张三工作20天,其中在武林店考勤组工作8天,在西湖店考勤组工作12天,那么设置考勤组为分类字段后,即可以在报表中根据考勤组分别统计考勤数据。
是
否
汇总方式
取一个
求和
3.2. 书写规则
3.2.1. 注意事项
使用英文输入法下的各类符号;
字段及函数通过鼠标点击来进行添加;
3.2.2.
4. 案例
4.1. 统计出员工实际工时(含出差及外出)
#工作时长#(严格模式,小时)+#出差时长#(小时)+#外出时长#(小时)
4.2. 一家连锁餐饮,公司对上中班和夜班这两个班次的人会按次数,给予一定的补贴。计算出,每个人上中班和夜班的总次数
if(#班次名称# == "中班" or #班次名称# == "夜班") { return 1; } return 0;
4.3. 统计员工星期六请假时长
if(#星期比较#(工作日, 等于, 星期六) ) {return #请假时长#(小时, 事假) ; } return 0;
4.4. 请假2小时以内不作统计
if(#请假时长#(小时,事假) <=2) {return 0; } else { return #请假时长#(小时,事假) ;}
4.5. 迟到扣款:迟到10-30分钟,扣款100元;迟到30-60分钟,扣款200元;
if ( #迟到时长#(所有类型) >= 10 and #迟到时长#(所有类型) <= 30) { return 100;} else if ( #迟到时长#(所有类型) >30 and #迟到时长#(所有类型) <=60) { return 200;} else { return 0; }
4.6. 统计每天晚走补贴,晚于20点,补贴20元;晚于21点,补贴40元;(时间比较)
if( #时间比较#(最晚打卡时间,大于等于,"20:00") and #时间比较#(最晚打卡时间,小于等于,"21:00") ) {return 20;} else if( #时间比较#(最晚打卡时间,大于等于,"21:00")) {return 40;} else {return 0;}
4.7. 请假时长抵扣周末加班时长
double jb = 0; if( #星期比较#( 工作日,等于,星期六 ) or #星期比较#( 工作日,等于, 星期日 ) ) { jb = #加班时长#( 天,所有类型,全部 ); } return jb- #请假时长#(小时,事假) ;
4.8. 周六或周日的加班时长,可以抵扣请假时长
引入变量进行多条件混合运算 double jb = 0; if( #星期比较#( 工作日,等于,星期六 ) or #星期比较#( 工作日,等于, 星期日 ) ) { jb = #加班时长#( 天,所有类型,全部 ); } return jb- #请假时长#(小时,事假) ;
4.9. 一天当中的出勤时长与旷工时长等进行混合运算
自定义变量,进行多条件判断后的混合运算: double pb = 0; double kg = 0; if(#排了班#){ return pb = 8} if(#旷工迟到次数# >3){return kg = 16} return pb-kg- #请假时长#(小时,事假)