From 948ecd3988df23b8204abee638abbf347e21c738 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Fri, 22 Apr 2022 15:32:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E7=AC=A6=E5=90=88=E9=A1=B9=20?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E5=BE=85=E5=8A=9E=E9=80=BB=E8=BE=91=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=20=E4=BB=A5=E5=8F=8A=20=E4=BC=81=E6=A0=87=E5=BA=9F?= =?UTF-8?q?=E6=AD=A2=E6=B5=81=E7=A8=8B=E6=96=B0=E8=8A=82=E7=82=B9=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UploadCommentBefore.java | 26 ++--- .../listener/aboliish/ProcessStep1After.java | 2 + .../listener/aboliish/ProcessStep7After.java | 99 +++++++++++++++++++ .../listener/aboliish/ProcessStep7Before.java | 36 +++++++ 4 files changed, 150 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java index 568c6525..11c1aa78 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java @@ -41,19 +41,19 @@ public class UploadCommentBefore implements TaskListener { one1.setTaskInfo(delegateTask.getName()); // 干活节点流程 - one1.setTaskStatus(2); - JSONObject object = JSONObject.parseObject(one1.getMesg()); - JSONArray array = object.getJSONArray("responUserList"); - String endTime = ""; - if(array != null && !array.isEmpty()){ - endTime = array.getJSONObject(0).getString("planCloseTime"); - } - // 如果整改时间没有,默认流程发起日期+30天 - if(StringUtils.isNotBlank(endTime)){ - one1.setEndTime(Utils.interceptTime(endTime)); - }else { - one1.setEndTime(Utils.interceptTime(Utils.addDay(30))); - } +// one1.setTaskStatus(2); +// JSONObject object = JSONObject.parseObject(one1.getMesg()); +// JSONArray array = object.getJSONArray("responUserList"); +// String endTime = ""; +// if(array != null && !array.isEmpty()){ +// endTime = array.getJSONObject(0).getString("planCloseTime"); +// } +// // 如果整改时间没有,默认流程发起日期+30天 +// if(StringUtils.isNotBlank(endTime)){ +// one1.setEndTime(Utils.interceptTime(endTime)); +// }else { +// one1.setEndTime(Utils.interceptTime(Utils.addDay(30))); +// } oaService.sendTodoMq(one1); } } 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 index 41a88bc7..5a84393b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java @@ -39,6 +39,8 @@ public class ProcessStep1After implements TaskListener { List nextUserList = new ArrayList(); if ("1".equals(object.getString("passFlag"))){ delegateTask.setVariable("passFlag","1"); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); }else { if(delegateTask.getVariable("Step1",String.class).contains(",")){ nextUserList = new ArrayList<>(Arrays.asList(delegateTask.getVariable("Step1",String.class).split(","))); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java new file mode 100644 index 00000000..53f968be --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java @@ -0,0 +1,99 @@ +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 org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep7After 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); + + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("bzfgLeaderId",object.getString("dockUser")); + + delegateTask.setVariable("Step1",object.getString("countersigner")); + delegateTask.setVariable("Step4",object.getString("examine")); + delegateTask.setVariable("Step5",object.getString("approver")); + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }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 (null != object.getString("commentText")) { + BusProcessNew busProcessNews = new BusProcessNew(); + busProcessNews.setMsgType("clause"); + busProcessNews.setPId(delegateTask.getProcessInstanceId()); + busProcessNews.setMesg(object.toJSONString()); + busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNews.setFinishFlag("0"); + busProcessNews.setTaskInfo(delegateTask.getName()); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setUserId("start"); + busProcessNews.setPrcName(prcName); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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/ProcessStep7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.java new file mode 100644 index 00000000..d26702d5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.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 ProcessStep7Before 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("qbfzStep7?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +}