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 442374c9..062c5984 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 @@ -9,13 +9,12 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import io.swagger.models.auth.In; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; public class DockingApprovalAfter implements TaskListener { @Override @@ -31,7 +30,7 @@ public class DockingApprovalAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - List nextUserList = new ArrayList(); + List nextUserList = null; if ("1".equals(object.getString("actionFlag"))) { delegateTask.setVariable("actionFlag", 1); } else { @@ -74,48 +73,35 @@ public class DockingApprovalAfter implements TaskListener { updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); busBean.update(busProcessNew,updataWapper); - if (nextUserList != null && !nextUserList.isEmpty()) { - for (String nextUser : nextUserList) { + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + Integer responUserCompletedCount=delegateTask.getVariable("responUserCompletedCount",Integer.class); + if(responUserCompletedCount==null)responUserCompletedCount=0; + responUserCompletedCount++; + delegateTask.setVariable("responUserCompletedCount",responUserCompletedCount); + + Collection responUserList=delegateTask.getVariable("zqazqazqaUserList",Collection.class); + + if(responUserCompletedCount>=responUserList.size()){ BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); - busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); busBean.save(busProcessNewNext); } + }else{ - if(delegateTask.getVariable("actionFlag",Integer.class)==0){ - - Integer count=delegateTask.getVariable("task1Count",Integer.class); - List responUserList=delegateTask.getVariable("responUserList",List.class); - if(count==null)count=0; - count++; - delegateTask.setVariable("task1Count",count); - - if(count>=responUserList.size()){ - BusProcessNew busProcessNewNext = new BusProcessNew(); - busProcessNewNext.setMsgType("clause"); - busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); - busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); - busBean.save(busProcessNewNext); - } - - }else{ - BusProcessNew busProcessNewNext = new BusProcessNew(); - busProcessNewNext.setMsgType("clause"); - busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo("责任人上传调研结果"); - busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class)); - busBean.save(busProcessNewNext); - } + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("责任人上传调研结果"); + busProcessNewNext.setUserId(object.getString("responUser")); + busBean.save(busProcessNewNext); } } -} +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java index 2adb7177..3a37b806 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; 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; @@ -41,11 +42,11 @@ public class SelectResponsibleUserAfter implements TaskListener { String userListString=object.getString("responUserList"); String userListStringName=object.getString("responUserListName"); + String userListStringDepartment=object.getString("responUserListNameDepartment"); List responUserList = Arrays.asList(userListString.split(",")); for (int i = 0; i < responUserList.size(); i++) { responUserList1.add(responUserList.get(i).trim()); - delegateTask.setVariable(responUserList.get(i).trim()+"dockUser",delegateTask.getAssignee()); } List responUserListName= Arrays.asList(userListStringName.split(",")); @@ -54,20 +55,23 @@ public class SelectResponsibleUserAfter implements TaskListener { } nextUserList=responUserList1; - JSONObject userListJson= JSON.parseObject(delegateTask.getVariable("responUserListMap",String.class)); - if(userListJson==null)userListJson=new JSONObject(); + List responUserListNameDepartment= Arrays.asList(userListStringDepartment.split(",").clone()); + + JSONArray userListJson= JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); + if(userListJson==null)userListJson=new JSONArray(); for (int i = 0; i < responUserList.size()&&i=dockUserList.size()){ - Collection values = userListJson.getInnerMap().values(); + Collection values = userListJson; Collection> respon=new ArrayList<>(); for (Object value : values) { respon.add(((JSONObject)value).getInnerMap()); @@ -127,6 +131,7 @@ public class SelectResponsibleUserAfter implements TaskListener { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + object.put("dockUser",(String)zqa.get("dockUser")); busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java index 31a6655b..2a601fc4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; 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; @@ -21,9 +22,41 @@ public class SummarySurveyBefore implements TaskListener { List list = busBean.list(queryWrapper1); if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); + JSONObject obj= JSON.parseObject(one1.getMesg()); - JSONObject map = JSON.parseObject(delegateTask.getVariable("responUserListMap", String.class)); - obj.put("responUserListMap",map.values()); + + //看全局变量里有没有存Summary,有的话就直接走,没的话就就初始化 + JSONArray summaryList=JSON.parseArray(delegateTask.getVariable("summaryList",String.class)); + JSONArray array = JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); + if(summaryList==null){ + summaryList=new JSONArray(); + + for (Object o : array) { + JSONObject object=(JSONObject)o; + JSONArray infoList=object.getObject("info",JSONArray.class); + + for (Object o1 : infoList) { + JSONObject summaryEntity=new JSONObject(); + JSONObject info=(JSONObject)o1;//info 具体反馈的信息 + + summaryEntity.put("responUser",object.getString("id")); + summaryEntity.put("responUserName",object.getString("name")); + summaryEntity.put("department",object.getString("department")); + summaryEntity.put("dockUser",object.getString("dockUser")); + summaryEntity.put("chapterNumber",info.getString("chapterNumber"));//章节编号 + summaryEntity.put("chapterName",info.getString("chapterName"));//章节名称 + summaryEntity.put("commentText",info.getString("commentText"));//修改意见内容 + summaryEntity.put("state",null);//修改意见内容 + summaryEntity.put("stateInfo",null);//修改意见内容 + + summaryList.add(summaryEntity); + } + } + } + + obj.put("summaryList",summaryList); + delegateTask.setVariable("summaryList",summaryList.toJSONString()); + one1.setMesg(obj.toJSONString()); one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java index 5f11baf5..6d26aa39 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; 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; @@ -18,6 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; @Slf4j public class UploadResearchResultAfter implements TaskListener { @@ -34,17 +36,25 @@ public class UploadResearchResultAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - JSONObject map = JSON.parseObject(delegateTask.getVariable("responUserListMap", String.class)); - JSONObject jsonObject = map.getJSONObject(delegateTask.getAssignee()); + JSONArray responUserListInfo = JSON.parseArray(delegateTask.getVariable("responUserListInfo", String.class)); + for (int i=0;i nextUserList = new ArrayList(); - object.put("responUser",jsonObject.getString("id")); - object.put("responUserName",jsonObject.getString("name")); + delegateTask.setVariable("objectJson",object); @@ -103,7 +113,8 @@ public class UploadResearchResultAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo("责任对接人审批"); - busProcessNewNext.setUserId(delegateTask.getVariable(delegateTask.getAssignee()+"dockUser",String.class)); + + busProcessNewNext.setUserId((String) delegateTask.getVariable("responUser", Map.class).get("dockUser")); busBean.save(busProcessNewNext); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java index 9c8c1b47..691a469f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java @@ -1,20 +1,21 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; -import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; -import com.ydw.bat.wkflow.business_main.datas.entity.Datas; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; -import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; -import com.ydw.bat.wkflow.util.SpringContextUtil; -import io.swagger.models.auth.In; -import org.activiti.engine.delegate.DelegateTask; -import org.activiti.engine.delegate.TaskListener; + import com.alibaba.fastjson.JSONObject; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; + import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; + import com.ydw.bat.wkflow.business_main.datas.entity.Datas; + import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; + import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; + import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; + import com.ydw.bat.wkflow.util.SpringContextUtil; + import org.activiti.engine.delegate.DelegateTask; + import org.activiti.engine.delegate.TaskListener; -import java.text.SimpleDateFormat; -import java.util.*; + import java.text.SimpleDateFormat; + import java.util.ArrayList; + import java.util.Date; + import java.util.List; public class DockingApprovalAfter implements TaskListener { @Override @@ -30,7 +31,7 @@ public class DockingApprovalAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - List nextUserList = null; + List nextUserList = new ArrayList(); if ("1".equals(object.getString("actionFlag"))) { delegateTask.setVariable("actionFlag", 1); } else { @@ -73,35 +74,48 @@ public class DockingApprovalAfter implements TaskListener { updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); busBean.update(busProcessNew,updataWapper); - if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busBean.save(busProcessNewNext); + } + }else{ + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ - Integer responUserCompletedCount=delegateTask.getVariable("responUserCompletedCount",Integer.class); - if(responUserCompletedCount==null)responUserCompletedCount=0; - responUserCompletedCount++; - delegateTask.setVariable("selectResponCompletedCount",responUserCompletedCount); + Integer count=delegateTask.getVariable("task1Count",Integer.class); + List responUserList=delegateTask.getVariable("responUserList",List.class); + if(count==null)count=0; + count++; + delegateTask.setVariable("task1Count",count); - Collection responUserList=delegateTask.getVariable("zqazqazqaUserList",Collection.class); + if(count>=responUserList.size()){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busBean.save(busProcessNewNext); + } - if(responUserCompletedCount>=responUserList.size()){ + }else{ BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); - busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busProcessNewNext.setTaskInfo("责任人上传调研结果"); + busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class)); busBean.save(busProcessNewNext); } - - }else{ - BusProcessNew busProcessNewNext = new BusProcessNew(); - busProcessNewNext.setMsgType("clause"); - busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo("责任人上传调研结果"); - busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class)); - busBean.save(busProcessNewNext); } } }