From 34d5a31bc9a1ec8619402aa3bd766db86bd6d8fa Mon Sep 17 00:00:00 2001 From: yinglong zhang <1679309912@qq.com> Date: Tue, 13 Jul 2021 15:37:31 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=9C=AA=E5=90=88=E8=A7=84=E6=95=B4?= =?UTF-8?q?=E6=94=B9=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ydw/bat/wkflow/BatWkflowApplication.java | 4 + .../DockingApprovalAfter.java | 104 ++++++++++++++ .../DockingApprovalBefore.java | 30 +++++ .../SelectDockUserAfter.java | 6 +- .../SelectResponUserAfter.java | 127 ++++++++++-------- .../StartSurveyAfter.java | 2 +- .../UploadCommentAfter.java | 127 ++++++++++++++++++ .../UploadCommentBefore.java | 5 + .../SelectResponsibleUserAfter.java | 4 +- .../UploadResearchResultAfter.java | 2 +- 10 files changed, 350 insertions(+), 61 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java diff --git a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java index e410f770..5ae2a9eb 100644 --- a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java +++ b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java @@ -1,5 +1,7 @@ package com.ydw.bat.wkflow; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -27,6 +29,8 @@ public class BatWkflowApplication { public static void main(String[] args) { SpringApplication.run(BatWkflowApplication.class, args); +// JSONObject jsonObject= JSON.parseObject("{\"startUser\":\"WY8J26MH23\",\"engineer\":\"engineer\",\"dockUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}],\"actionFlag\":\"0\",\"responUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}]}"); +// System.out.println(jsonObject.toJSONString()); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java new file mode 100644 index 00000000..f5b9d785 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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; +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.ArrayList; +import java.util.Date; +import java.util.List; + +public class DockingApprovalAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = standName + "标准调研流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("8"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + Integer count=delegateTask.getVariable("dockUserApprovalState",Integer.class); + JSONArray responUserList=delegateTask.getVariable("dockUserList", JSONArray.class); + if(count==null)count=0; + count++; + delegateTask.setVariable("dockUserApprovalState",count); + + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + + + if(count>=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("responUser",JSONObject.class).getString("id")); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java new file mode 100644 index 00000000..ac629b9f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java @@ -0,0 +1,30 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class DockingApprovalBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java index 5e245141..d57be008 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java @@ -73,7 +73,7 @@ public class SelectDockUserAfter implements TaskListener { BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ one1.setOverTime(OVERTIME); - one1.setPrcType("1"); + one1.setPrcType("8"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); @@ -100,6 +100,7 @@ public class SelectDockUserAfter implements TaskListener { busBean.update(busProcessNew,updataWapper); if(!nextUserList.isEmpty()){ + List busProcessNews=new ArrayList<>(); for(String nextUser : nextUserList){ BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); @@ -109,8 +110,9 @@ public class SelectDockUserAfter implements TaskListener { busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); - busBean.save(busProcessNewNext); + busProcessNews.add(busProcessNewNext); } + busBean.saveBatch(busProcessNews); }else{ BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java index 70c58b13..98a2cfc4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java @@ -19,6 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; public class SelectResponUserAfter implements TaskListener { @Override @@ -31,51 +32,62 @@ public class SelectResponUserAfter implements TaskListener { queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); - JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - delegateTask.setVariable("objectJson",object); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); List nextUserList = new ArrayList(); - Integer actionFlag=object.getInteger("actionFlag"); - Integer allActionFlag=delegateTask.getVariable("actionFlag",Integer.class); - if(actionFlag==null)actionFlag=0; - if(actionFlag==1)allActionFlag=1; - delegateTask.setVariable("actionFlag",allActionFlag); + Integer actionFlag = object.getInteger("actionFlag"); + Integer allActionFlag = delegateTask.getVariable("actionFlag", Integer.class); + if (actionFlag == null) actionFlag = 0; + if (actionFlag == 1) allActionFlag = 1; + delegateTask.setVariable("actionFlag", allActionFlag); - JSONArray responUserList=(delegateTask.getVariable("responUserList",JSONArray.class)); - if(responUserList==null)responUserList=new JSONArray(); - if(actionFlag==0){ - JSONArray dockUserList=(delegateTask.getVariable("dockUserList",JSONArray.class)); - if(dockUserList==null)dockUserList=new JSONArray(); - JSONObject preDockUser=(delegateTask.getVariable("preDockUser",JSONObject.class)); + JSONArray responUserList = (delegateTask.getVariable("responUserList", JSONArray.class)); + if (responUserList == null) responUserList = new JSONArray(); + if (actionFlag == 0) { + JSONArray dockUserList = (delegateTask.getVariable("dockUserList", JSONArray.class)); + if (dockUserList == null) dockUserList = new JSONArray(); + JSONObject preDockUser = (delegateTask.getVariable("preDockUser", JSONObject.class)); dockUserList.add(preDockUser); - delegateTask.setVariable("dockUserList",dockUserList); + delegateTask.setVariable("dockUserList", dockUserList); - - JSONArray preResponUserList=object.getJSONArray("responUserList"); + JSONArray preResponUserList = object.getJSONArray("responUserList"); for (Object o : preResponUserList) { - JSONObject preResponUser=(JSONObject)o; - boolean ok=true; + JSONObject preResponUser = (JSONObject) o; + boolean ok = true; for (Object o1 : responUserList) { - JSONObject responUser=(JSONObject)o1; - if(responUser.getString("id").equals(preResponUser.get("id"))&&responUser.getString("dockUser").equals(delegateTask.getAssignee())){ - ok=false;break; + JSONObject responUser = (JSONObject) o1; + if (responUser.getString("id").equals(preResponUser.get("id")) + && responUser.getString("dockUser").equals(delegateTask.getAssignee())) { + ok = false; + break; } } - if(ok){ - preResponUser.put("dockUser",delegateTask.getAssignee()); - responUserList.add(preResponUser); + if (ok) { + preResponUser.put("dockUser", delegateTask.getAssignee()); + JSONArray standardInfoList = preResponUser.getJSONArray("standardInfoList"); + for (int i = 0; i < standardInfoList.size(); i++) { + JSONObject jsonObject=new JSONObject(); + jsonObject.put("id",preResponUser.getString("id")); + jsonObject.put("name",preResponUser.getString("name")); + jsonObject.put("dockUser",preResponUser.getString("dockUser")); + jsonObject.put("info",standardInfoList.get(i)); + + + responUserList.add(jsonObject); + } } } - delegateTask.setVariable("responUserList",responUserList); } + delegateTask.setVariable("responUserList", responUserList); - delegateTask.setVariable("objectJson",object); - + delegateTask.setVariable("objectJson", object); + delegateTask.setVariable("dockUserApprovalState", 0); //截止时间 流程描述 创建人 @@ -84,13 +96,13 @@ public class SelectResponUserAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = standName+"未符合项整改"; + String prcName = standName + "未符合项整改"; QueryWrapper queryWrapper2 = new QueryWrapper(); - queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - if(one1!=null){ + if (one1 != null) { one1.setOverTime(OVERTIME); - one1.setPrcType("1"); + one1.setPrcType("8"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); @@ -98,7 +110,6 @@ public class SelectResponUserAfter implements TaskListener { } - // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); @@ -111,19 +122,19 @@ public class SelectResponUserAfter implements TaskListener { busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); - QueryWrapper updataWapper=new QueryWrapper(); - updataWapper.eq("TASK_ID",delegateTask.getId()); - updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); - busBean.update(busProcessNew,updataWapper); + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID", delegateTask.getId()); + updataWapper.eq("P_ID", delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew, updataWapper); - Integer selectResponUserState=delegateTask.getVariable("selectResponUserState",Integer.class); - if(selectResponUserState==null)selectResponUserState=0; - if(actionFlag==0)selectResponUserState++; - delegateTask.setVariable("selectResponUserState",selectResponUserState); - JSONArray dockUserList=(delegateTask.getVariable("preDockUserList",JSONArray.class)); + Integer selectResponUserState = delegateTask.getVariable("selectResponUserState", Integer.class); + if (selectResponUserState == null) selectResponUserState = 0; + if (actionFlag == 0) selectResponUserState++; + delegateTask.setVariable("selectResponUserState", selectResponUserState); + JSONArray dockUserList = (delegateTask.getVariable("preDockUserList", JSONArray.class)); - if(selectResponUserState>=dockUserList.size()){ - if(allActionFlag==1){ + if (selectResponUserState >= dockUserList.size()) { + if (allActionFlag == 1) { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); @@ -131,23 +142,27 @@ public class SelectResponUserAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo("下发至标准法规工程师"); - busProcessNewNext.setUserId(delegateTask.getVariable("engineer",String.class)); + busProcessNewNext.setUserId(delegateTask.getVariable("engineer", String.class)); busBean.save(busProcessNewNext); - }else { + } else { + List busProcessNews = new ArrayList<>(); for (Object o : responUserList) { - JSONObject responUser=(JSONObject)o; - 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(responUser.getString("id")); - busBean.save(busProcessNewNext); - } + JSONObject responUser = (JSONObject) o; + object.put("info",responUser); + + 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(responUser.getString("id")); + busProcessNews.add(busProcessNewNext); + } + busBean.saveBatch(busProcessNews); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java index 8f9d2921..e112bfa4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java @@ -51,7 +51,7 @@ public class StartSurveyAfter implements TaskListener { BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ one1.setOverTime(OVERTIME); - one1.setPrcType("1"); + one1.setPrcType("8"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java new file mode 100644 index 00000000..067800ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java @@ -0,0 +1,127 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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; +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.ArrayList; +import java.util.Date; +import java.util.List; + +public class UploadCommentAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("actionFlag",0); + + JSONArray responUserList=(delegateTask.getVariable("responUserList",JSONArray.class)); + JSONObject responUser = delegateTask.getVariable("responUser", JSONObject.class); + + for (int i = 0; i < responUserList.size(); i++) { + JSONObject obj=(JSONObject)responUserList.get(i); + if(responUser.getString("id").equals(obj.get("id")) + &&responUser.getString("dockUser").equals(obj.get("dockUser")) + + ){ + obj.put("info",object.get("info")); + responUserList.set(i,obj); + break; + } + } + + + delegateTask.setVariable("responUserList",responUserList); + +// JSONArray dockUserList=delegateTask.getVariable("dockUserList", JSONArray.class); +// if(dockUserList==null)dockUserList=new JSONArray(); +// JSONArray preDockUserListOrg=object.getJSONArray("dockUserList"); +// JSONArray preDockUserList=new JSONArray(); +// +// for (Object o : preDockUserListOrg) { +// boolean ok=true; +// JSONObject preDockUserOrg=(JSONObject)o; +// for (Object o1 : dockUserList) { +// JSONObject dockUser=(JSONObject)o1; +// if(dockUser.getString("id").equals(preDockUserOrg.getString("id"))){ +// ok=false;break; +// } +// } +// if(ok){ +// preDockUserList.add(preDockUserOrg); +// nextUserList.add(preDockUserOrg.getString("id")); +// } +// } +// delegateTask.setVariable("preDockUserList",preDockUserList); + + delegateTask.setVariable("objectJson",object); + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = standName+"未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("8"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + 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",JSONObject.class).getString("dockUser")); + busBean.save(busProcessNewNext); + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java index f67c3995..12e3decd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java @@ -1,5 +1,7 @@ package com.ydw.bat.wkflow.listener.NonConformanceRectification; +import com.alibaba.fastjson.JSON; +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; @@ -20,6 +22,9 @@ public class UploadCommentBefore implements TaskListener { List list = busBean.list(queryWrapper1); if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); + JSONObject jsonObject = JSON.parseObject(one1.getMesg()); + jsonObject.put("responUserInfo",delegateTask.getVariable("responUser")); + one1.setMesg(jsonObject.toJSONString()); one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); 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 2b61595c..e1bdbc83 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 @@ -124,6 +124,7 @@ public class SelectResponsibleUserAfter implements TaskListener { if(nextUserList != null && !nextUserList.isEmpty()){ + List busProcessNews=new ArrayList<>(); for(Map zqa : respon){ BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); @@ -134,8 +135,9 @@ public class SelectResponsibleUserAfter implements TaskListener { busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId((String) zqa.get("id")); - busBean.save(busProcessNewNext); + busProcessNews.add(busProcessNewNext); } + busBean.saveBatch(busProcessNews); } } } 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 fe045070..604c360e 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 @@ -45,7 +45,7 @@ public class UploadResearchResultAfter implements TaskListener { JSONArray info = jsonObject.getObject("info", JSONArray.class); info.addAll(object.getJSONArray("info")); - jsonObject.put("info",info); + jsonObject.put("info",object.getJSONArray("info")); object.put("responUser",jsonObject.getString("id")); object.put("responUserName",jsonObject.getString("name"));