[学习笔记]请病事假达到一定天数取消年假预警

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

[学习笔记]请病事假达到一定天数取消年假预警

业务场景:针对以下业务设置预警

20231121更新注:【该预警存在缺陷】,能发预警,但无法取消发送。现场如果需要设置取消预警。可以将预警主对象改为假期额度实体。对年假额度记录进行预警,公式设置表达式预警剩余额度大于0天且满足统计考勤项目值的年假记录。这样当专员发现员工不符合当年请年假条件时,可以手动将员工剩余年假更新为0。这样就可以实现关闭预警。但必须在预警对象每年手工更新一次年假过滤条件,仅对本年年假额度进行预警。且这种设置方式,对于当年先请完了年假,然后再请病假事假超过规定的情况无法处理。

或者也可以把已处理的人员手工加入到过滤条件中,如姓名<>张三。手工关闭预警。

1、设置事假预警

1.1预警对象的选择

事假预警,需要统计员工当年的事假额度。通过查看预置的考勤异常预警可以发现,可以通过“考勤明细功能”来统计员工一定期间内的考勤项目累计值,正好可以满足预警需要

例如:【考勤明细功能.统计考勤项目值( 员工_个人信息.ID,时间间隔,迟到次数项目编码)】

因此第一步直接复制预置考勤异常预警,以考勤明细功能和员工基本信息作为预警对象。顺手加一个人员功能对象上去便于一会儿设置动态接收人。

1.2取值范围设置变量

时间间隔参数不能是一个定值,因为需要统计本年的考勤项目值,今年过了多少天,就需要汇总多少天的考勤。取值范围需要设置为一个变量:

将参数“时间间隔”改为“本地”而非输入。然后设置时间间隔的公式。

1.3函数的选择和公式表达式

Yearday函数可以取当前年的第几天。这正是我们需要的:时间间隔=yearday(now());

之后的表达式直接按照预置考勤异常的思路来就可以了:如果员工在本年事假时长超过20天,就预警,否则不预警。

消息表达式再写一遍如何取员工事假时长的功能就可以了,注意变量在消息表达式里需要对“时间间隔”重新取值。

1.4取角色动态接收人

预警对象增加人员功能对象,根据角色编码取对应员工。可将需要收到消息的人员(如HR)单独分配一个角色。

效果如下:

2、设置病假预警

2.1计算集团工龄

病假预警需要计算员工的集团工龄进行判断,更为复杂。而且,员工基本信息中无法取到集团工龄这个字段。我自己的办法是用入职日期手动计算出集团工龄:

计算now和员工入职日期之差,然后除以365,就是员工的工龄。该数值计算后与员工页签中的集团工龄一致。

该计算式参考员工生日预警,converJavaDate用于转换日期类型,dateDiff用于计算两个日期之差。

“00:00:00”是为了凑数的,now函数返回当前日期是带着时分秒的,必须要同样的格式才能进行相减。

2.2公式表达式

将工龄条件和员工请假统计功能的结果结合。

消息表达式需要注意通过round函数进行保留小数,否则消息表达式中体现员工工龄小数点会非常多:


消息表达式和上述事假预警一致。




可以的,看起来很实用

[学习笔记]请病事假达到一定天数取消年假预警

业务场景:针对以下业务设置预警20231121更新注:【该预警存在缺陷】,能发预警,但无法取消发送。现场如果需要设置取消预警。可以将预警主...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息