s-HR假勤档案常见问题分析
# 1.变动消息长时间未确认
平台默认的策略是1分钟循环推送消息,所以正常情况下,人事变动消息到各个领域的确认时长不会超过1分钟。当出现消息状态迟迟不更新的情况后,我们应该怎么去排查呢?
## 1.1在ces.jsp界面查看是否有线程卡顿情况
![image.webp](/download/0100bfaf077d71ea41898e99b81b365070e1.webp)
在界面查找领域关键字ats,如果没有找到,在数据库执行查找sql死锁语句(每个库都不一样,具体百度查找下,都会有),查找到后可以下载日志提单处理,如果以上两步都没有查找到,则说明线程是正常运行的。
1.2在客户端查找消息日志
![image.webp](/download/01008346df24d60845918803655de942068e.webp)
由卡顿的话,结束时间为空。
以上情况都排除后,查看消息是否被平台已扫描
![image.webp](/download/0100aeca289df8304287bc364e1a200bb2c9.webp)
如果是已扫描状态,则说明平台线程正常公告。
## 常见未确认情况总结
常见消息未确认的情况:
1、 用工关系占人头(去员工信息页面查看是否占人头)
2、 规则(T_ATS_AtsPCRule)的entrollChangeType=3也就是手动(入错职和撤销用这个参数,查看comfirm.log中confirm msgid:4i4AAAAoHghwHB+P,atsPCRuleInfo id=:4i4AAAAFGNqHPXqV,看对应的规则entrollChangeType)
3、 消息t_hr_personburelaconfirm中没有默认的业务组织 defaultHrOrgUnit(基本不会出现)
4、 开启了全局参数ATS_COMFIRMNORULE,并且没有匹配上任何规则(通过comfirm.log查看isSatisfy=false表示未匹配上规则)
5、 撤销消息,未匹配上任何规则(通过comfirm.log查看isSatisfy=false表示未匹配上规则),并且存在业务数据(详见撤销文档)
6、 处理消息报错(程序错误,查看apusic日志)
7、 线程没跑 T_HR_BizManageACCLog(下面有sql)
8、 线程跑了,但是跑这个线程的服务器代码没更新(只出现在测试环境,有二开的情况下)
9、 消息类型为其它,bizDefineType=5(一般没有这种消息)
comfirm.log中记录了是匹配上的规则。
日志中confirm msgid:4i4AAAAoHghwHB+P,atsPCRuleInfo id=:4i4AAAAFGNqHPXqV
其中4i4AAAAFGNqHPXqV就是匹配上的规则ID
消息未确认排查流程:
1、 查看消息是否被扫描,isAlreadyDeal=1。(如果没有被扫描到,则等待,或者重启)
2、 确认消息处理的线程正在运行,并且对应待确认的消息的最后更新时间对应的T_HR_BizManageACCLog 中的时间段中的ip是目标服务器,SELECT * from T_HR_BizManageACCLog WHERE FBeginTime > {ts'2019-04-12 00:00:00'} and FDESCRIPTION ='SHRBizDataComfirmMessageTask' ORDER BY FBeginTime DESC
3、 拿对应ip服务器上的eas\Server\server\shr_ats_log\shr_ats_confirm\comfirm.log日志,搜索对应的消息id是否存在。comfirm.log日志中包含了是否满足条件,是否自动处理以及被哪个类处理等等。
查询消息sql: select * from t_hr_personburelaconfirm where FPERSONID in (select FID from t_bd_person where fnumber in ('1805003336'))
查询档案sql: select * from T_HR_ATS_AttendanceFile where FPROPOSERID in (select FID from t_bd_person where fnumber in ('1805003336'))
查询档案历史sql: select * from T_HR_ATS_AttendanceFileHIS where FPROPOSERID in (select FID from t_bd_person where fnumber in ('1805003336'))
规则查询sql:
select * from T_ATS_AtsPCRule where fid ='4i4AAAAFGNqHPXqV'
限制处理消息ip的sql:
delete t_hr_hrinit where fid='PDj1M8DbRaeYrtg9/9W4IUxvIAU='
insert into t_hr_hrinit(fid, fkey, fvalue, fcreatorid, fcreatetime, flastupdateuserid, flastupdatetime, fhrorgunitid, fcontrolunitid, fisfinish, fdescription) values ('PDj1M8DbRaeYrtg9/9W4IUxvIAU=', 'serverIP', '172.19.108.14', null, {ts '2021-07-22 00:00:00'}, null, null, null, null, null, '管理关系处理服务器IP,设定后只会在设定IP机子里面处理');
日志记录格式说明
comfirm.log日志中
confirmmsgid:4i4AAAAoAqZwHB+P,152,pipeihou isSatisfy=false,isHand=null,isUsePartTimeJob=null,isUsePartTimeJobFirst=null 其中isSatisfy是是否满足规则。
confirmmsgid:4i4AAAAoAqZwHB+P,195,classDeal:com.kingdee.eas.hr.ats.bizmanage.MessageConfirm.impl.AttenceFilePosTermMsgDeal,可以确定是哪个类处理的这一条消息。
自动处理时,除非有报错,不然一定会确认消息。
s-HR假勤档案常见问题分析
# 1.变动消息长时间未确认平台默认的策略是1分钟循环推送消息,所以正常情况下,人事变动消息到各个领域的确认时长不会超过1分钟。当出现...
点击下载文档
本文2024-09-16 23:45:16发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56583.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章