From e2770566c754ab9e5623d60ce9fe4aacaf1f37b5 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Tue, 2 Nov 2021 16:50:38 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E9=87=8D=E7=82=B9=E6=A0=87=E5=87=86?= =?UTF-8?q?=E5=92=8C=E6=94=BF=E7=AD=96=E5=90=88=E8=A7=84=E6=80=A7=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=AE=A1=E6=9F=A5=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KCSTPReviewProcess/AdminReviewAfter.java | 111 ++++++++++++++ .../KCSTPReviewProcess/AdminReviewBefore.java | 39 +++++ .../DeptLeaderReviewAfter.java | 110 ++++++++++++++ .../DeptLeaderReviewBefore.java | 35 +++++ .../KCSTPReviewProcess/DistributionAfter.java | 120 ++++++++++++++++ .../DistributionBefore.java | 39 +++++ .../KCSTPReviewProcess/FeedBackAfter.java | 103 +++++++++++++ .../KCSTPReviewProcess/FeedBackBefore.java | 35 +++++ .../KCSTPReviewProcess/LaunchAfter.java | 103 +++++++++++++ .../KCSTPReviewProcess/LaunchBefore.java | 35 +++++ .../MinisterReviewAfter.java | 119 +++++++++++++++ .../MinisterReviewBefore.java | 38 +++++ .../KCSTPReviewProcess/ReLaunchAfter.java | 102 +++++++++++++ .../KCSTPReviewProcess/ReLaunchBefore.java | 35 +++++ .../SubMinisterReviewAfter.java | 108 ++++++++++++++ .../SubMinisterReviewBefore.java | 38 +++++ .../SubViceDirectorAfter.java | 136 ++++++++++++++++++ .../SubViceDirectorBefore.java | 39 +++++ .../KCSTPReviewProcess/ViceDirectorAfter.java | 123 ++++++++++++++++ .../ViceDirectorBefore.java | 39 +++++ 20 files changed, 1507 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java new file mode 100644 index 00000000..f899449a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java @@ -0,0 +1,111 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 任务下发 + */ +public class AdminReviewAfter 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(); + + + /** + * next 子任务-法规认证部长审定 + */ + if("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief =object.getString("lawsProveMinisterId"); + + if(StringUtils.isNotBlank(lawsProveViceChief)){ + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + + delegateTask.setVariable("standardAdministratorVerify",0); + // 配置多实例 + delegateTask.setVariable("subLawsProveMinisterId",lawsProveViceChief); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + } + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-法规认证部长审定"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java new file mode 100644 index 00000000..3720543b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 AdminReviewBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java new file mode 100644 index 00000000..ce5008f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 任务下发 + */ +public class DeptLeaderReviewAfter 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); + + /** + * next 法规管理员审核 + */ + List nextUserList = new ArrayList(); + + if("0".equals(object.getString("actionFlag"))){ + String startUser = object.getString("startUser"); + + if(StringUtils.isNotBlank(startUser)){ + nextUserList= Arrays.asList(startUser.split(",")); + + delegateTask.setVariable("leaderVerify",0); + // 配置多实例 + delegateTask.setVariable("subStartUser",startUser); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + } + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-法规管理员审核"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java new file mode 100644 index 00000000..ae4f2476 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 DeptLeaderReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} 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 new file mode 100644 index 00000000..d05c4b4e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java @@ -0,0 +1,120 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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; +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 org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 任务下发 + */ +public class DistributionAfter 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(); + Map userAndInstitutionNameMap = new HashMap<>(); + + + /** + * next 责任人反馈情况 + */ + if(StringUtils.isNotBlank(object.getString("responUserList"))){ + nextUserList= Arrays.asList(object.getString("responUserList").split(",")); + + + JSONArray mapArray = object.getJSONArray("responUserAndInstitutionNameMap"); + for (Object jsonMap : mapArray) { + userAndInstitutionNameMap.putAll(JSONObject.parseObject(jsonMap.toString(), Map.class)); + + } + // 配置多实例 + delegateTask.setVariable("responseUserIdList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + } + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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+="-责任人反馈事业部情况"; + }else { + repositoryObject.put("feedbackDept","2"); + prcName+="-责任人反馈产品规划部情况"; + + + } + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(repositoryObject.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java new file mode 100644 index 00000000..6cd09bd5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 DistributionBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java new file mode 100644 index 00000000..ed1aa349 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 任务下发 + */ +public class FeedBackAfter 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); + + /** + * next 责任部门领导批准 + */ + List nextUserList = new ArrayList(); + String subResponseDeptLeader =object.getString("responseDeptLeaderId"); + + if(StringUtils.isNotBlank(subResponseDeptLeader)){ + nextUserList= Arrays.asList(subResponseDeptLeader.split(",")); + + // 配置多实例 + delegateTask.setVariable("subResponseDeptLeaderId",subResponseDeptLeader); + delegateTask.addCandidateUsers(nextUserList); + } + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-责任部门领导批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java new file mode 100644 index 00000000..815cb7ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 FeedBackBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java new file mode 100644 index 00000000..885a3273 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +public class LaunchAfter 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); + + + /** + * 指定下一个流程节点的操作人 + * next 法规认证部长批准 + */ + List nextUserList = new ArrayList(); + String lawsProveMinister = object.getString("lawsProveMinisterId"); + if(StringUtils.isNotBlank(lawsProveMinister)){ + nextUserList= Arrays.asList(lawsProveMinister); + + + delegateTask.setVariable("startUser",object.get("startUser")); + delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); + delegateTask.addCandidateUsers(nextUserList); + } + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-法规认证部长批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java new file mode 100644 index 00000000..3784191e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 LaunchBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java new file mode 100644 index 00000000..9d51a335 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 部长审核 + */ +public class MinisterReviewAfter 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); + + /** + * next 法规认证部副总监批准 + */ + String prcName = "重点认证标准/政策合规性项目审查流程";//下一步名称 + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief = object.getString("lawsProveViceChiefId"); + if(StringUtils.isNotBlank(lawsProveViceChief)){ + + prcName+="-法规认证副总监批准"; + delegateTask.setVariable("lawsProveMinisterVerify",0); + delegateTask.setVariable("lawsProveViceChiefId",lawsProveViceChief); + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回操作 + String startUser = object.getString("startUser"); + if (StringUtils.isNotBlank(startUser)){ + + prcName+="-重新发起重点认证标准/政策合规性项目审查流程"; + delegateTask.setVariable("lawsProveMinisterVerify",1); + delegateTask.setVariable("startUser",startUser); + nextUserList=Arrays.asList(startUser.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + } + + + + //截止时间 流程描述 创建人 + 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 = ""; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java new file mode 100644 index 00000000..b445e82c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 MinisterReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} 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 new file mode 100644 index 00000000..71dbf067 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +public class ReLaunchAfter 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); + + + /** + * 指定下一个流程节点的操作人 + * next 法规认证部长批准 + */ + List nextUserList = new ArrayList(); + String lawsProveMinister = object.getString("lawsProveMinisterId"); + if(StringUtils.isNotBlank(lawsProveMinister)){ + nextUserList= Arrays.asList(lawsProveMinister); + + + delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); + delegateTask.addCandidateUsers(nextUserList); + } + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-法规认证部长批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java new file mode 100644 index 00000000..c383d601 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 ReLaunchBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java new file mode 100644 index 00000000..79d68d6b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 部长审核 + */ +public class SubMinisterReviewAfter 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); + + /** + * next 法规认证部副总监批准 + */ + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief = object.getString("lawsProveViceChiefId"); + if(StringUtils.isNotBlank(lawsProveViceChief)){ + + delegateTask.setVariable("lawsProveMinisterVerify",0); + delegateTask.setVariable("subLawsProveViceChiefId",lawsProveViceChief); + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回操作 + } + + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-法规认证副总监批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java new file mode 100644 index 00000000..c4d18a68 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 SubMinisterReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java new file mode 100644 index 00000000..9526cf8c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 副总监审核 + */ +public class SubViceDirectorAfter 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); + + + /** + * next 结束 + */ + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("lawsProveViceChiefVerify",0); + + //流程结束 + func2(delegateTask, busBean, object, "0", busProcessNameService); + + }else { + //TODO 驳回 + String startUser = object.getString("startUser"); + delegateTask.setVariable("startUser",startUser); + nextUserList = Arrays.asList(startUser.split(",")); + + + delegateTask.setVariable("lawsProveViceChiefVerify",1); + + + } + + + //截止时间 流程描述 创建人 + 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 = "重点认证标准/政策合规性项目审查流程-责任部门领导任务下发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } + + //流程结束 + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("laws3"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java new file mode 100644 index 00000000..425fa993 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 SubViceDirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + //TODO 设置路由 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java new file mode 100644 index 00000000..23d56c36 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java @@ -0,0 +1,123 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 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; + +/** + * 副总监审核 + */ +public class ViceDirectorAfter 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); + + + /** + * next 责任部门领导 + */ + List nextUserList = new ArrayList(); + String prcName = "重点认证标准/政策合规性项目审查流程"; + + if ("0".equals(object.getString("actionFlag"))){ + String responseDeptLeader = object.getString("responseDeptLeaderId"); + if(StringUtils.isNotBlank(responseDeptLeader)){ + + + prcName+="责任部门领导任务下发"; + delegateTask.setVariable("lawsProveViceChiefVerify",0); + delegateTask.setVariable("responseDeptLeaderId",responseDeptLeader); + nextUserList= Arrays.asList(responseDeptLeader.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + String startUser = object.getString("startUser"); + + if (StringUtils.isNotBlank(startUser)){ + + prcName+="-重新发起重点认证标准/政策合规性项目审查流程"; + delegateTask.setVariable("lawsProveViceChiefVerify",1); + delegateTask.setVariable("startUser",startUser); + nextUserList=Arrays.asList(startUser.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + + + } + + + //截止时间 流程描述 创建人 + 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 = ""; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws3"); + 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()); + busBean.save(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java new file mode 100644 index 00000000..a365c898 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.business_mq.service.CreateMQService; +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 ViceDirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + //TODO 设置路由 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} From 2b53ef0f797f94acb726254012d99754fa5977d3 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Tue, 2 Nov 2021 16:51:23 +0800 Subject: [PATCH 02/26] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionAfter.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) 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 9f8fa453..f1100089 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 @@ -16,10 +16,8 @@ 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.*; + /** * 任务下发 */ @@ -44,10 +42,28 @@ public class DistributionAfter implements TaskListener { nextUserList= Arrays.asList(object.getString("responUserList").split(",")); // 配置多实例 - delegateTask.setVariable("CommentUserList",nextUserList); + 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); + } + + + //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = object.getString("prcCreateUser"); From 2a2088fa87e774653a6999e49ec1378a1b82b83d Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Tue, 2 Nov 2021 17:59:26 +0800 Subject: [PATCH 03/26] feat: There is no way the,Laws --- .../lawsLibrary/LCLApplicantAfter.java | 112 ++++++++++++++++++ .../lawsLibrary/LCLApplicantBefore.java | 39 ++++++ .../lawsLibrary/LawsManagerApproveAfter.java | 4 +- .../lawsLibrary/LawsManagerApproveBefore.java | 2 +- 4 files changed, 154 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java new file mode 100644 index 00000000..afed8254 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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 com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 政策入库申请人重新发起后 + */ +public class LCLApplicantAfter 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); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one = list.get(0); + JSONObject object = JSONObject.parseObject(one.getMesg()); + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",object.getString("jlUserId")); + nextUserList.add(object.getString("jlUserId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + 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 = "政策入库流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setId(one.getId()); + 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.saveOrUpdate(busProcessNew); + + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java new file mode 100644 index 00000000..c4361758 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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.business_mq.service.CreateMQService; +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 LCLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("zcrkStep1?prcType=laws1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java index 1da03b91..6d9e8ec5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java @@ -32,7 +32,7 @@ public class LawsManagerApproveAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); - + String prcName = "政策入库流程"; if ("1".equalsIgnoreCase(approvalOpinion)) { delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); @@ -44,7 +44,7 @@ public class LawsManagerApproveAfter implements TaskListener { busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); busProcessNew.setUserId(object.getString("applyUpdUserId")); - busProcessNew.setPrcName(delegateTask.getVariable("prcs",String.class)); + busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); func1(delegateTask, busBean, object, "1"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java index d019a55a..e845d073 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java @@ -30,7 +30,7 @@ public class LawsManagerApproveBefore implements TaskListener{ one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=1"); + one1.setLink("zcrkStep2?prcType=laws1"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } From 0d726dd4300bcaf3aaa25df9ee42fba74f654648 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 3 Nov 2021 15:46:57 +0800 Subject: [PATCH 04/26] feat: There is no way the,Laws --- .../ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java index c4361758..c8af4d69 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java @@ -31,7 +31,7 @@ public class LCLApplicantBefore implements TaskListener{ one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrkStep1?prcType=laws1"); + one1.setLink("zcrkStep3?prcType=laws1"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } From 6d9cd8ffb4eb7d27a9542a6be53131968a11fcaf Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:52:46 +0800 Subject: [PATCH 05/26] =?UTF-8?q?=E6=A0=87=E8=AE=B0=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E4=B8=BA=E4=BA=8B=E4=B8=9A=E9=83=A8=E8=BF=98=E6=98=AF=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E8=A7=84=E5=88=92=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionAfter.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) 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()); From 25536df1aae4e31454229d4fdf0f5c86b8f2bbde Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:54:01 +0800 Subject: [PATCH 06/26] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wkflow/listener/KCSTPReviewProcess/DistributionAfter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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+="-责任人反馈事业部情况"; From 72de3865f7544455a4cc27b750f2a0ed8eca2d24 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:55:49 +0800 Subject: [PATCH 07/26] commit --- .../listener/StandardCommentProcess/DockingApprovalAfter.java | 2 +- .../wkflow/listener/policyCommentProcess/DockerReviewAfter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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); From ac879208a4c38798e6ad038f68162a2a5f069d3f Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:57:29 +0800 Subject: [PATCH 08/26] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EngineerRevisionBefore.java | 14 ++++++++++++++ .../policyCommentProcess/FillCommentAfter.java | 11 +++++++++++ 2 files changed, 25 insertions(+) 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..c8fbf5a1 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,15 @@ public class FillCommentAfter implements TaskListener { List nextUserList = new ArrayList(); if(StringUtils.isNotBlank(responseDocker)){ + + JSONArray commentCollectionList =delegateTask.getVariable("commentCollectionList", JSONArray.class); + if (commentCollectionList==null) { + commentCollectionList=new JSONArray(); + } + commentCollectionList.addAll(object.getJSONArray("info")); + + + delegateTask.setVariable("commentCollectionList",commentCollectionList); delegateTask.setVariable("responseDockerId",responseDocker); nextUserList= Arrays.asList(responseDocker.split(",")); delegateTask.addCandidateUsers(nextUserList); From 398ab4812067684055c8690e914901a2490f525b Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:58:40 +0800 Subject: [PATCH 09/26] {form:{form:{}}} --- .../EngineerReviewAfter.java | 47 ++++++++++++------- .../EngineerRevisionAfter.java | 4 +- .../MinisterReviewAfter.java | 4 +- .../ViceDirectorAfter.java | 5 +- 4 files changed, 38 insertions(+), 22 deletions(-) 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..4cdcd269 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 @@ -14,10 +14,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,8 +35,9 @@ 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)){ delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineer); @@ -59,7 +57,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 +70,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/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); From 9c14008801d92eaedf3639d80be47e96c4c6b0e6 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 4 Nov 2021 17:59:38 +0800 Subject: [PATCH 10/26] =?UTF-8?q?=E9=87=8D=E5=90=AF=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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){ From e10244d815fe52f48929df48907f578892e65d92 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Fri, 5 Nov 2021 09:52:17 +0800 Subject: [PATCH 11/26] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=B8=88=E5=A1=AB?= =?UTF-8?q?=E5=86=99=E6=84=8F=E8=A7=81=E5=90=8E=E8=A2=AB=E7=BB=A7=E7=BB=AD?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A0=E6=B3=95=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../policyCommentProcess/EngineerReviewAfter.java | 9 +++++++++ .../listener/policyCommentProcess/FillCommentAfter.java | 7 ------- 2 files changed, 9 insertions(+), 7 deletions(-) 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 4cdcd269..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; @@ -40,6 +41,14 @@ public class EngineerReviewAfter implements TaskListener { 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); 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 c8fbf5a1..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 @@ -42,14 +42,7 @@ public class FillCommentAfter implements TaskListener { if(StringUtils.isNotBlank(responseDocker)){ - JSONArray commentCollectionList =delegateTask.getVariable("commentCollectionList", JSONArray.class); - if (commentCollectionList==null) { - commentCollectionList=new JSONArray(); - } - commentCollectionList.addAll(object.getJSONArray("info")); - - delegateTask.setVariable("commentCollectionList",commentCollectionList); delegateTask.setVariable("responseDockerId",responseDocker); nextUserList= Arrays.asList(responseDocker.split(",")); delegateTask.addCandidateUsers(nextUserList); From 2184de25391d2ad452bbc1ca34be5407e8fce8ec Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Sun, 7 Nov 2021 11:06:03 +0800 Subject: [PATCH 12/26] =?UTF-8?q?=E6=A0=87=E5=87=86=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81=20-=20=E6=B5=81=E7=A8=8B=E9=80=BB=E8=BE=91?= =?UTF-8?q?=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StandardCommentProcess/MinisterAndDockerSignAfter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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); } From 9ffca259c19663d18f9e030294a02f458d497409 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Tue, 16 Nov 2021 17:06:13 +0800 Subject: [PATCH 13/26] =?UTF-8?q?=E6=96=B0=E6=B5=81=E7=A8=8B=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=B7=B2=E5=8F=91=E5=92=8C=E5=B7=B2=E5=8A=9E=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=9F=A5=E8=AF=A2=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 20 +-- .../datas/mapper/BusProcessNewMapper.java | 2 + .../datas/service/IBusProcessNewService.java | 1 + .../impl/BusProcessNewServiceImpl.java | 5 + .../PCAffLiableDistributeAfter.java | 9 +- .../listener/aboliish/ProcessStep1After.java | 82 ++++++++++++ .../listener/aboliish/ProcessStep1Before.java | 36 ++++++ .../listener/aboliish/ProcessStep2After.java | 82 ++++++++++++ .../listener/aboliish/ProcessStep2Before.java | 36 ++++++ .../listener/aboliish/ProcessStep3After.java | 72 +++++++++++ .../listener/aboliish/ProcessStep3Before.java | 36 ++++++ .../listener/aboliish/ProcessStep4After.java | 83 ++++++++++++ .../listener/aboliish/ProcessStep4Before.java | 36 ++++++ .../listener/aboliish/ProcessStep5After.java | 83 ++++++++++++ .../listener/aboliish/ProcessStep5Before.java | 36 ++++++ .../listener/aboliish/ProcessStep6After.java | 91 ++++++++++++++ .../listener/aboliish/ProcessStep6Before.java | 36 ++++++ .../listener/aboliish/ProcessstartAfter.java | 75 +++++++++++ .../listener/aboliish/ProcessstartBefore.java | 13 ++ .../ProcessStep1After.java | 78 ++++++++++++ .../ProcessStep1Before.java | 36 ++++++ .../ProcessStep2After.java | 98 +++++++++++++++ .../ProcessStep2Before.java | 36 ++++++ .../ProcessStep3After.java | 118 ++++++++++++++++++ .../ProcessStep3Before.java | 36 ++++++ .../ProcessstartAfter.java | 78 ++++++++++++ .../ProcessstartBefore.java | 13 ++ .../ProcessStep1After.java | 89 +++++++++++++ .../ProcessStep1Before.java | 36 ++++++ .../ProcessStep2After.java | 92 ++++++++++++++ .../ProcessStep2Before.java | 36 ++++++ .../ProcessStep3After.java | 82 ++++++++++++ .../ProcessStep3Before.java | 36 ++++++ .../ProcessStep4After.java | 90 +++++++++++++ .../ProcessStep4Before.java | 36 ++++++ .../ProcessstartAfter.java | 76 +++++++++++ .../ProcessstartBefore.java | 13 ++ .../mapper/datas/BusProcessNewMapper.xml | 5 + 38 files changed, 1909 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index c7e9e76f..ca0db7f0 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -1964,10 +1964,12 @@ public class TodoTaskController extends BaseAction { queryWrapper1.eq("P_ID",busProcessName.getPrcId()); queryWrapper1.eq("TASK_ID",task.getId()); BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); - if (null!=busProcessNew.getPrcName()){ - busProcessName.setPrcName(busProcessNew.getPrcName()); - }else { - busProcessNew.setPrcName(""); + if (null!=busProcessNew) { + if (null != busProcessNew.getPrcName()) { + busProcessName.setPrcName(busProcessNew.getPrcName()); + } else { + busProcessNew.setPrcName(""); + } } } @@ -2085,10 +2087,12 @@ public class TodoTaskController extends BaseAction { queryWrapper1.eq("P_ID",busProcessName.getPrcId()); queryWrapper1.eq("TASK_ID",task.getId()); BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); - if (null!=busProcessNew.getPrcName()){ - busProcessName.setPrcName(busProcessNew.getPrcName()); - }else { - busProcessNew.setPrcName(""); + if (null!=busProcessNew) { + if (null != busProcessNew.getPrcName()) { + busProcessName.setPrcName(busProcessNew.getPrcName()); + } else { + busProcessNew.setPrcName(""); + } } } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java index cc446b52..9743050e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java @@ -28,6 +28,8 @@ public interface BusProcessNewMapper extends BaseMapper { List findLastworkPeople(@Param("key")String key,@Param("pId")String pId); + List findLastworkPeople2(@Param("key")String key,@Param("pId")String pId); + List everyDayTenOlock(); List everyDayTenOlockSAM(); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java index 688fd2c1..d9607774 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java @@ -31,6 +31,7 @@ public interface IBusProcessNewService extends IService { List findNoExecuteBusProcessNewForEnd(List taskIdList); //子流程 获取 阶段数据 专用 BY yzh List findLastworkPeople(@Param("key")String key, @Param("pId")String pId); + List findLastworkPeople2(@Param("key")String key, @Param("pId")String pId); List everyDayTenOlock(); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java index 90bb6c40..78d5e51c 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java @@ -74,6 +74,11 @@ public class BusProcessNewServiceImpl extends ServiceImpl findLastworkPeople2(String key, String pId) { + return baseMapper.findLastworkPeople2(key,pId); + } + @Override public List everyDayTenOlock() { return baseMapper.everyDayTenOlock(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java index 151b30c7..963d8c5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java @@ -62,20 +62,27 @@ public class PCAffLiableDistributeAfter implements TaskListener { int flag=0; for (PCAdataList ps: map.get(o.getWorkPeopleId()).getDataList()) { if (ps.getStandId().equals(mapData.get(o.getKey()).getStandId())){ + ps.getChildren().add(o); flag++; } } + if (flag==0){ + map.get(o.getWorkPeopleId()).getDataList().add(mapData.get(o.getKey())); + mapData.get(o.getKey()).getChildren().add(o); + } }else { PCAtotal pcs=new PCAtotal(); BeanUtils.copyProperties(pcAtotal,pcs); //建立空的子 为了后面遍历 List list=new ArrayList<>(); + List list1=new ArrayList<>(); list.add(o); + list1.add(o); pcs.setChildren(list); List list2=new ArrayList<>(); PCAdataList adataLists=new PCAdataList(); BeanUtils.copyProperties(mapData.get(o.getKey()),adataLists); - adataLists.setChildren(list); + adataLists.setChildren(list1); list2.add(adataLists); pcs.setDataList(list2); map.put(o.getWorkPeopleId(),pcs); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java new file mode 100644 index 00000000..c85dd322 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep1After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("passFlag"))){ + delegateTask.setVariable("passFlag","1"); + }else { + if (object.getString("workPeopleList").contains(",")){ + nextUserList = new ArrayList<>(Arrays.asList(object.getString("workPeopleList").split(","))); + }else { + nextUserList.add(object.getString("workPeopleList")); + } + delegateTask.setVariable("workPeopleList",nextUserList); + delegateTask.setVariable("passFlag","0"); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程-工作组成员标准复审"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java new file mode 100644 index 00000000..e763a98a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep1Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java new file mode 100644 index 00000000..9c23a4bd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep2After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + if (null == delegateTask.getVariable("count")){ + delegateTask.setVariable("count",delegateTask.getVariable("workPeopleList",List.class).size()); + } + if (delegateTask.getVariable("count",Integer.class)==1){ + //对数据进行处理 需要等到调试的时候才能编写 bzfgLeaderId + + }else { + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + } + nextUserList.add(object.getString("qcId")); + delegateTask.setVariable("qcId",object.getString("qcId")); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程-起草人修改标准状态"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java new file mode 100644 index 00000000..1d900501 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep2Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java new file mode 100644 index 00000000..b1bf8d7a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java @@ -0,0 +1,72 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep3After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("bzfgLeaderId")); + delegateTask.setVariable("bzfgLeaderId",object.getString("bzfgLeaderId")); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程-标准法规部部长审核"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java new file mode 100644 index 00000000..e9f7d55b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep3Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java new file mode 100644 index 00000000..50efea02 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java @@ -0,0 +1,83 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep4After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("bzFlag"))){ + nextUserList.add(object.getString("sdId")); + delegateTask.setVariable("sdId",object.getString("sdId")); + delegateTask.setVariable("bzFlag","0"); + }else { + delegateTask.setVariable("bzFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName=""; + if ("0".equals(object.getString("bzFlag"))){ + prcName = "企标复审流程-审定责任人审定"; + }else { + prcName = "企标复审流程-起草人修改标准状态"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java new file mode 100644 index 00000000..d6404920 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep4Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java new file mode 100644 index 00000000..c91793c4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java @@ -0,0 +1,83 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep5After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${sdFlag==0} bafzFlag + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("sdFlag"))){ + delegateTask.setVariable("bzfzId",object.getString("bzfzId")); + delegateTask.setVariable("sdFlag","0"); + nextUserList.add(delegateTask.getVariable("bzfzId",String.class)); + }else { + delegateTask.setVariable("sdFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("0".equals(object.getString("sdFlag"))){ + prcName = "企标复审流程-批准负责人审批"; + }else { + prcName = "企标复审流程-起草人修改标准状态"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java new file mode 100644 index 00000000..0b3a7f4c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep5Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java new file mode 100644 index 00000000..b0924d4d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep6After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id ${sdFlag==0} bafzFlag + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("sdFlag"))){ + delegateTask.setVariable("sdFlag","0"); + }else { + delegateTask.setVariable("sdFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("0".equals(object.getString("sdFlag"))){ + prcName = "企标复审流程-批准负责人审批"; + }else { + prcName = "企标复审流程-起草人修改标准状态"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + 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.setPrcName("流程结束"); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java new file mode 100644 index 00000000..e9f25817 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.business_mq.service.CreateMQService; +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 ProcessStep6Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java new file mode 100644 index 00000000..0e442e00 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java @@ -0,0 +1,75 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.util.ArrayList; +import java.util.List; + +public class ProcessstartAfter 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("bzfgLeaderId")); + delegateTask.setVariable("bzfgLeaderId",object.getString("bzfgLeaderId")); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "企标废止流程-标准法规部部长审核"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java new file mode 100644 index 00000000..d482e216 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java new file mode 100644 index 00000000..bb76be12 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java @@ -0,0 +1,78 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep1After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (object.getString("jgUserId").contains(",")) { + nextUserList=new ArrayList<>(Arrays.asList(object.getString("jgUserId").split(","))); + }else { + nextUserList.add(object.getString("jgUserId")); + } + delegateTask.setVariable("workPeopleList",nextUserList); + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程-工作组成员标准复审"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java new file mode 100644 index 00000000..bc4d023a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.business_mq.service.CreateMQService; +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 ProcessStep1Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java new file mode 100644 index 00000000..51167d90 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.tmsps.fk.common.util.JsonUtil; +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 springfox.documentation.spring.web.json.Json; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep2After 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); + + //根据流程id找到流程信息 + 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); + + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (null == delegateTask.getVariable("count")) { + delegateTask.setVariable("count", delegateTask.getVariable("workPeopleList", List.class).size()); + } + if (delegateTask.getVariable("count",Integer.class)==1){ + //合并前面数据中的意见 该部分需要在调试中进行编写 + List busProcessNews = busBean.findLastworkPeople2("企标复审流程",delegateTask.getProcessInstanceId()); + System.out.println(busProcessNews); + List strings=new ArrayList<>(); + strings.add(object.getString("presentPeople")+"-"+object.getString("nextStatus")); + for (BusProcessNew bus:busProcessNews) { + JSONObject object1=JSONObject.parseObject(bus.getMesg()); + strings.add(object1.getString("presentPeople")+"-"+object1.getString("nextStatus")); + } + System.out.println(JSONArray.toJSON(strings.toString())); + object.put("res", JSONArray.toJSON(strings.toString())); + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + }else { + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + } + nextUserList.add(delegateTask.getVariable("wgLeaderId",String.class)); + delegateTask.setVariable("wgLeaderId1",delegateTask.getVariable("wgLeaderId",String.class)); + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + if (delegateTask.getVariable("count",Integer.class)!=0){ + busProcessNewNext.setTaskId("999"); + } + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java new file mode 100644 index 00000000..bc3d3c7c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.business_mq.service.CreateMQService; +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 ProcessStep2Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java new file mode 100644 index 00000000..34d112ef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java @@ -0,0 +1,118 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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 ProcessStep3After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //根据意见选择 企标状态并对企标信息进行修改 + if ("修订".equals(object.getString("nextStatus"))){ + + }else if ("废止".equals(object.getString("nextStatus"))){ + // TODO: 2021/11/16 等待超哥的修改企标状态的接口 + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if(one2!=null){ + one2.setOverTime(OVERTIME); + one2.setPrcType("23"); + busProcessNameService.saveOrUpdate(one2); + } + + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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.setPrcName("企标复审流程-流程结束"); + busBean.save(busProcessNewNext); + + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag("0"); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + + + } + + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag ,IBusProcessNameService busProcessNameService) { + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if(one2!=null){ + one2.setOverTime(OVERTIME); + one2.setPrcType("23"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + one1.setPrcName("流程结束"); + busBean.saveOrUpdate(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java new file mode 100644 index 00000000..20540fed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.business_mq.service.CreateMQService; +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 ProcessStep3Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java new file mode 100644 index 00000000..35737660 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java @@ -0,0 +1,78 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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 ProcessstartAfter 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("wgLeaderId",object.getString("dockUser")); + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "企标复审流程-工作组组长选择责任人"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java new file mode 100644 index 00000000..00e5bfcc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java new file mode 100644 index 00000000..f2baf85b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep1After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("passFlag"))) { + if (object.getString("deptCenterId").contains(",")) { + nextUserList = new ArrayList<>(Arrays.asList(object.getString("deptCenterId").split(","))); + } else { + nextUserList.add(object.getString("deptCenterId")); + } + delegateTask.setVariable("deptCenterId", nextUserList); + delegateTask.setVariable("deptLeaderFlag",0); + }else { + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("deptLeaderFlag",1); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("0".equals(object.getString("passFlag"))) { + prcName = "企标制修订计划-部门中心主任会签"; + }else { + prcName = "企标制修订计划-企标制修订计划整改"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java new file mode 100644 index 00000000..7839c4c8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_mq.service.CreateMQService; +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 ProcessStep1Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java new file mode 100644 index 00000000..c06a7ae6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep2After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //计算最后的会签结果 使用的与运算啦啦啦啦 + String prcName =""; + if (null == delegateTask.getVariable("deptCenterFlag")) { + delegateTask.setVariable("deptCenterFlag", object.getInteger("deptCenterFlag")); + } else { + delegateTask.setVariable("deptCenterFlag", object.getInteger("deptCenterFlag") & delegateTask.getVariable("deptCenterFlag", Integer.class)); + } + + delegateTask.setVariable("bzfgLeaderId", object.getString("bzfgLeaderId")); + if (delegateTask.getVariable("count", Integer.class) == 1) { + //合并前面数据中的意见 该部分需要在调试中进行编写 + if ("0".equals(delegateTask.getVariable("deptCenterFlag"))){ + nextUserList.add(object.getString("bzfgLeaderId")); + prcName="企标制修订计划-标准法规工作组组长审定"; + }else { + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + prcName="企标制修订计划整改"; + } + } else { + delegateTask.setVariable("count", delegateTask.getVariable("count", Integer.class) - 1); + } + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java new file mode 100644 index 00000000..267433dc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_mq.service.CreateMQService; +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 ProcessStep2Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java new file mode 100644 index 00000000..70a33b9a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep3After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + String prcName = ""; + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + if ("0".equals(object.getString("bzFlag"))){ + prcName = "企标制修订计划-标准法规部部长审批"; + nextUserList.add(object.getString("bzfgId")); + delegateTask.setVariable("bzFlag",0); + delegateTask.setVariable("bzfgId",object.getString("bzfgId")); + }else { + prcName="企标制修订计划整改"; + delegateTask.setVariable("bzFlag",1); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java new file mode 100644 index 00000000..b6555197 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_mq.service.CreateMQService; +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 ProcessStep3Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java new file mode 100644 index 00000000..c991d2e9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.ArrayList; +import java.util.List; + +public class ProcessStep4After 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + String prcName = ""; + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + if ("0".equals(object.getString("bzfgbzFlag"))){ + prcName = "企标制修订计划-流程结束"; + delegateTask.setVariable("bzfgbzFlag",0); + }else { + prcName="企标制修订计划整改"; + delegateTask.setVariable("bzfgbzFlag",1); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + 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.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java new file mode 100644 index 00000000..e44bf789 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_mq.service.CreateMQService; +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 ProcessStep4Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()) { + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java new file mode 100644 index 00000000..cc1d0aa0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java @@ -0,0 +1,76 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.ArrayList; +import java.util.List; + +public class ProcessstartAfter 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); + + //根据流程id找到流程信息 + 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); + //标准法规部业务经理Id deptCenterId + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("topmanagerId",object.getString("dockUser")); + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "企标制修订计划-部门高级经理审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + 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); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java new file mode 100644 index 00000000..f16c7ddc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/resources/mapper/datas/BusProcessNewMapper.xml b/src/main/resources/mapper/datas/BusProcessNewMapper.xml index f2c9bf4e..ab75f860 100644 --- a/src/main/resources/mapper/datas/BusProcessNewMapper.xml +++ b/src/main/resources/mapper/datas/BusProcessNewMapper.xml @@ -34,6 +34,11 @@ WHERE bpn.P_ID = #{pId} and aht.TASK_DEF_KEY_ = #{key} + + + +