流程助手常见问题--钉钉的待办不转已办原创
金蝶云社区-余路生
余路生
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人打赏
还没有人打赏,快来当第一个打赏的人吧!