排班二开---自定义智能规则指导说明
一、智能排班业务实现说明
后台事务或前台手动执行智能方案时系统会从数据库中分页获取对应的方案,并将方案分录和主表对象保存到智能规则数据池MatchDataInfo对象,然后通过人员范围解析器RangeSettingAnalysor解析获取人员,最后获取到的人员分批次交给MatchAnalysorManager对象处理。
智能排班管理器
智能排班解析器
MatchAnalysorManager处理过程:
1)根据方案初始化数据池对象:目前数据池中包含方案对象、打卡记录、排班人员相关的工作日历、请假单、加班单、出差单以及方案分录设置中涉及到的所有班次;
2)创建单据和班次解析对象。系统预制的解析对象主要有四个:请假单和出差单解析器、加班单解析器、班次解析器;
3)人员迭代、日期迭代;
4)创建具体个人和具体某一天的智能排班上下文对象MatchShiftEnv,排班过程的一些参数都在这个对象中。
5)根据解析器设置的顺序依次对MatchShiftEnv对象进行处理并生成班次;
6)当前批次生成的班次统一保存MatchAnalysorManager.saveMatchResults
解析器说明:
1)请假单和出差单解析器:将单据实际起始实际模拟成打卡记录保存到MatchShiftEnv对象中的punchcardSimulate中,并解析出全天假;
2) 加班单解析器:将和加班单起始时间有交集的班次从要匹配的班次集中排除掉;
3) 班次解析器:根据班次偏差、打卡、单据等信息生成排班对象。
二、简单自定义二开规则(标准代码中已包含样例代码)
1、自定义类继承:
2、重写getUserDefinedTargetShift方法
1) 设置规则上下班偏差
2) 获取自定义班次,以供后续匹配使用
com.kingdee.eas.hr.ats.workShift.plan.matchSchedule.example.UserDefMatchAnalysorManager
3、智能规则方案中设置自定义规则的类全名
三、复杂自定义二开规则
1、自定义类继承:
com.kingdee.eas.hr.ats.workShift.plan.matchSchedule.MatchAnalysorManager;
2、重写doMatch方法完成整改匹配过程并生成班次,根据智能排班的业务说明实现自定义相应的功能;
3、智能规则方案中设置自定义规则的类全名
排班二开---自定义智能规则指导说明
本文2024-09-16 23:45:07发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56566.html