diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java index d05c4b4e..f216d141 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java @@ -89,8 +89,8 @@ public class DistributionAfter implements TaskListener { if(nextUserList != null && !nextUserList.isEmpty()){ for(String nextUser : nextUserList){ + //标记此用户是事业部还是产品规划部 JSONObject repositoryObject =object; -// TODO if(object.getString("")); if (userAndInstitutionNameMap.get(nextUser).contains("事业部")){ repositoryObject.put("feedbackDept","1"); prcName+="-责任人反馈事业部情况"; diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java index 71dbf067..e670127d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java @@ -78,7 +78,7 @@ public class ReLaunchAfter implements TaskListener { busProcessNew.setCommitText(object.getString("commentText")); busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); - busBean.save(busProcessNew); + busBean.saveOrUpdate(busProcessNew); if(nextUserList != null && !nextUserList.isEmpty()){ for(String nextUser : nextUserList){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java index 080b05e4..44f9d6cb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java @@ -105,4 +105,4 @@ public class DockingApprovalAfter implements TaskListener { busBean.save(busProcessNewNext); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java index 153a7dd2..81f1b8f9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java @@ -98,9 +98,8 @@ public class MinisterAndDockerSignAfter implements TaskListener { Integer count=delegateTask.getVariable("task3OKCount",Integer.class); List userList=delegateTask.getVariable("userList",List.class); - + if(count==null)count=0; if(delegateTask.getVariable("actionFlag",Integer.class)==0){ - if(count==null)count=0; count++; delegateTask.setVariable("task3OKCount",count); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java index f1100089..ea7e09be 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java @@ -36,31 +36,27 @@ public class DistributionAfter implements TaskListener { delegateTask.setVariable("objectJson",object); List nextUserList = new ArrayList(); + Map departmentMap = new HashMap<>(); //用户--用户所属部门 if(StringUtils.isNotBlank(object.getString("responUserList"))){ nextUserList= Arrays.asList(object.getString("responUserList").split(",")); + JSONArray mapArray = object.getJSONArray("responUserAndInstitutionNameMap"); + for (Object jsonMap : mapArray) { + departmentMap.putAll(JSONObject.parseObject(jsonMap.toString(), Map.class)); + + } // 配置多实例 delegateTask.setVariable("commentUserList",nextUserList); delegateTask.addCandidateUsers(nextUserList); } - JSONArray userListJson= JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); - if(userListJson==null)userListJson=new JSONArray(); - List strings=new ArrayList<>(); - Map map=new HashMap<>(); - for (int i = 0; i < nextUserList.size(); i++) { - JSONObject json=new JSONObject(); - json.put("id",nextUserList.get(i)); - json.put("name",nextUserList.get(i)); - json.put("dockUser",delegateTask.getAssignee()); - json.put("info",new JSONArray()); - userListJson.add(json); - strings.add(nextUserList.get(i)); - map.put(nextUserList.get(i),json); - } + JSONArray commentCollectionList=delegateTask.getVariable("commentCollectionList",JSONArray.class); + if (commentCollectionList==null) commentCollectionList=new JSONArray(); + delegateTask.setVariable("commentCollectionList",commentCollectionList); + @@ -97,10 +93,14 @@ public class DistributionAfter implements TaskListener { if(nextUserList != null && !nextUserList.isEmpty()){ for(String nextUser : nextUserList){ + //标记此用户是事业部还是产品规划部 + JSONObject repositoryObject =object; + repositoryObject.put("department",departmentMap.get(nextUser)); + BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setMesg(repositoryObject.toJSONString()); busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java index dd57a56e..96f93b90 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java @@ -56,7 +56,7 @@ public class DockerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程-法规工程师修订征求意见"; + String prcName = "政策征求意见流程-法规工程师单条审核"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java index 010ee93c..331be057 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.listener.policyCommentProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; @@ -14,10 +15,7 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; /** * 工程师审核 @@ -38,10 +36,19 @@ public class EngineerReviewAfter implements TaskListener { List nextUserList = new ArrayList(); - if ("0".equals(object.getString("actionFlag"))){ - String lawsProveEngineer = JSONObject.parseObject(object.getString("form")).getString("lawsProveEngineerId"); + if ("0".equals( object.getString("actionFlag"))){ + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveEngineer = JSONObject.parseObject(form.getString("form")).getString("lawsProveEngineerId"); if(StringUtils.isNotBlank(lawsProveEngineer)){ + JSONArray commentCollectionList =delegateTask.getVariable("commentCollectionList", JSONArray.class); + if (commentCollectionList==null) { + commentCollectionList=new JSONArray(); + } + commentCollectionList.addAll(object.getJSONArray("info")); + delegateTask.setVariable("commentCollectionList",commentCollectionList); + + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineer); delegateTask.setVariable("lawsProveEngineerVerify",0); @@ -59,7 +66,7 @@ public class EngineerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程-法规工程师修订"; + String prcName = "政策征求意见流程-法规工程师汇总修订"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); @@ -72,17 +79,30 @@ public class EngineerReviewAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - // 存储当前节点意见 - BusProcessNew busProcessNew = new BusProcessNew(); - busProcessNew.setMsgType("clause"); - busProcessNew.setPId(delegateTask.getProcessInstanceId()); - busProcessNew.setMesg(object.toJSONString()); - busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); - busProcessNew.setTaskId(delegateTask.getId()); - busProcessNew.setCommitText(object.getString("commentText")); - busProcessNew.setFinishFlag("0"); - busProcessNew.setTaskInfo(delegateTask.getName()); - busBean.save(busProcessNew); + + /** + * 当子任务结束时存储 + */ + Integer commentCount=delegateTask.getVariable("commentCount",Integer.class); + if(commentCount==null)commentCount=0; + commentCount++; + delegateTask.setVariable("count",commentCount); + + Collection commentUserList=delegateTask.getVariable("commentUserList",Collection.class); + if(commentCount>=commentUserList.size()){ + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + } + if(nextUserList != null && !nextUserList.isEmpty()){ for(String nextUser : nextUserList){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java index ff0055cd..768b0e5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java @@ -38,8 +38,8 @@ public class EngineerRevisionAfter implements TaskListener { List nextUserList = new ArrayList(); - - String lawsProveMinister = JSONObject.parseObject(object.getString("form")).getString("lawsProveMinisterId"); + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveMinister = JSONObject.parseObject(form.getString("form")).getString("lawsProveMinisterId"); if(StringUtils.isNotBlank(lawsProveMinister)){ delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java index d1543447..c0b22a0a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java @@ -1,5 +1,8 @@ package com.ydw.bat.wkflow.listener.policyCommentProcess; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; @@ -27,6 +30,17 @@ public class EngineerRevisionBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); + + /** + * 汇总已审批通过的意见 + */ + String msg = one1.getMesg(); + JSONObject msgJsonBoj = JSON.parseObject(msg); + JSONArray commentCollectionList=delegateTask.getVariable("commentCollectionList",JSONArray.class); + msgJsonBoj.put("info",commentCollectionList); + one1.setMesg(msgJsonBoj.toJSONString()); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep2?prcType=laws2"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java index 78676eed..c774bc6a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java @@ -1,5 +1,7 @@ package com.ydw.bat.wkflow.listener.policyCommentProcess; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; @@ -39,6 +41,8 @@ public class FillCommentAfter implements TaskListener { List nextUserList = new ArrayList(); if(StringUtils.isNotBlank(responseDocker)){ + + delegateTask.setVariable("responseDockerId",responseDocker); nextUserList= Arrays.asList(responseDocker.split(",")); delegateTask.addCandidateUsers(nextUserList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java index 5a3cf765..36345396 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java @@ -38,7 +38,9 @@ public class MinisterReviewAfter implements TaskListener { List nextUserList = new ArrayList(); if ("0".equals(object.getString("actionFlag"))){ - String lawsProveViceChief = JSONObject.parseObject(object.getString("form")).getString("lawsProveViceChiefId"); + + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveViceChief = JSONObject.parseObject(form.getString("form")).getString("lawsProveViceChiefId"); if(StringUtils.isNotBlank(lawsProveViceChief)){ delegateTask.setVariable("lawsProveMinisterVerify",0); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java index f443591e..ffd0a1ba 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java @@ -38,7 +38,10 @@ public class ViceDirectorAfter implements TaskListener { List nextUserList = new ArrayList(); if ("0".equals(object.getString("actionFlag"))){ - String lawsProveChief = JSONObject.parseObject(object.getString("form")).getString("lawsProveChiefId"); + + + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveChief = JSONObject.parseObject(form.getString("form")).getString("lawsProveChiefId"); if(StringUtils.isNotBlank(lawsProveChief)){ delegateTask.setVariable("lawsProveViceChiefVerify",0);