流程助手常见问题--钉钉的待办不转已办原创
12人赞赏了该文章
67次浏览
编辑于2024年11月04日 09:39:07
1 问题描述
审批流程后,钉钉的待办不转已办
2 排查方法
(1)用下面sql查询,根据报错分析
select top 50 * from t_assign_dtmsgdealerror order by sendtime desc
(2) 收集\eas\server\profiles\server*\logs\LightAppBas.log日志分析
(3)这个表t_assign_dtmsg没有对应数据,但是待办已经推送到钉钉,这个表没有对应数据就查不到相关数据导致不能转为已办,
会往t_assign_dtmsgdealerror 表插入“查询msg失败”的信息, 要插入一条数据再根据下面的方法处理
INSERT INTO T_ASSIGN_DTMSG(MSGID,FASSIGNID,FUSERID,PROCINSTID) SELECT 'eid-'||FASSIGNID,FASSIGNID,FPERSONUSERID,FPROCINSTID FROM T_WFR_ASSIGNDETAIL WHERE FASSIGNID = '待办id'
3 处理方法
(1)如果是网络原因导致的,可以用下面脚本在客户端的查询分析器运行服务器端脚本处理,如下图
com.kingdee.sns.task.util.DingtalkMessageDeal.Deal(ctx,'待办id')
(2)系统也提供了后台事务来处理,如下图,找不到这个任务的话就要更新流程中心的补丁
(3)用脚本批量处理
var eid = com.kingdee.lightapp.xt.XTServiceConfig.getInstance().getEidByDbCode(ctx.getAIS()); var quarySql = "SELECT a.FASSIGNID, a.FPERSONUSERID FROM t_wfr_assigndetail a,t_assign_dtmsg b where a.FASSIGNID = b.FASSIGNID and b.fstate is null and a.FCREATEDTIME > {TS '2024-01-01'} order by a.FCREATEDTIME desc"; var countRowSet = com.kingdee.eas.util.app.DbUtil.executeQuery(ctx, quarySql); while (countRowSet.next()) { var assignid = countRowSet.getString(1); var re = com.kingdee.sns.task.util.DingtalkMessageDeal.Deal(ctx,assignid); }
注意要修改时间,查询太多数据的话要执行
赞 12
12人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读