消息中心中如何自定义任务主题
关键词:工作流、任务主题
一、需求
流程审批遇会审节点驳回,需要在待办任务列表的主题列看到驳回人信息。目前情况如下图:第一条待办任务主题,显示单据编号信息,第二条待办任务主题(通过配置实现)显示驳回信息。第二条待办任务主题的问题是,会审节点部分参与人执行驳回操作即可结束会审,待办任务主题通过配置只能显示所有处理人。例如:3个参与人中2人执行驳回,因为没有达到会审50%的通过比例要求,任务被驳回会审结束。需求是:上游节点会审驳回,待办任务主题显示实际执行驳回的操作人,非所有的处理人。
二、思路与方案
思路与方案:
根据单据编号作为过滤条件,从历史任务处理结果表中按处理时间倒叙查出历史处理结果,处理结果中取出第一条信息(审批节点编码、审批策略、审批人),并遍历后续处理结果信息,如果后续遍历的处理结果里有节点编码(wf_hicomment的activityid字段)和第一条信息的节点编码一样并且审批策略编码是Reject,那么说明这条处理结果也是上一次会审审批节点执行驳回的信息,当遍历到审批节点编码和第一条信息的审批节点编码不一样时,说明已经不是上一个节点的审批处理结果。
通过上面的逻辑即可找到前面会审节点执行驳回操作的处理人了。
三、实现过程
1、代码逻辑
public class ReqToThemeWorkflowPlugin implements Plugin, IWorkflowPlugin { @Override public String parseBillSubject(AgentExecution execution, String lang) { String billNo = ((ExecutionEntityImpl) execution).getBillNo(); //获取单据对应的历史任务处理结果,时间倒叙排序 DynamicObject[] wfs = BusinessDataServiceHelper.load("wf_hicomment", "assignee,activityid,resultnumber,decisiontype,activityname,sendername", new QFilter[]{ new QFilter("billno", QCP.equals,billNo )//taskId },"time desc"); List<TaskEntity> tasks = ((ExecutionEntityImpl) execution).getTasks(); TaskInfo taskById = WorkflowServiceHelper.findTaskById(execution.getCurrentTask().getId()); StringBuilder theme=new StringBuilder(); if(wfs != null && wfs.length > 0){ //处理时间倒叙后的第一条记录 String activityid = wfs[0].getString("activityid");//审批节点编码 Object decisiontype = wfs[0].get("resultnumber");//审批策略 String assignee= wfs[0].getString("assignee");//上一步处理人 theme.append(billNo).append("已被").append(assignee); for(int i=1;i<wfs.length;i++){ DynamicObject wf=wfs[i]; String activityidtemp = wf.getString("activityid");//审批节点编码 String decisiontypetemp = wf.getString("resultnumber");//审批策略 if (activityidtemp.equals(activityid)&&decisiontypetemp.equals("Reject")){//是一个节点驳回操作的操作人(处理人) //审批记录中,和第一个审批节点节点信息一样,并且决策项是Reject的审批记录 theme.append("、").append(wf.get("assignee")); }else if (!activityidtemp.equals(activityid)){//倒叙排序后和第一个审批id不一样,说明不是上一个节点了 break; } } theme.append("驳回"); } return theme.toString(); }
2、注册插件
四、效果图
当1个人同意,2个人驳回时,主题里只显示实际驳回的处理人。
五、开发环境版本
V6.0.1
六、参考资料
消息中心中如何自定义任务主题
关键词:工作流、任务主题一、需求 流程审批遇会审节点驳回,需要在待办任务列表的主题列看到驳回人信息。目前情况如下图:第一条...
点击下载文档
本文2024-09-23 00:55:02发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142577.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章