From ff306b0ed6f88b92b680aec056ff1d1d0bb734b6 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Mon, 4 Sep 2023 17:20:17 +0800 Subject: [PATCH 01/25] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E4=BB=8E=E7=AB=8B?= =?UTF-8?q?=E9=A1=B9=E5=8F=91=E8=B5=B7=E7=9A=84=E6=B5=81=E7=A8=8B=E6=9B=B4?= =?UTF-8?q?=E5=90=8D=E5=90=8E=EF=BC=8C=E6=B2=A1=E6=9C=89=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E4=BB=A3=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datas/service/impl/BusProcessNewServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) 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 b6899886..ff22c325 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 @@ -294,6 +294,8 @@ public class BusProcessNewServiceImpl extends ServiceImpl Date: Thu, 21 Sep 2023 11:48:31 +0800 Subject: [PATCH 02/25] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E8=8A=82=E7=82=B9=E7=8A=B6=E6=80=81=EF=BC=8C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=B7=B2=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TaskController.java | 20 +++++++++++++++++++ .../task/TodoTaskController.java | 6 ++++++ .../datas/entity/BusProcessNew.java | 5 +++++ 3 files changed, 31 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index 602178f3..aec00b87 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_activiti.task; import java.text.SimpleDateFormat; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.*; @@ -176,6 +177,25 @@ public class TaskController { } }); } + // 将节点完成状态添加到返回的Map集合中 + for (Map historyTaskMap : list) { + String processInstanceId = (String) historyTaskMap.get("processInstanceId"); + if (StringUtils.isBlank(processInstanceId)) { + continue; + } + // 查询节点完成状态 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusProcessNew::getPId, processInstanceId); + wrapper.isNotNull(BusProcessNew::getTaskId); + wrapper.eq(BusProcessNew::getReceiveStatus,"已接收"); + wrapper.select(BusProcessNew::getTaskId, BusProcessNew::getReceiveStatus); + List busProcessNewList = iBusProcessNewService.list(wrapper); + for (BusProcessNew busProcessNew : busProcessNewList) { + if (busProcessNew.getTaskId().equals(historyTaskMap.get("id"))) { + historyTaskMap.put("receiveStatus",busProcessNew.getReceiveStatus()); + } + } + } return list; } @ApiOperation(value = "流程实例汇总列表") 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 cfecb7a2..e3b6f4af 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 @@ -6,6 +6,7 @@ import java.util.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.tmsps.fk.common.util.JsonUtil; import com.ydw.bat.wkflow.business_activiti.dto.*; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; @@ -762,6 +763,11 @@ public class TodoTaskController extends BaseAction { wrapper.eq("EXEC_STATUS",0); long count = oaTaskExecService.count(wrapper); processNew.setCommitStatus(count); + // 设置processNew表流程状态为已接收 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(BusProcessNew::getTaskId,taskIdList); + updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收"); + iBusProcessNewService.update(updateWrapper); return processNew; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java index d41e1fe9..32d9a538 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java @@ -120,4 +120,9 @@ public class BusProcessNew implements Serializable { @TableField( exist = false) @ApiModelProperty(value = "当前节点信息") private String nowTaskInfo; + + @TableField("RECEIVE_STATUS") + @ApiModelProperty("接收状态") + private String receiveStatus; + } From fffab0eae18d3947c4042fe5da9b3664e2d0de87 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 10 Oct 2023 10:39:25 +0800 Subject: [PATCH 03/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lawsLibrary/LLApplicantAfter.java | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java index 967699c6..5653aab3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.lawsLibrary; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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; @@ -36,9 +37,15 @@ public class LLApplicantAfter implements TaskListener{ Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // 添加关联流程编号 + String processInstanceId = delegateTask.getProcessInstanceId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusProcessName::getPrcId,processInstanceId); + BusProcessName processName = busProcessNameService.getOne(wrapper); + object.put("prcNum",processName.getPrcNum()); delegateTask.setVariable("objectJson",object); - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); // 逻辑判断是否会签 signFlag // JSONObject array = object.getJSONObject("hqsqForm"); @@ -80,17 +87,18 @@ public class LLApplicantAfter implements TaskListener{ // object.getString("standName") String standName = ""; Object lawsName = object.get("lawsName"); - Object lawsNumber = object.get("lawsNumber"); - String lawsInfoName = ""; - if(lawsName != null && lawsNumber != null){ - String name = lawsName.toString()+"-"; - String number = lawsNumber.toString()+"-"; - if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ - lawsInfoName = number+name; - } - } - String prcName = lawsInfoName+"政策入库流程"; - QueryWrapper queryWrapper2 = new QueryWrapper(); +// Object lawsNumber = object.get("lawsNumber"); +// String lawsInfoName = ""; +// if(lawsName != null){ +// String name = lawsName.toString()+"-"; +// String number = lawsNumber.toString()+"-"; +// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ +// lawsInfoName = number+name; +// } +// } +// String prcName = lawsInfoName+"政策入库流程"; + String prcName = lawsName + "-政策入库流程"; + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ @@ -114,19 +122,17 @@ public class LLApplicantAfter implements TaskListener{ 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); - } + 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); } } From 9c80f7463090f2e0a555eee447ca89135549c59a Mon Sep 17 00:00:00 2001 From: wxyclub Date: Fri, 13 Oct 2023 09:53:55 +0800 Subject: [PATCH 04/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=B5=81=E7=A8=8B=E7=9A=84=E9=A9=B3=E5=9B=9E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lawsLibrary/LCLApplicantAfter.java | 26 +++--- .../lawsLibrary/LCLApplicantBefore.java | 2 +- .../lawsLibrary/LawsManagerApproveAfter.java | 83 ++++++++++--------- 3 files changed, 56 insertions(+), 55 deletions(-) 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 index d45eda47..0a9abec4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java @@ -52,7 +52,7 @@ public class LCLApplicantAfter implements TaskListener{ } - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.eq("TASK_ID",delegateTask.getId()); @@ -60,7 +60,7 @@ public class LCLApplicantAfter implements TaskListener{ if(!list.isEmpty()){ BusProcessNew one = list.get(0); JSONObject object = JSONObject.parseObject(one.getMesg()); - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); if(StringUtils.isNotBlank(objectNew.getString("jlUserId"))){ delegateTask.setVariable("managerUserId",objectNew.getString("jlUserId")); @@ -78,17 +78,17 @@ public class LCLApplicantAfter implements TaskListener{ // object.getString("standName") String standName = ""; Object lawsName = object.get("lawsName"); - Object lawsNumber = object.get("lawsNumber"); - String lawsInfoName = ""; - if(lawsName != null && lawsNumber != null){ - String name = lawsName.toString()+"-"; - String number = lawsNumber.toString()+"-"; - if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ - lawsInfoName = number+name; - } - } - String prcName = lawsInfoName+"政策入库流程"; - QueryWrapper queryWrapper2 = new QueryWrapper(); +// Object lawsNumber = object.get("lawsNumber"); +// String lawsInfoName = ""; +// if(lawsName != null && lawsNumber != null){ +// String name = lawsName.toString()+"-"; +// String number = lawsNumber.toString()+"-"; +// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ +// lawsInfoName = number+name; +// } +// } + String prcName = lawsName+"-政策入库流程"; + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ 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 7623f36e..f553014d 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 @@ -20,7 +20,7 @@ public class LCLApplicantBefore implements TaskListener{ IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); 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 b4cbd75b..79d2c66c 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 @@ -36,34 +36,34 @@ public class LawsManagerApproveAfter implements TaskListener { String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); Object lawsName = object.get("lawsName"); - Object lawsNumber = object.get("lawsNumber"); - String lawsInfoName = ""; - if(lawsName != null && lawsNumber != null){ - String name = lawsName.toString()+"-"; - String number = lawsNumber.toString()+"-"; - if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ - lawsInfoName = number+name; - } - } - String prcName = lawsInfoName+"政策入库流程"; +// Object lawsNumber = object.get("lawsNumber"); +// String lawsInfoName = ""; +// if(lawsName != null && lawsNumber != null){ +// String name = lawsName.toString()+"-"; +// String number = lawsNumber.toString()+"-"; +// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ +// lawsInfoName = number+name; +// } +// } + String prcName = lawsName+"-政策入库流程"; //截止时间 流程描述 创建人 - String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String user = delegateTask.getVariable("prcCreateUser", String.class); - String username = delegateTask.getVariable("prcCreateUserName", String.class); +// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); +// String user = delegateTask.getVariable("prcCreateUser", String.class); +// String username = delegateTask.getVariable("prcCreateUserName", String.class); + // 驳回 if ("1".equalsIgnoreCase(approvalOpinion)) { - //截止时间 流程描述 创建人 - 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); - } + // 流程描述 创建人 +// QueryWrapper queryWrapper2 = new QueryWrapper<>(); +// queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); +// BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); +// if (one1 != null) { +// one1.setPrcType("laws1"); +// one1.setPrcName(prcName); +// one1.setCreatUser(user); +// one1.setCreatUserName(username); +// busProcessNameService.saveOrUpdate(one1); +// } BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); @@ -72,26 +72,27 @@ public class LawsManagerApproveAfter implements TaskListener { busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); - busProcessNew.setUserId(object.getString("applyUpdUserId")); + busProcessNew.setUserId(object.getString("jlUserId")); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); - BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); - delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); + func1(delegateTask, busBean, object, "1"); + delegateTask.setVariable("applyUserId", object.getString("prcCreateUser")); delegateTask.setVariable("jlFlag", 1); } else { + // 通过 //截止时间 流程描述 创建人 - QueryWrapper queryWrapper2 = new QueryWrapper(); + 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); - } +// 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.setMsgType("clause"); @@ -100,7 +101,7 @@ public class LawsManagerApproveAfter implements TaskListener { busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); - busProcessNew.setUserId(object.getString("applyUpdUserId")); + busProcessNew.setUserId(object.getString("jlUserId")); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); delegateTask.setVariable("jlFlag", 0); @@ -109,7 +110,7 @@ public class LawsManagerApproveAfter implements TaskListener { } private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("TASK_ID", delegateTask.getId()); BusProcessNew one1 = busBean.getOne(queryWrapper1); if (one1 != null) { @@ -120,7 +121,7 @@ public class LawsManagerApproveAfter implements TaskListener { } private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { - QueryWrapper queryWrapper2 = new QueryWrapper(); + 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()); @@ -131,7 +132,7 @@ public class LawsManagerApproveAfter implements TaskListener { busProcessNameService.saveOrUpdate(one2); } - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("TASK_ID", delegateTask.getId()); BusProcessNew one1 = busBean.getOne(queryWrapper1); if (one1 != null) { From 6f3aa5056337f916ff4631996c85313d8fe4f0c2 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Wed, 18 Oct 2023 09:19:12 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E6=94=BF=E7=AD=96=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E6=B5=81=E7=A8=8B=E5=BC=80=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TaskTodoService.java | 37 ++++++ .../datas/entity/BusProcessName.java | 3 + .../PolicySolicitOpinionProcess10After.java | 78 ++++++++++++ .../PolicySolicitOpinionProcess10Before.java | 37 ++++++ .../PolicySolicitOpinionProcess11After.java | 86 +++++++++++++ .../PolicySolicitOpinionProcess11Before.java | 36 ++++++ .../PolicySolicitOpinionProcess12After.java | 108 ++++++++++++++++ .../PolicySolicitOpinionProcess12Before.java | 36 ++++++ .../PolicySolicitOpinionProcess13After.java | 98 +++++++++++++++ .../PolicySolicitOpinionProcess13Before.java | 36 ++++++ .../PolicySolicitOpinionProcess14After.java | 82 ++++++++++++ .../PolicySolicitOpinionProcess14Before.java | 36 ++++++ .../PolicySolicitOpinionProcess15After.java | 83 +++++++++++++ .../PolicySolicitOpinionProcess15Before.java | 36 ++++++ .../PolicySolicitOpinionProcess16After.java | 38 ++++++ .../PolicySolicitOpinionProcess16Before.java | 36 ++++++ .../PolicySolicitOpinionProcess1After.java | 106 ++++++++++++++++ .../PolicySolicitOpinionProcess1Before.java | 34 +++++ .../PolicySolicitOpinionProcess2After.java | 95 ++++++++++++++ .../PolicySolicitOpinionProcess2Before.java | 36 ++++++ .../PolicySolicitOpinionProcess4After.java | 80 ++++++++++++ .../PolicySolicitOpinionProcess4Before.java | 36 ++++++ .../PolicySolicitOpinionProcess5After.java | 117 ++++++++++++++++++ .../PolicySolicitOpinionProcess5Before.java | 36 ++++++ .../PolicySolicitOpinionProcess7After.java | 98 +++++++++++++++ .../PolicySolicitOpinionProcess7Before.java | 37 ++++++ .../PolicySolicitOpinionProcess8After.java | 88 +++++++++++++ .../PolicySolicitOpinionProcess8Before.java | 36 ++++++ .../PolicySolicitOpinionProcess9After.java | 103 +++++++++++++++ .../PolicySolicitOpinionProcess9Before.java | 37 ++++++ .../wkflow/util/enums/ApprovalFlagEnum.java | 36 ++++++ 31 files changed, 1841 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/util/enums/ApprovalFlagEnum.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java index 2f2b2ed2..1e03e089 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java @@ -1,9 +1,13 @@ package com.ydw.bat.wkflow.business_activiti.service; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; import org.activiti.engine.TaskService; import org.activiti.engine.task.NativeTaskQuery; +import org.activiti.engine.task.Task; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -81,4 +85,37 @@ public class TaskTodoService { } + /** + * 根据任务定义key,判断是否还存在该节点的待办任务。(排除当前操作的待办任务) + * + * @param prcId + * @param taskDefinitionKey + * @return + */ + public boolean whetherExistTaskByTaskDefinitionKey(String prcId, String taskDefinitionKey,String taskId) { + boolean result = false; + List taskList = taskService.createTaskQuery().processDefinitionId(prcId).active().list().stream().filter(task-> { + boolean flag = false; + if (StringUtils.isNotEmpty(taskId)) { + if (!StringUtils.equals(task.getId(),taskId)) { + flag = true; + } + } else { + flag = true; + } + return flag; + }).distinct().collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(taskList)) { + for (Task task : taskList) { + if (StringUtils.equals(task.getTaskDefinitionKey(),taskDefinitionKey)) { + result = true; + break; + } + } + } else { + result = true; + } + return result; + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java index 0d30fc4b..0b271949 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; +import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -91,4 +92,6 @@ public class BusProcessName implements Serializable { @TableField(exist = false) private String startTaskTime; + @TableField("RESPONSIBLE_UNIT_DEADLINE_DATE") + private Date responsibleUnitDeadlineDate; } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java new file mode 100644 index 00000000..0740a53b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java @@ -0,0 +1,78 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +public class PolicySolicitOpinionProcess10After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + // 责任部门 子流程完成总数 + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount",zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = object.getString("glyUserId"); + delegateTask.setVariable("glyUserId",glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String djrUserId = (String) delegateTask.getVariable("djrUserId"); + 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(djrUserId); + busBean.save(busProcessNewNext); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java new file mode 100644 index 00000000..17598a7d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess10Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java new file mode 100644 index 00000000..a5d1cac2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicySolicitOpinionProcess11After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + String shr2UserIds = object.getString("shr2UserIds"); + List nextUserList = Arrays.asList(shr2UserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("shr2UserIdList", nextUserList); + delegateTask.setVariable("shr2UserCount", nextUserList.size()); + delegateTask.setVariable("shr2UserPassCount", 0); + delegateTask.setVariable("shr2UserOverruleCount", 0); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java new file mode 100644 index 00000000..384fcfe9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess11Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java new file mode 100644 index 00000000..f9a1aadf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class PolicySolicitOpinionProcess12After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int shr2UserPassCount = (int) delegateTask.getVariable("shr2UserPassCount"); + delegateTask.setVariable("shr2UserPassCount", shr2UserPassCount + 1); + + String hqrUserIds = object.getString("hqrUserIds"); + List nextUserList = Arrays.asList(hqrUserIds.split(",")); + + List hqrUserIdList = (List) delegateTask.getVariable("hqrUserIdList"); + if (CollectionUtils.isNotEmpty(hqrUserIdList)) { + nextUserList.addAll(hqrUserIdList); + } + nextUserList = nextUserList.stream().distinct().collect(Collectors.toList()); + delegateTask.setVariable("hqrUserIdList", nextUserList); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("hqrUserCount", nextUserList.size()); + delegateTask.setVariable("hqrUserPassCount", 0); + delegateTask.setVariable("hqrUserOverruleCount", 0); + } + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + delegateTask.setVariable("hqrUserIdList", new ArrayList()); + delegateTask.setVariable("shr2UserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java new file mode 100644 index 00000000..a9733653 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess12Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java new file mode 100644 index 00000000..76233e79 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicySolicitOpinionProcess13After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int hqrUserPassCount = (int) delegateTask.getVariable("hqrUserPassCount"); + delegateTask.setVariable("hqrUserPassCount", hqrUserPassCount + 1); + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String sdr2UserIds = object.getString("sdr2UserIds"); + List nextUserList = Arrays.asList(sdr2UserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("sdr2UserIdList", nextUserList); + delegateTask.setVariable("sdr2UserCount", nextUserList.size()); + delegateTask.setVariable("sdr2UserPassCount", 0); + delegateTask.setVariable("sdr2UserOverruleCount", 0); + } + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + delegateTask.setVariable("hqrUserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java new file mode 100644 index 00000000..0f3cb286 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess13Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java new file mode 100644 index 00000000..a8213ce3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +public class PolicySolicitOpinionProcess14After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); + delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String pzr2UserId = object.getString("pzr2UserId"); + + 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(pzr2UserId); + busBean.save(busProcessNewNext); + delegateTask.setVariable("pzr2UserId", pzr2UserId); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + delegateTask.setVariable("sdr2UserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java new file mode 100644 index 00000000..b9ca8576 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess14Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java new file mode 100644 index 00000000..fcd50c00 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java @@ -0,0 +1,83 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicySolicitOpinionProcess15After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + String csrUserIds = object.getString("csrUserIds"); + List nextUserList = Arrays.asList(csrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("csrUserIdList", nextUserList); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java new file mode 100644 index 00000000..ded544e6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess15Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java new file mode 100644 index 00000000..1ed89ea5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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; + +public class PolicySolicitOpinionProcess16After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + // 存储当前节点意见 + 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); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java new file mode 100644 index 00000000..ebc641ef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess16Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java new file mode 100644 index 00000000..d3f83644 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PolicySolicitOpinionProcess1After 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); + + // 审核人1用户ids + String shr1UserIds = object.getString("shr1UserIds"); + List nextUserList = Arrays.asList(shr1UserIds.split(",")); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + Object lawsName = object.get("lawsName"); + Object lawsNumber = object.get("lawsNumber"); + String lawsInfoName = ""; + if(lawsName != null && lawsNumber != null){ + String name = lawsName.toString()+"-"; + String number = lawsNumber.toString()+"-"; + if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){ + lawsInfoName = number+name; + } + } + String prcName = lawsInfoName+"政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + + Date responsibleUnitDeadlineDate = object.getDate("responsibleUnitDeadline"); + one1.setResponsibleUnitDeadlineDate(responsibleUnitDeadlineDate); + 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(CollectionUtils.isNotEmpty(nextUserList)){ + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("shr1UserIdList",nextUserList); + delegateTask.setVariable("shr1UserCount",nextUserList.size()); + delegateTask.setVariable("shr1UserPassCount",0); + delegateTask.setVariable("shr1UserOverruleCount",0); + } + + delegateTask.setVariable("fqrUserId",delegateTask.getAssignee()); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java new file mode 100644 index 00000000..834b0ce1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 PolicySolicitOpinionProcess1Before 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java new file mode 100644 index 00000000..31a0cd54 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicySolicitOpinionProcess2After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int shr1UserPassCount = (int) delegateTask.getVariable("shr1UserPassCount"); + delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + // 审定人1用户ids + String sdr1UserIds = object.getString("sdr1UserIds"); + List nextUserList = Arrays.asList(sdr1UserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("sdr1UserIdList", nextUserList); + delegateTask.setVariable("sdr1UserCount",nextUserList.size()); + delegateTask.setVariable("sdr1UserPassCount",0); + delegateTask.setVariable("sdr1UserOverruleCount",0); + } + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("shr1UserOverruleCount", 1); + } + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java new file mode 100644 index 00000000..04bd288c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess2Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java new file mode 100644 index 00000000..a49e1bd0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java @@ -0,0 +1,80 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +public class PolicySolicitOpinionProcess4After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int sdr1UserPassCount = (int) delegateTask.getVariable("sdr1UserPassCount"); + delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String pzr1UserId = object.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId",pzr1UserId); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("sdr1UserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java new file mode 100644 index 00000000..5e70785b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess4Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java new file mode 100644 index 00000000..9703b0c1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java @@ -0,0 +1,117 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PolicySolicitOpinionProcess5After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + String responsibleUnitDeadline = object.getString("responsibleUnitDeadline"); + Date responsibleUnitDeadlineDate = null; + try { + responsibleUnitDeadlineDate = sdf.parse(responsibleUnitDeadline); + } catch (ParseException e) { + e.printStackTrace(); + } + + String endFlag = ""; + // 如果当前日期大于责任单位截止日期,则不走责任对接人子流程 RESPONSIBLE_UNIT_DEADLINE_DATE + if (new Date().after(responsibleUnitDeadlineDate)) { + endFlag = "0"; + // 管理员用户id + String glyUserId = object.getString("glyUserId"); + 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(glyUserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("glyUserId",glyUserId); + } else { + endFlag = "1"; + + // 责任对接人用户id + String djrUserIds = object.getString("djrUserIds"); + List nextUserList = Arrays.asList(djrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("djrUserIdList", nextUserList); + + delegateTask.setVariable("zrSubProcessCount",nextUserList.size()); + delegateTask.setVariable("zrSubProcessFinishCount",0); + } + } + delegateTask.setVariable("endFlag",endFlag); + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java new file mode 100644 index 00000000..2ff6a446 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess5Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java new file mode 100644 index 00000000..04c32590 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicySolicitOpinionProcess7After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit + String submitMethod = object.getString("submitMethod"); + if (StringUtils.isEmpty(submitMethod)) { + String zrrUserIds = object.getString("zrrUserIds"); + if (StringUtils.isNotEmpty(zrrUserIds)) { + List nextUserList = Arrays.asList(zrrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("zrrUserIdList", nextUserList); + } + } + + submitMethod = "pageSubmit"; + } else { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = object.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + + submitMethod = "timerAutoSubmit"; + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("submitMethod",submitMethod); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java new file mode 100644 index 00000000..16444c9e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess7Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java new file mode 100644 index 00000000..93f071e9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.lang3.StringUtils; + +public class PolicySolicitOpinionProcess8After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit + String submitMethod = object.getString("submitMethod"); + if (StringUtils.isEmpty(submitMethod)) { + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + 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((String) delegateTask.getVariable("djrUserId")); + busBean.save(busProcessNewNext); + } + + submitMethod = "pageSubmit"; + } else { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = object.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + submitMethod = "timerAutoSubmit"; + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("submitMethod",submitMethod); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java new file mode 100644 index 00000000..74c233f6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess8Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java new file mode 100644 index 00000000..d11957c2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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.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.enums.ApprovalFlagEnum; +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.List; + +public class PolicySolicitOpinionProcess9After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + String approvalFlag = object.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + // 内部审查 0 是,1 否 + String internalReviewFlag = object.getString("internalReviewFlag"); + if (StringUtils.equals(internalReviewFlag, "0")) { + String zrdwUserId = object.getString("zrdwUserId"); + delegateTask.setVariable("zrdwUserId", zrdwUserId); + + 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(zrdwUserId); + busBean.save(busProcessNewNext); + } else if (StringUtils.equals(internalReviewFlag, "1")) { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = object.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + } + delegateTask.setVariable("internalReviewFlag", internalReviewFlag); + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + List zrrUserIdList = (List) delegateTask.getVariable("zrrUserIdList"); + List addBusProcessNewList = new ArrayList<>(); + for (String nextUser : zrrUserIdList) { + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java new file mode 100644 index 00000000..dd0f2ce2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; + +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 org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicySolicitOpinionProcess9Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + 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/util/enums/ApprovalFlagEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/ApprovalFlagEnum.java new file mode 100644 index 00000000..a3180eaa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/ApprovalFlagEnum.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.util.enums; + +/** + * 审批标志枚举类 + */ +public enum ApprovalFlagEnum { + + PASS("通过","0"), + OVERRULE("驳回","1"), + ; + + ApprovalFlagEnum(String label, String value) { + this.label = label; + this.value = value; + } + + String label; + String value; + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + +} From d09816ec4fce6787185902a9cc731fdb1de65898 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 18 Oct 2023 16:44:29 +0800 Subject: [PATCH 06/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=B5=81=E7=A8=8B=E7=9A=84=E5=8F=91=E9=80=81OA?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E4=BF=AE=E6=94=B9=E3=80=82=E5=86=85=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E4=BC=9A=E8=AE=AE=E6=B5=81=E7=A8=8B=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E5=99=A8=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MeetingApplicationAfter.java | 103 ++++++++++++++++++ .../MeetingApplicationBefore.java | 17 +++ .../MeetingManagerApproveAfter.java | 89 +++++++++++++++ .../MeetingManagerApproveBefore.java | 42 +++++++ .../MeetingReissueApplicationAfter.java | 92 ++++++++++++++++ .../MeetingReissueApplicationBefore.java | 40 +++++++ .../lawsLibrary/LCLApplicantBefore.java | 2 +- .../lawsLibrary/LawsManagerApproveBefore.java | 2 +- 8 files changed, 385 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java new file mode 100644 index 00000000..5b862c97 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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; + +/** + * @author tjzdw + * @description 内外部会议入库申请发起后 + * @date 2023/10/16 + */ +public class MeetingApplicationAfter 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); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // 添加关联流程编号 + String processInstanceId = delegateTask.getProcessInstanceId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusProcessName::getPrcId,processInstanceId); + BusProcessName processName = busProcessNameService.getOne(wrapper); + object.put("prcNum",processName.getPrcNum()); + delegateTask.setVariable("objectJson",object); + + 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 meetingName = object.get("meetingName"); + String prcName = meetingName + "-政策入库流程"; + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("meeting1"); + 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); + + 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/insideOutsideMeetingLibrary/MeetingApplicationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationBefore.java new file mode 100644 index 00000000..a09a622e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationBefore.java @@ -0,0 +1,17 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * @author tjzdw + * @description 内外部会议入库申请发起前 + * @date 2023/10/16 + */ +public class MeetingApplicationBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java new file mode 100644 index 00000000..29966d42 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.Date; + +/** + * @author tjzdw + * @description 经理人审批后 + * @date 2023/10/16 + */ +public class MeetingManagerApproveAfter 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); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + + // 驳回任务 + if ("1".equalsIgnoreCase(approvalOpinion)) { + delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("applyUpdUserId")); + + String meetingName = object.getString("meetingName"); + String prcName = meetingName + "-入库"; + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag("1"); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + delegateTask.setVariable("jlFlag", 1); + } else { + // 同意 + delegateTask.setVariable("jlFlag", 0); + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId, 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("1"); + busProcessNameService.saveOrUpdate(one2); + } + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag("0"); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveBefore.java new file mode 100644 index 00000000..8573352b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveBefore.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; + +/** + * @author tjzdw + * @description 经理人审批前 + * @date 2023/10/16 + */ +public class MeetingManagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId()); + queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee()); + queryWrapper1.isNull(BusProcessNew::getTaskId); + 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("policyMeetings2?prcType=29"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java new file mode 100644 index 00000000..539c0a2f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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; + +/** + * @author tjzdw + * @description 重新发起内外部会议入库申请发起后 + * @date 2023/10/16 + */ +public class MeetingReissueApplicationAfter 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); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + 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"); + String meetingName = object.getString("meetingName"); + String prcName = meetingName + "-入库"; + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNew); + } + + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationBefore.java new file mode 100644 index 00000000..43cdac7d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationBefore.java @@ -0,0 +1,40 @@ +package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; + +/** + * @author tjzdw + * @description 重新发起内外部会议入库申请发起前 + * @date 2023/10/16 + */ +public class MeetingReissueApplicationBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId()); + queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee()); + queryWrapper1.isNull(BusProcessNew::getTaskId); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("policyMeetings1?prcType=29"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} 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 f553014d..e8e77a8d 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 @@ -33,7 +33,7 @@ public class LCLApplicantBefore implements TaskListener{ one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrkStep3?prcType=laws1"); + one1.setLink("policyWarehousing1?prcType=laws1"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } 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 a0146583..429dff5c 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 @@ -31,7 +31,7 @@ public class LawsManagerApproveBefore implements TaskListener{ one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrkStep2?prcType=laws1"); + one1.setLink("policyWarehousing2?prcType=laws1"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } From 9d8272c34f0605670098fb1116ebdbd58af0d6a9 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 18 Oct 2023 17:43:34 +0800 Subject: [PATCH 07/25] =?UTF-8?q?add:=20=E5=86=85=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=B5=81=E7=A8=8B=E7=9B=91=E5=90=AC=E5=99=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MeetingApplicationAfter.java | 4 ++-- .../MeetingManagerApproveAfter.java | 9 ++++----- .../MeetingReissueApplicationAfter.java | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java index 5b862c97..00d2924e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java @@ -59,12 +59,12 @@ public class MeetingApplicationAfter implements TaskListener { String user = object.getString("prcCreateUser"); String username = object.getString("prcCreateUserName"); Object meetingName = object.get("meetingName"); - String prcName = meetingName + "-政策入库流程"; + String prcName = meetingName + "-内外部会议入库流程"; LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ - one1.setPrcType("meeting1"); + one1.setPrcType("29"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java index 29966d42..e1dd8587 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java @@ -35,6 +35,8 @@ public class MeetingManagerApproveAfter implements TaskListener { String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String meetingName = object.getString("meetingName"); + String prcName = meetingName + "-内外部会议入库流程"; // 驳回任务 if ("1".equalsIgnoreCase(approvalOpinion)) { delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); @@ -47,9 +49,6 @@ public class MeetingManagerApproveAfter implements TaskListener { busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); busProcessNew.setUserId(object.getString("applyUpdUserId")); - - String meetingName = object.getString("meetingName"); - String prcName = meetingName + "-入库"; busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); @@ -70,9 +69,9 @@ public class MeetingManagerApproveAfter implements TaskListener { BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); if (one2 != null) { - //one2.setPrcName("入库流程结束"); + one2.setPrcName(prcName); one2.setOverTime(overTime); - one2.setPrcType("1"); + one2.setPrcType("29"); busProcessNameService.saveOrUpdate(one2); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java index 539c0a2f..b766cef9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java @@ -53,12 +53,12 @@ public class MeetingReissueApplicationAfter implements TaskListener { String user = object.getString("prcCreateUser"); String username = object.getString("prcCreateUserName"); String meetingName = object.getString("meetingName"); - String prcName = meetingName + "-入库"; + String prcName = meetingName + "-内外部会议入库流程"; LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ - one1.setPrcType("1"); + one1.setPrcType("29"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); From a009c0c70cf7990b9aa99dd84910dcfefcf701ed Mon Sep 17 00:00:00 2001 From: wxyclub Date: Fri, 20 Oct 2023 09:51:37 +0800 Subject: [PATCH 08/25] =?UTF-8?q?add:=20=E5=86=85=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=B5=81=E7=A8=8B=E7=9B=91=E5=90=AC=E5=99=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../insideOutsideMeetingLibrary/MeetingApplicationAfter.java | 4 ++-- .../MeetingManagerApproveAfter.java | 4 ++-- .../MeetingReissueApplicationAfter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java index 00d2924e..1e92c6df 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingApplicationAfter.java @@ -56,8 +56,8 @@ public class MeetingApplicationAfter implements TaskListener { //截止时间 流程描述 创建人 String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String user = object.getString("prcCreateUser"); - String username = object.getString("prcCreateUserName"); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); Object meetingName = object.get("meetingName"); String prcName = meetingName + "-内外部会议入库流程"; LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java index e1dd8587..7146f4aa 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingManagerApproveAfter.java @@ -39,7 +39,7 @@ public class MeetingManagerApproveAfter implements TaskListener { String prcName = meetingName + "-内外部会议入库流程"; // 驳回任务 if ("1".equalsIgnoreCase(approvalOpinion)) { - delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); @@ -48,7 +48,7 @@ public class MeetingManagerApproveAfter implements TaskListener { busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); - busProcessNew.setUserId(object.getString("applyUpdUserId")); + busProcessNew.setUserId(object.getString("applyUserId")); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java index b766cef9..404e5f8f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/insideOutsideMeetingLibrary/MeetingReissueApplicationAfter.java @@ -50,8 +50,8 @@ public class MeetingReissueApplicationAfter implements TaskListener { //截止时间 流程描述 创建人 String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String user = object.getString("prcCreateUser"); - String username = object.getString("prcCreateUserName"); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); String meetingName = object.getString("meetingName"); String prcName = meetingName + "-内外部会议入库流程"; LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); From 79bdceac8a5b5311dec81b70c606e032adebb22e Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Mon, 23 Oct 2023 14:28:17 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E6=94=BF=E7=AD=96=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E6=B5=81=E7=A8=8B=E5=BC=80=E5=8F=91=E3=80=81?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TaskTodoService.java | 2 - .../task/TodoTaskController.java | 69 ++++++++- .../PolicySolicitOpinionEOController.java | 32 ++++ .../datas/entity/BusProcessName.java | 3 + .../datas/entity/FlowUserRelInfo.java | 67 +++++++++ .../datas/entity/PolicySolicitOpinionEO.java | 88 +++++++++++ .../datas/mapper/FlowUserRelInfoMapper.java | 11 ++ .../mapper/PolicySolicitOpinionEOMapper.java | 7 + .../service/IFlowUserRelInfoService.java | 17 +++ .../IPolicySolicitOpinionEOService.java | 15 ++ .../impl/FlowUserRelInfoServiceImpl.java | 42 ++++++ .../PolicySolicitOpinionEOServiceImpl.java | 130 ++++++++++++++++ .../PolicySolicitOpinionProcess10After.java | 5 +- .../PolicySolicitOpinionProcess11After.java | 7 +- .../PolicySolicitOpinionProcess12After.java | 19 ++- .../PolicySolicitOpinionProcess13After.java | 7 +- .../PolicySolicitOpinionProcess14After.java | 7 +- .../PolicySolicitOpinionProcess15After.java | 7 +- .../PolicySolicitOpinionProcess16After.java | 27 ++++ .../PolicySolicitOpinionProcess1After.java | 14 +- .../PolicySolicitOpinionProcess2After.java | 6 +- .../PolicySolicitOpinionProcess4After.java | 6 +- .../PolicySolicitOpinionProcess5After.java | 20 +-- .../PolicySolicitOpinionProcess7After.java | 21 ++- .../PolicySolicitOpinionProcess8After.java | 36 ++--- .../PolicySolicitOpinionProcess9After.java | 35 ++++- .../PolicySolicitOpinionProcessTimer.java | 142 ++++++++++++++++++ .../bat/wkflow/util/enums/FlowTypeEnum.java | 22 +++ .../datas/PolicySolicitOpinionEOMapper.xml | 5 + 29 files changed, 793 insertions(+), 76 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/PolicySolicitOpinionEOController.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/FlowUserRelInfo.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/PolicySolicitOpinionEO.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/FlowUserRelInfoMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/PolicySolicitOpinionEOMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IFlowUserRelInfoService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IPolicySolicitOpinionEOService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/FlowUserRelInfoServiceImpl.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/PolicySolicitOpinionEOServiceImpl.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java create mode 100644 src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java create mode 100644 src/main/resources/mapper/datas/PolicySolicitOpinionEOMapper.xml diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java index 1e03e089..4bf953c7 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java @@ -112,8 +112,6 @@ public class TaskTodoService { break; } } - } else { - result = true; } return result; } 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 e3b6f4af..5904902b 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 @@ -20,15 +20,13 @@ import java.util.Map; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; -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.IOaTaskExecService; +import com.ydw.bat.wkflow.business_main.datas.service.*; import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServiceImpl; import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.*; import org.activiti.engine.history.*; import org.activiti.engine.repository.ProcessDefinition; @@ -36,6 +34,7 @@ import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstanceQuery; import org.activiti.engine.task.NativeTaskQuery; import org.activiti.engine.task.Task; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -101,6 +100,12 @@ public class TodoTaskController extends BaseAction { @Autowired private CreateMQService mqService; + @Autowired + private IFlowUserRelInfoService flowUserRelInfoService; + + @Autowired + private IPolicySolicitOpinionEOService policySolicitOpinionEOService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -242,6 +247,7 @@ public class TodoTaskController extends BaseAction { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String data = sdf.format(entry.getValue().get(0).get("createTime")); res.setAcceptTime(data); + res.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString()); // //获取新的流程名称 // QueryWrapper queryWrapper1=new QueryWrapper<>(); // queryWrapper1.eq("P_ID",res.getPrcId()); @@ -404,6 +410,10 @@ public class TodoTaskController extends BaseAction { busProcessEntrust.setPrcName(one.getPrcName()); busProcessEntrust.setTaskId(str); iBusProcessEntrustService.save(busProcessEntrust); + + if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) { + this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str); + } } } @@ -490,6 +500,49 @@ public class TodoTaskController extends BaseAction { // logger.info("task {} find " + taskId); return WrapMapper.ok("改派成功"); } + /** + * @Description: 变更政策征求意见流程任务办理人(责任部门子流程相关) + * @author: wangzhijiang + * @date: 2023-10-18 + * @Param: + * @return: + */ + private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str) { + Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,FlowTypeEnum.ZCZQYJLC.getValue()); + // 责任人任务处理。 + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); + List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(furInfoList)) { + furInfoList.forEach(furInfo -> {furInfo.setUserId(assignee);}); + this.flowUserRelInfoService.updateBatchById(furInfoList); + } + } + // 责任对接人汇总 + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) { + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); + furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, userId); + List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(furInfoList)) { + furInfoList.forEach(furInfo -> {furInfo.setParentUserId(assignee);}); + this.flowUserRelInfoService.updateBatchById(furInfoList); + } + } + // 责任单位审批 + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10")) { + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrdw"); + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); + List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(furInfoList)) { + furInfoList.forEach(furInfo -> {furInfo.setUserId(assignee);}); + this.flowUserRelInfoService.updateBatchById(furInfoList); + } + } + } @ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务") @ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"), @@ -1870,6 +1923,14 @@ public class TodoTaskController extends BaseAction { BusProcessNew one = busProcessNewList.get(0); one.setMesg(object.toString()); iBusProcessNewService.saveOrUpdate(one); + + QueryWrapper bpnQueryWrap = new QueryWrapper<>(); + bpnQueryWrap.lambda().eq(BusProcessName::getPrcId,one.getPId()); + BusProcessName busProcessName = this.iBusProcessNameService.getOne(bpnQueryWrap); + if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCZQYJLC.getValue())) { + object.put("prcId",busProcessName.getPrcId()); + this.policySolicitOpinionEOService.batchInsert(object); + } return WrapMapper.ok("保存成功"); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/PolicySolicitOpinionEOController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/PolicySolicitOpinionEOController.java new file mode 100644 index 00000000..d79b035b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/PolicySolicitOpinionEOController.java @@ -0,0 +1,32 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO; +import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.util.http.ResponseMessage; +import com.ydw.bat.wkflow.util.http.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/datas/policySolicitOpinion") +public class PolicySolicitOpinionEOController { + + @Autowired + private IPolicySolicitOpinionEOService policySolicitOpinionEOService; + + @ApiOperation(value = "查询政策征求意见列表") + @GetMapping("/queryPolicitOpinionEOList") + public ResponseMessage> queryPolicitOpinionEOList(@RequestParam Map params) { + List policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params); + return Result.success(policySolicitOpinionEOList); + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java index 0b271949..8e4b0582 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java @@ -94,4 +94,7 @@ public class BusProcessName implements Serializable { @TableField("RESPONSIBLE_UNIT_DEADLINE_DATE") private Date responsibleUnitDeadlineDate; + + @TableField(exist = false) + private String taskDefinitionKey; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/FlowUserRelInfo.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/FlowUserRelInfo.java new file mode 100644 index 00000000..d9590b64 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/FlowUserRelInfo.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 流程用户关系信息表 :流程中,存储用户上下级关系 + * 作用:记录流程中,用户分配的上下级关系。 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("T_FLOW_USER_REL_INFO") +@ApiModel(value="FlowUserRelInfo对象", description="") +public class FlowUserRelInfo { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "流程类型") + @TableField("flow_type") + private String flowType; + + @ApiModelProperty(value = "数据类型") + @TableField("data_type") + private String dataType; + + @ApiModelProperty(value = "用户id") + @TableField("user_id") + private String userId; + + @ApiModelProperty(value = "上级用户id") + @TableField("parent_user_id") + private String parentUserId; + + @ApiModelProperty(value = "标准id") + @TableField("stand_id") + private String standId; + + @ApiModelProperty(value = "待办id") + @TableField("task_id") + private String taskId; + + @ApiModelProperty(value = "流程实例id") + @TableField("acti_proc_inst_id") + private String actiProcInstId; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "创建人") + @TableField("create_by") + private String createBy; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/PolicySolicitOpinionEO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/PolicySolicitOpinionEO.java new file mode 100644 index 00000000..6aa39efa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/PolicySolicitOpinionEO.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Description: 政策征求意见列表 + * @author: wangzhijiang + * @date: 2023-10-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("POLICY_SOLICIT_OPINION") +@ApiModel(value="PolicySolicitOpinion对象", description="") +public class PolicySolicitOpinionEO { + private static final long serialVersionUID=1L; + + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @TableField("PRC_ID") + private String prcId; + + @TableField("SAR_LAWS_INFO_ID") + private String sarLawsInfoId; + + // 章节编号 + @TableField("CHAPTER_NUMBER") + private String chapterNumber; + + // 章节条目 + @TableField("CHAPTER_ENTRIES") + private String chapterEntries; + + // 修改前 + @TableField("MODIFY_BEFORE") + private String modifyBefore; + + // 修改后 + @TableField("MODIFY_AFTER") + private String modifyAfter; + + // 修改理由 + @TableField("MODIFY_REASON") + private String modifyReason; + + // 原因 + @TableField("CAUSE") + private String cause; + + // 附件id + @TableField("ANNEX_FILE_ID") + private String annexFileId; + + // 处理意见 + @TableField("HANDLING_OPINIONS") + private String handlingOpinions; + + // 处理原因 + @TableField("HANDLING_CAUSE") + private String handlingCause; + + // 提出人/创建人 + @TableField("CREATE_USER_ID") + private String createUserId; + + // 创建时间 + @TableField("CREATE_TIME") + private Date createTime; + + // 更新人 + @TableField("MODIFY_USER_ID") + private String modifyUserId; + + // 更新时间 + @TableField("MODIFY_TIME") + private Date modifyTime; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/FlowUserRelInfoMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/FlowUserRelInfoMapper.java new file mode 100644 index 00000000..48069ae3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/FlowUserRelInfoMapper.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; + +/** + * 流程用户关系信息表 :流程中,存储用户上下级关系 + * 作用:记录流程中,用户分配的上下级关系。 + */ +public interface FlowUserRelInfoMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/PolicySolicitOpinionEOMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/PolicySolicitOpinionEOMapper.java new file mode 100644 index 00000000..5358ec28 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/PolicySolicitOpinionEOMapper.java @@ -0,0 +1,7 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO; + +public interface PolicySolicitOpinionEOMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IFlowUserRelInfoService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IFlowUserRelInfoService.java new file mode 100644 index 00000000..2b379943 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IFlowUserRelInfoService.java @@ -0,0 +1,17 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; + +import java.util.List; + +/** + * 流程用户信息:流程中,存储用户上下级关系 + */ +public interface IFlowUserRelInfoService extends IService { + /** + * 批量新增流程用户上下级关系 + * @param flowUserRelInfoList + */ + void saveBatchFlowUserRelInfo(List flowUserRelInfoList); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IPolicySolicitOpinionEOService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IPolicySolicitOpinionEOService.java new file mode 100644 index 00000000..186f32c4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IPolicySolicitOpinionEOService.java @@ -0,0 +1,15 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO; + +import java.util.List; +import java.util.Map; + +public interface IPolicySolicitOpinionEOService extends IService { + + void batchInsert(JSONObject json); + + List queryPolicitOpinionEOList(Map params); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/FlowUserRelInfoServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/FlowUserRelInfoServiceImpl.java new file mode 100644 index 00000000..c2cd6701 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/FlowUserRelInfoServiceImpl.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.mapper.FlowUserRelInfoMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 流程用户信息:流程中,存储用户上下级关系 + * 作用:记录流程每一个节点的用户id + */ +@Service +@Transactional(value = "transactionManager", propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class FlowUserRelInfoServiceImpl extends ServiceImpl implements IFlowUserRelInfoService { + + @Autowired + private FlowUserRelInfoMapper flowUserRelInfoMapper; + + @Override + public void saveBatchFlowUserRelInfo(List flowUserRelInfoList) { + if(CollectionUtils.isNotEmpty(flowUserRelInfoList)){ + FlowUserRelInfo flowUserRelInfo = flowUserRelInfoList.get(0); + + QueryWrapper deleteWrap = new QueryWrapper<>(); + deleteWrap.lambda().eq(FlowUserRelInfo::getParentUserId,flowUserRelInfo.getParentUserId()); + deleteWrap.lambda().eq(FlowUserRelInfo::getDataType,flowUserRelInfo.getDataType()); + deleteWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowUserRelInfo.getFlowType()); + deleteWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId,flowUserRelInfo.getActiProcInstId()); + this.flowUserRelInfoMapper.delete(deleteWrap); + + this.saveBatch(flowUserRelInfoList); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/PolicySolicitOpinionEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/PolicySolicitOpinionEOServiceImpl.java new file mode 100644 index 00000000..584acd9a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/PolicySolicitOpinionEOServiceImpl.java @@ -0,0 +1,130 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.netflix.discovery.converters.Auto; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO; +import com.ydw.bat.wkflow.business_main.datas.mapper.PolicySolicitOpinionEOMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class PolicySolicitOpinionEOServiceImpl extends ServiceImpl implements IPolicySolicitOpinionEOService { + + @Autowired + private IFlowUserRelInfoService flowUserRelInfoService; + + @Override + public void batchInsert(JSONObject json) { + String currentUserId = json.getString("currentUserId"); + String prcId = json.getString("prcId"); + String removeIds = json.getString("removeIds"); + + JSONObject jsonForm = json.getJSONObject("form"); + if (StringUtils.isNotEmpty(removeIds)) { + List removeIdList = Arrays.asList(removeIds.split(",")); + this.removeByIds(removeIdList); + } + JSONArray policySolicitOpinionEOArr = json.getJSONArray("policySolicitOpinionEOList"); + List addPolicySolicitOpinionEOList = new ArrayList<>(); + List updatePolicySolicitOpinionEOList = new ArrayList<>(); + PolicySolicitOpinionEO policySolicitOpinionEO = null; + for (Object policySolicitOpinion : policySolicitOpinionEOArr) { + policySolicitOpinionEO = JSONObject.parseObject(JSONObject.toJSONString(policySolicitOpinion), PolicySolicitOpinionEO.class); + + policySolicitOpinionEO.setPrcId(prcId); + policySolicitOpinionEO.setSarLawsInfoId(jsonForm.getString("lawsId")); + if (StringUtils.isEmpty(policySolicitOpinionEO.getId())) { + policySolicitOpinionEO.setCreateUserId(currentUserId); + policySolicitOpinionEO.setCreateTime(new Date()); + addPolicySolicitOpinionEOList.add(policySolicitOpinionEO); + } else { + policySolicitOpinionEO.setModifyUserId(currentUserId); + policySolicitOpinionEO.setModifyTime(new Date()); + updatePolicySolicitOpinionEOList.add(policySolicitOpinionEO); + } + } + + if (CollectionUtils.isNotEmpty(addPolicySolicitOpinionEOList)) { + this.saveBatch(addPolicySolicitOpinionEOList); + } + if (CollectionUtils.isNotEmpty(updatePolicySolicitOpinionEOList)) { + this.updateBatchById(updatePolicySolicitOpinionEOList); + } + } + + @Override + public List queryPolicitOpinionEOList(Map params) { + + List result = new ArrayList<>(); + String taskDefinitionKey = (String) params.get("taskDefinitionKey"); + String currentUserId = (String) params.get("currentUserId"); + String prcId = (String) params.get("prcId"); + + QueryWrapper psoEoQueryWrap = new QueryWrapper<>(); + psoEoQueryWrap.lambda().eq(PolicySolicitOpinionEO::getPrcId, prcId); + + if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey8")) { + // 责任人处理 + psoEoQueryWrap.lambda().eq(PolicySolicitOpinionEO::getCreateUserId, currentUserId); + } else if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey9")) { + // 责任对接人汇总 + // 查询当前责任对接人分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + userIdList.add(currentUserId); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + psoEoQueryWrap.lambda().in(PolicySolicitOpinionEO::getCreateUserId, userIdList); + } else if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey10")) { + // 责任单位审批 + // 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId); + List zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) { + List zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList()); + userIdList.addAll(zrdjrUserIdList); + + QueryWrapper zrdjrQueryWrap = new QueryWrapper<>(); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue()); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + } else { + userIdList.add("设置一个无法满足的条件"); + } + psoEoQueryWrap.lambda().in(PolicySolicitOpinionEO::getCreateUserId, userIdList); + } + psoEoQueryWrap.orderByAsc("create_time"); + result = this.list(psoEoQueryWrap); + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java index 0740a53b..78e10c8d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10After.java @@ -24,7 +24,8 @@ public class PolicySolicitOpinionProcess10After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { // 责任部门 子流程总数 int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); @@ -35,7 +36,7 @@ public class PolicySolicitOpinionProcess10After implements TaskListener { // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 if (zrSubProcessCount == zrSubProcessFinishCount) { - String glyUserId = object.getString("glyUserId"); + String glyUserId = jsonForm.getString("glyUserId"); delegateTask.setVariable("glyUserId",glyUserId); BusProcessNew busProcessNewNext = new BusProcessNew(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java index a5d1cac2..4f8e9749 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11After.java @@ -29,9 +29,10 @@ public class PolicySolicitOpinionProcess11After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { - String shr2UserIds = object.getString("shr2UserIds"); + String shr2UserIds = jsonForm.getString("shr2UserIds"); List nextUserList = Arrays.asList(shr2UserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { List addBusProcessNewList = new ArrayList<>(); @@ -55,7 +56,7 @@ public class PolicySolicitOpinionProcess11After implements TaskListener { delegateTask.setVariable("shr2UserOverruleCount", 0); } } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java index f9a1aadf..47c21d04 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java @@ -8,6 +8,7 @@ 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.business_main.datas.service.IPolicySolicitOpinionEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; import org.activiti.engine.delegate.DelegateTask; @@ -26,19 +27,24 @@ public class PolicySolicitOpinionProcess12After implements TaskListener { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { int shr2UserPassCount = (int) delegateTask.getVariable("shr2UserPassCount"); delegateTask.setVariable("shr2UserPassCount", shr2UserPassCount + 1); - String hqrUserIds = object.getString("hqrUserIds"); - List nextUserList = Arrays.asList(hqrUserIds.split(",")); + List nextUserList = new ArrayList<>(); + String hqrUserIds = jsonForm.getString("hqrUserIds"); + if (StringUtils.isNotEmpty(hqrUserIds)) { + nextUserList.addAll(Arrays.asList(hqrUserIds.split(","))); + } List hqrUserIdList = (List) delegateTask.getVariable("hqrUserIdList"); if (CollectionUtils.isNotEmpty(hqrUserIdList)) { @@ -75,7 +81,7 @@ public class PolicySolicitOpinionProcess12After implements TaskListener { } } } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); @@ -91,6 +97,11 @@ public class PolicySolicitOpinionProcess12After implements TaskListener { delegateTask.setVariable("shr2UserOverruleCount", 1); } + // 保存责任人填写的征求意见信息 + object.put("currentUserId",delegateTask.getAssignee()); + object.put("prcId",delegateTask.getProcessInstanceId()); + policySolicitOpinionEOService.batchInsert(object); + // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java index 76233e79..9113ced4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java @@ -31,7 +31,8 @@ public class PolicySolicitOpinionProcess13After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { int hqrUserPassCount = (int) delegateTask.getVariable("hqrUserPassCount"); delegateTask.setVariable("hqrUserPassCount", hqrUserPassCount + 1); @@ -41,7 +42,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener { delegateTask.getId() ); if (!existTaskFlag) { - String sdr2UserIds = object.getString("sdr2UserIds"); + String sdr2UserIds = jsonForm.getString("sdr2UserIds"); List nextUserList = Arrays.asList(sdr2UserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { List addBusProcessNewList = new ArrayList<>(); @@ -66,7 +67,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener { } } } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java index a8213ce3..04483745 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java @@ -26,7 +26,8 @@ public class PolicySolicitOpinionProcess14After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); @@ -36,7 +37,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener { delegateTask.getId() ); if (!existTaskFlag) { - String pzr2UserId = object.getString("pzr2UserId"); + String pzr2UserId = jsonForm.getString("pzr2UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); @@ -50,7 +51,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener { delegateTask.setVariable("pzr2UserId", pzr2UserId); } } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java index fcd50c00..2494f284 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15After.java @@ -29,9 +29,10 @@ public class PolicySolicitOpinionProcess15After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { - String csrUserIds = object.getString("csrUserIds"); + String csrUserIds = jsonForm.getString("csrUserIds"); List nextUserList = Arrays.asList(csrUserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { List addBusProcessNewList = new ArrayList<>(); @@ -52,7 +53,7 @@ public class PolicySolicitOpinionProcess15After implements TaskListener { delegateTask.setVariable("csrUserIdList", nextUserList); } } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java index 1ed89ea5..263a29ef 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java @@ -2,6 +2,8 @@ package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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; @@ -11,11 +13,16 @@ 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.Date; + public class PolicySolicitOpinionProcess16After implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -23,6 +30,26 @@ public class PolicySolicitOpinionProcess16After implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // TODO 等需求确认,提交后需要做什么操作。 + + + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + QueryWrapper bpnQueryWrap = new QueryWrapper(); + bpnQueryWrap.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName bpn = busProcessNameService.getOne(bpnQueryWrap); + if (bpn != null) { + bpn.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(bpn); + } + } + // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java index d3f83644..4b3fb251 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1After.java @@ -9,6 +9,7 @@ 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.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -31,18 +32,18 @@ public class PolicySolicitOpinionProcess1After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); delegateTask.setVariable("objectJson",object); // 审核人1用户ids - String shr1UserIds = object.getString("shr1UserIds"); + String shr1UserIds = jsonForm.getString("shr1UserIds"); List nextUserList = Arrays.asList(shr1UserIds.split(",")); - //截止时间 流程描述 创建人 String user = object.getString("prcCreateUser"); String username = object.getString("prcCreateUserName"); - Object lawsName = object.get("lawsName"); - Object lawsNumber = object.get("lawsNumber"); + Object lawsName = jsonForm.get("lawsName"); + Object lawsNumber = jsonForm.get("lawsNumber"); String lawsInfoName = ""; if(lawsName != null && lawsNumber != null){ String name = lawsName.toString()+"-"; @@ -56,12 +57,12 @@ public class PolicySolicitOpinionProcess1After implements TaskListener { queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if(one1!=null){ - one1.setPrcType("laws2"); + one1.setPrcType(FlowTypeEnum.ZCZQYJLC.getValue()); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); - Date responsibleUnitDeadlineDate = object.getDate("responsibleUnitDeadline"); + Date responsibleUnitDeadlineDate = jsonForm.getDate("responsibleUnitDeadline"); one1.setResponsibleUnitDeadlineDate(responsibleUnitDeadlineDate); busProcessNameService.saveOrUpdate(one1); } @@ -89,7 +90,6 @@ public class PolicySolicitOpinionProcess1After implements TaskListener { busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); - busProcessNewNext.setPrcName(prcName); addBusProcessNewList.add(busProcessNewNext); } busBean.saveBatch(addBusProcessNewList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java index 31a0cd54..4747dc24 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java @@ -30,7 +30,9 @@ public class PolicySolicitOpinionProcess2After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { int shr1UserPassCount = (int) delegateTask.getVariable("shr1UserPassCount"); delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); @@ -42,7 +44,7 @@ public class PolicySolicitOpinionProcess2After implements TaskListener { ); if (!existTaskFlag) { // 审定人1用户ids - String sdr1UserIds = object.getString("sdr1UserIds"); + String sdr1UserIds = jsonForm.getString("sdr1UserIds"); List nextUserList = Arrays.asList(sdr1UserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { List addBusProcessNewList = new ArrayList<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java index a49e1bd0..50d8c691 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java @@ -26,7 +26,9 @@ public class PolicySolicitOpinionProcess4After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { int sdr1UserPassCount = (int) delegateTask.getVariable("sdr1UserPassCount"); delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); @@ -37,7 +39,7 @@ public class PolicySolicitOpinionProcess4After implements TaskListener { delegateTask.getId() ); if (!existTaskFlag) { - String pzr1UserId = object.getString("pzr1UserId"); + String pzr1UserId = jsonForm.getString("pzr1UserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java index 9703b0c1..27ed588a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5After.java @@ -4,7 +4,6 @@ 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.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; @@ -14,8 +13,6 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -32,23 +29,16 @@ public class PolicySolicitOpinionProcess5After implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - String approvalFlag = object.getString("approvalFlag"); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - String responsibleUnitDeadline = object.getString("responsibleUnitDeadline"); - Date responsibleUnitDeadlineDate = null; - try { - responsibleUnitDeadlineDate = sdf.parse(responsibleUnitDeadline); - } catch (ParseException e) { - e.printStackTrace(); - } - + Date responsibleUnitDeadlineDate = jsonForm.getDate("responsibleUnitDeadline"); String endFlag = ""; // 如果当前日期大于责任单位截止日期,则不走责任对接人子流程 RESPONSIBLE_UNIT_DEADLINE_DATE if (new Date().after(responsibleUnitDeadlineDate)) { endFlag = "0"; // 管理员用户id - String glyUserId = object.getString("glyUserId"); + String glyUserId = jsonForm.getString("glyUserId"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); @@ -64,7 +54,7 @@ public class PolicySolicitOpinionProcess5After implements TaskListener { endFlag = "1"; // 责任对接人用户id - String djrUserIds = object.getString("djrUserIds"); + String djrUserIds = jsonForm.getString("djrUserIds"); List nextUserList = Arrays.asList(djrUserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { List addBusProcessNewList = new ArrayList<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java index 04c32590..e3f0503e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7After.java @@ -4,10 +4,13 @@ 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.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; 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.business_main.datas.service.IFlowUserRelInfoService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -22,19 +25,23 @@ public class PolicySolicitOpinionProcess7After implements TaskListener { public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit String submitMethod = object.getString("submitMethod"); if (StringUtils.isEmpty(submitMethod)) { - String zrrUserIds = object.getString("zrrUserIds"); + String zrrUserIds = jsonForm.getString("zrrUserIds"); if (StringUtils.isNotEmpty(zrrUserIds)) { List nextUserList = Arrays.asList(zrrUserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { + List flowUserRelInfoList = new ArrayList<>(); + List addBusProcessNewList = new ArrayList<>(); for (String nextUser : nextUserList) { BusProcessNew busProcessNewNext = new BusProcessNew(); @@ -46,11 +53,21 @@ public class PolicySolicitOpinionProcess7After implements TaskListener { busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); addBusProcessNewList.add(busProcessNewNext); + + FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo(); + flowUserRelInfo.setParentUserId(delegateTask.getAssignee()); + flowUserRelInfo.setUserId(nextUser); + flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId()); + flowUserRelInfo.setFlowType(FlowTypeEnum.ZCZQYJLC.getValue()); + flowUserRelInfo.setDataType("zrdjrfpzrr"); // 责任对接人分配责任人 + flowUserRelInfoList.add(flowUserRelInfo); } busBean.saveBatch(addBusProcessNewList); // 配置多实例 delegateTask.setVariable("zrrUserIdList", nextUserList); + + flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList); } } @@ -64,7 +81,7 @@ public class PolicySolicitOpinionProcess7After implements TaskListener { // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 if (zrSubProcessCount == zrSubProcessFinishCount) { - String glyUserId = object.getString("glyUserId"); + String glyUserId = jsonForm.getString("glyUserId"); delegateTask.setVariable("glyUserId", glyUserId); BusProcessNew busProcessNewNext = new BusProcessNew(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java index 93f071e9..964912c0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8After.java @@ -8,6 +8,7 @@ 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.business_main.datas.service.IPolicySolicitOpinionEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -19,31 +20,32 @@ public class PolicySolicitOpinionProcess8After implements TaskListener { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit String submitMethod = object.getString("submitMethod"); if (StringUtils.isEmpty(submitMethod)) { - boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), - delegateTask.getTaskDefinitionKey(), - delegateTask.getId() - ); - if (!existTaskFlag) { - 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((String) delegateTask.getVariable("djrUserId")); - busBean.save(busProcessNewNext); - } + + 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((String) delegateTask.getVariable("djrUserId")); + busBean.save(busProcessNewNext); + + // 保存责任人填写的征求意见信息 + object.put("currentUserId",delegateTask.getAssignee()); + object.put("prcId",delegateTask.getProcessInstanceId()); + policySolicitOpinionEOService.batchInsert(object); submitMethod = "pageSubmit"; } else { @@ -55,7 +57,7 @@ public class PolicySolicitOpinionProcess8After implements TaskListener { // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 if (zrSubProcessCount == zrSubProcessFinishCount) { - String glyUserId = object.getString("glyUserId"); + String glyUserId = jsonForm.getString("glyUserId"); delegateTask.setVariable("glyUserId", glyUserId); BusProcessNew busProcessNewNext = new BusProcessNew(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java index d11957c2..d1ee1e53 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9After.java @@ -4,11 +4,11 @@ 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.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.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.service.*; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; @@ -21,19 +21,22 @@ public class PolicySolicitOpinionProcess9After implements TaskListener { public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); + IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); - String approvalFlag = object.getString("approvalFlag"); + String approvalFlag = jsonForm.getString("approvalFlag"); if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { // 内部审查 0 是,1 否 - String internalReviewFlag = object.getString("internalReviewFlag"); + String internalReviewFlag = jsonForm.getString("internalReviewFlag"); if (StringUtils.equals(internalReviewFlag, "0")) { - String zrdwUserId = object.getString("zrdwUserId"); + String zrdwUserId = jsonForm.getString("zrdwUserId"); delegateTask.setVariable("zrdwUserId", zrdwUserId); BusProcessNew busProcessNewNext = new BusProcessNew(); @@ -45,6 +48,16 @@ public class PolicySolicitOpinionProcess9After implements TaskListener { busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(zrdwUserId); busBean.save(busProcessNewNext); + + List flowUserRelInfoList = new ArrayList<>(); + FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo(); + flowUserRelInfo.setParentUserId(delegateTask.getAssignee()); + flowUserRelInfo.setUserId(zrdwUserId); + flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId()); + flowUserRelInfo.setFlowType(FlowTypeEnum.ZCZQYJLC.getValue()); + flowUserRelInfo.setDataType("zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + flowUserRelInfoList.add(flowUserRelInfo); + flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList); } else if (StringUtils.equals(internalReviewFlag, "1")) { // 责任部门 子流程总数 int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); @@ -54,7 +67,7 @@ public class PolicySolicitOpinionProcess9After implements TaskListener { // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 if (zrSubProcessCount == zrSubProcessFinishCount) { - String glyUserId = object.getString("glyUserId"); + String glyUserId = jsonForm.getString("glyUserId"); delegateTask.setVariable("glyUserId", glyUserId); BusProcessNew busProcessNewNext = new BusProcessNew(); @@ -68,6 +81,9 @@ public class PolicySolicitOpinionProcess9After implements TaskListener { busBean.save(busProcessNewNext); } } + + jsonForm.put("internalReviewFlag",""); + jsonForm.put("zrdwUserId",""); delegateTask.setVariable("internalReviewFlag", internalReviewFlag); } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { List zrrUserIdList = (List) delegateTask.getVariable("zrrUserIdList"); @@ -86,6 +102,11 @@ public class PolicySolicitOpinionProcess9After implements TaskListener { busBean.saveBatch(addBusProcessNewList); } + // 保存责任人填写的征求意见信息 + object.put("currentUserId",delegateTask.getAssignee()); + object.put("prcId",delegateTask.getProcessInstanceId()); + policySolicitOpinionEOService.batchInsert(object); + // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java new file mode 100644 index 00000000..cb41b2d1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java @@ -0,0 +1,142 @@ +package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess.timer; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +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.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; +import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.TaskService; +import org.activiti.engine.task.Task; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Description: 政策征求意见流程定时器 + * @author: wangzhijiang + * @date: 2023-10-23 + */ +@Component +@EnableScheduling +@Slf4j +public class PolicySolicitOpinionProcessTimer { + + @Autowired + private IBusProcessNameService busProcessNameService; + @Autowired + private TaskService taskService; + @Autowired + private IBusProcessNewService busProcessNewService; + @Autowired + private FormValsService formValsService; + + /** + * @Description: 自动提交待办任务 + * @author: wangzhijiang + * @date: 2023-10-23 + * @Param: + * @return: + */ + @Scheduled(cron = "30 59 13 * * ? ")//每天十点执行 +// @Scheduled(cron = "0/15 * * * * ? ") + public void autoSubmitZrbmTask() { + QueryWrapper bpnQueryWrap = new QueryWrapper<>(); + bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCZQYJLC.getValue()); + bpnQueryWrap.lambda().lt(BusProcessName::getResponsibleUnitDeadlineDate, new Date()); + List busProcessNameList = this.busProcessNameService.list(bpnQueryWrap); + + if (CollectionUtils.isNotEmpty(busProcessNameList)) { + List actiProcInstIdList = busProcessNameList.stream().map(BusProcessName::getPrcId).distinct().collect(Collectors.toList()); + this.recursionComplteZrbmTask(actiProcInstIdList); + } + } + + /** + * 递归提交待办任务 + * + * @param actiProcInstIdList + */ + public void recursionComplteZrbmTask(List actiProcInstIdList) { + for (String actiProcInstId : actiProcInstIdList) { + List taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> { + boolean flag = false; + if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey7") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey8") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey9") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey10")) { + flag = true; + } + return flag; + }).distinct().collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(taskList)) { + for (Task task : taskList) { + JSONObject formJson = new JSONObject(); + + QueryWrapper newQueryWrapper = new QueryWrapper<>(); + newQueryWrapper.lambda().eq(BusProcessNew::getTaskId, task.getId()); + BusProcessNew busProcessNew = this.busProcessNewService.getOne(newQueryWrapper); + if (ObjectUtils.isNotEmpty(busProcessNew)) { + formJson = JSONObject.parseObject(busProcessNew.getMesg()); + JSONObject jsonForm = formJson.getJSONObject("form"); + jsonForm.put("approvalFlag",ApprovalFlagEnum.PASS.getValue()); + jsonForm.put("internalReviewFlag", "1"); + formJson.put("commentText",""); + } + formJson.put("submitMethod", "timerAutoSubmit"); + formJson.put("approvalFlag", ApprovalFlagEnum.PASS.getValue()); + formJson.put("internalReviewFlag", "1"); + + FormSubmitDto formSubmitDto = new FormSubmitDto(); + formSubmitDto.setForm(formJson.toString()); + formSubmitDto.setTask_id(task.getId()); + this.formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + + this.taskService.complete(task.getId()); + } + } + } + List actiProcInstIds = this.queryZrbmTaskByActiProcInstId(actiProcInstIdList); + if (CollectionUtils.isNotEmpty(actiProcInstIds)) { + this.recursionComplteZrbmTask(actiProcInstIds); + } + } + + /** + * 根据流程实例id,查询还有待办任务的流程。 + * + * @param actiProcInstIdList + * @return + */ + public List queryZrbmTaskByActiProcInstId(List actiProcInstIdList) { + List result = new ArrayList<>(); + for (String actiProcInstId : actiProcInstIdList) { + List taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> { + boolean flag = false; + if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey7") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey8") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey9") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey10")) { + flag = true; + } + return flag; + }).distinct().collect(Collectors.toList()); + if (taskList.size() != 0) { + result.add(actiProcInstId); + } + } + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java new file mode 100644 index 00000000..9a765571 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java @@ -0,0 +1,22 @@ +package com.ydw.bat.wkflow.util.enums; + +/** + * 流程类型枚举类 + */ +public enum FlowTypeEnum { + ZCZQYJLC("29","政策征求意见流程"),; + + private String value; + private String lable; + + private FlowTypeEnum(String value, String lable) { + this.value = value; + this.lable = lable; + } + public String getValue() { + return value; + } + public String getLable() { + return lable; + } +} diff --git a/src/main/resources/mapper/datas/PolicySolicitOpinionEOMapper.xml b/src/main/resources/mapper/datas/PolicySolicitOpinionEOMapper.xml new file mode 100644 index 00000000..93f439b8 --- /dev/null +++ b/src/main/resources/mapper/datas/PolicySolicitOpinionEOMapper.xml @@ -0,0 +1,5 @@ + + + + + From 17f1ff351213ebaf89bae5f0106afdcfa8e7b9bb Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 24 Oct 2023 16:42:27 +0800 Subject: [PATCH 10/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PGREPresidentApprovalAfter.java | 80 +++++-------------- .../PGREPresidentApprovalBefore.java | 7 +- .../PRGEInspectorApprovalAfter.java | 55 ++++++------- .../PRGEInspectorApprovalBefore.java | 8 +- .../PRGEMinisterConfirmAfter.java | 61 +++++++------- .../PRGEMinisterConfirmBefore.java | 12 +-- .../PRGEStartAfter.java | 45 +++++------ .../PRGEStartBefore.java | 3 + .../RevisionInformationBefore.java | 7 +- .../RevisonInformationAfter.java | 41 +++++----- 10 files changed, 145 insertions(+), 174 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java index 497bdb7c..cc37bcab 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -1,30 +1,25 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; -import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; 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.business_slrs.dao.WgDept; import com.ydw.bat.wkflow.util.SpringContextUtil; 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.Arrays; -import java.util.Date; import java.util.List; +/** + * 政策课题入会批准后 + */ public class PGREPresidentApprovalAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -34,8 +29,6 @@ public class PGREPresidentApprovalAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - //根据流程id找到流程信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -43,58 +36,30 @@ public class PGREPresidentApprovalAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - String user = delegateTask.getVariable("createUser", String.class); - String username = delegateTask.getVariable("createUserName", String.class); - String prcName=""; + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = delegateTask.getVariable("topicName", String.class); + String prcName= topicName + "-政策课题入会流程"; - - - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); if ("1".equals(object.getString("gsfz"))) { + // 批准通过 delegateTask.setVariable("gsfz", "1"); - -// JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); -// List wgDept=new ArrayList<>(); -// jsonArray.forEach(o -> { -// JSONObject os=JSONObject.parseObject(o.toString()); -// WgDept wgDept1=new WgDept(); -// wgDept1.setWgId(object.getString("standId")); -// wgDept1.setDeptOrder(os.getString("itemsNum")); -// wgDept1.setDeptPeopleId(os.getString("itemsName")); -// wgDept1.setIdentity(os.getString("responsibleUnitShow")); -// wgDept1.setJoinfile(os.getString("zxUserIdName")); -// wgDept1.setJoinId(os.getString("itermsConditions")); -// wgDept.add(wgDept1); -// }); -// -// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); -// jsonArray1.forEach(obj ->{ -// JSONObject object1 = JSONObject.parseObject(obj.toString()); -// WgDept wgDept1=new WgDept(); -// wgDept1.setWgId(object.getString("standId")); -// wgDept1.setDeptOrder(object1.getString("itemsNum")); -// wgDept1.setDeptPeopleId(object1.getString("itemsName")); -// wgDept1.setIdentity(object1.getString("responsibleUnitShow")); -// wgDept1.setJoinfile(object1.getString("zxUserIdName")); -// wgDept1.setJoinId(object1.getString("itermsConditions")); -// wgDept.add(wgDept1); -// }); - -// lawsUserInfoService.wgDeptSaveBatch(wgDept); - - prcName = "政策课题组入会流程"; } else { + // 批准驳回 delegateTask.setVariable("gsfz", "0"); - if (StringUtils.isNotBlank(object.getString("revisionId"))) { - delegateTask.setVariable("revisionInformation", object.getString("revisionId")); - nextUserList.add(object.getString("revisionId")); + if (StringUtils.isNotBlank(object.getString("applyUserId"))) { + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - prcName = "政策课题组入会流程-修订入会信息"; +// prcName = "政策课题组入会流程-修订入会信息"; } - // 存储当前节点意见 + // 存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -106,25 +71,24 @@ public class PGREPresidentApprovalAfter implements TaskListener { } } - - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { - one1.setPrcType("17"); + one1.setPrcType("30"); // one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } - if (nextUserList != null && !nextUserList.isEmpty()) { + if (!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.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java index ec16dc22..f313a077 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java @@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题入会批准前 + */ public class PGREPresidentApprovalBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +29,7 @@ public class PGREPresidentApprovalBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrhStep4?prcType=17"); + one1.setLink("policyTopicEnrollment/step4?prcType=30"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java index 2c7a5249..809d9d96 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -2,9 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; -import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; 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; @@ -17,12 +14,12 @@ 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 PRGEInspectorApprovalAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -32,8 +29,6 @@ public class PRGEInspectorApprovalAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - //根据流程id找到流程信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -42,33 +37,42 @@ public class PRGEInspectorApprovalAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - String user = delegateTask.getVariable("createUser", String.class); - String username = delegateTask.getVariable("createUserName", String.class); - String prcName=""; - List nextUserList = new ArrayList(); + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = delegateTask.getVariable("topicName", String.class); + String prcName= topicName + "-政策课题入会流程"; + List nextUserList = new ArrayList<>(); if ("1".equals(object.getString("fgfzj"))) { + // 审定通过 delegateTask.setVariable("fgfzj", "1"); if (StringUtils.isNotBlank(object.getString("presidentId"))) { - delegateTask.setVariable("presidentApproval", object.getString("presidentId")); + delegateTask.setVariable("presidentId", object.getString("presidentId")); nextUserList.add(object.getString("presidentId")); + } else { + throw new ActivitiException("1#2公司副总不存在,请配置相关人员"); } - prcName = "政策课题组入会流程-公司副总批准"; } else if ("0".equals(object.getString("fgfzj"))) { + // 审定驳回 delegateTask.setVariable("fgfzj", "0"); - if (StringUtils.isNotBlank(object.getString("revisionId"))){ - delegateTask.setVariable("revisionInformation", object.getString("revisionId")); - nextUserList.add(object.getString("revisionId")); + if (StringUtils.isNotBlank(object.getString("applyUserId"))){ + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - prcName = "政策课题组入会流程-修订入会信息"; + // 删除其他该节点的代办数据 +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(BusProcessNew::getTaskId, delegateTask.getId()); +// busBean.remove(wrapper); }else{ delegateTask.setVariable("fgfzj", "2"); prcName = "政策课题组入会流程"; } - // 存储当前节点意见 + // 存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -80,27 +84,24 @@ public class PRGEInspectorApprovalAfter implements TaskListener { } } - - - - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { - one1.setPrcType("17"); + one1.setPrcType("30"); // one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } - if (nextUserList != null && !nextUserList.isEmpty()) { + if (!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.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java index 9842c401..f2ccce56 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java @@ -10,11 +10,15 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题入会审定前 + */ public class PRGEInspectorApprovalBefore implements TaskListener { + @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +30,7 @@ public class PRGEInspectorApprovalBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrhStep3?prcType=17"); + one1.setLink("policyTopicParticipation/step3?prcType=30"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java index ac5df7e1..91e32899 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -1,10 +1,8 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; -import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; 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; @@ -17,12 +15,13 @@ 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 PRGEMinisterConfirmAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -33,8 +32,6 @@ public class PRGEMinisterConfirmAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - //根据流程id找到流程信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -43,33 +40,39 @@ public class PRGEMinisterConfirmAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson",object); //截止时间 流程描述 创建人 - String user = delegateTask.getVariable("createUser",String.class); - String username = delegateTask.getVariable("createUserName",String.class); - String prcName=""; - - - List nextUserList = new ArrayList(); + String user = delegateTask.getVariable("applyUserId",String.class); + String username = delegateTask.getVariable("applyUserName",String.class); + String topicName = delegateTask.getVariable("topicName", String.class); + String prcName= topicName + "-政策课题组入会流程"; + List nextUserList = new ArrayList<>(); if("1".equals(object.getString("fgfbz"))){ + // 审核通过 delegateTask.setVariable("fgfbz", "1"); if (StringUtils.isNotBlank(object.getString("inspectorId"))){ - delegateTask.setVariable("inspectorApproval", object.getString("inspectorId")); - nextUserList.add(object.getString("inspectorId")); + List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); + delegateTask.setVariable("inspectorIdList",inspectorIdList); + nextUserList.addAll(inspectorIdList); + } else { + throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员"); } - prcName = "政策课题组入会流程-法规认证部副总监批准"; }else{ + // 审核驳回 delegateTask.setVariable("fgfbz","0"); - if (StringUtils.isNotBlank(object.getString("revisionId"))){ - delegateTask.setVariable("revisionInformation", object.getString("revisionId")); - nextUserList.add(object.getString("revisionId")); + if (StringUtils.isNotBlank(object.getString("applyUserId"))){ + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); } - prcName = "政策课题组入会流程-修订入会信息"; + // 删除其他该节点的代办数据 +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(BusProcessNew::getTaskId, delegateTask.getId()); +// busBean.remove(wrapper); } - // 存储当前节点意见 + // 存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -81,30 +84,24 @@ public class PRGEMinisterConfirmAfter implements TaskListener { } } - - - - - - - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { - one1.setPrcType("17"); + one1.setPrcType("30"); // one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } - if (nextUserList != null && !nextUserList.isEmpty()) { + if (!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.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java index ed466925..5bd6a864 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java @@ -10,15 +10,15 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题入会审核前 + */ public class PRGEMinisterConfirmBefore implements TaskListener { -// @Override -// public void notify(DelegateTask delegateTask) { -// -// } + @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -30,7 +30,7 @@ public class PRGEMinisterConfirmBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrhStep2?prcType=17"); + one1.setLink("policyTopicEnrollment/step2?prcType=30"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java index 8c768d1d..c73ee896 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java @@ -2,9 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; -import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; 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; @@ -17,12 +14,13 @@ 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 PRGEStartAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -33,8 +31,6 @@ public class PRGEStartAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - //根据流程id找到流程信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -43,27 +39,29 @@ public class PRGEStartAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson",object); - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); if(StringUtils.isNotBlank(object.getString("ministerId"))){ - delegateTask.setVariable("ministerConfirm", object.getString("ministerId")); - nextUserList.add(object.getString("ministerId")); + List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); + delegateTask.setVariable("ministerIdList",ministerIdList); + nextUserList.addAll(ministerIdList); +// delegateTask.setVariable("ministerConfirm", object.getString("ministerId")); +// nextUserList.add(object.getString("ministerId")); + } else { + throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } - - //截止时间 流程描述 创建人 - String user = object.getString("revisionId"); - delegateTask.setVariable("createUser",user); - String username = object.getString("revisionIdName"); - delegateTask.setVariable("createUserName",username); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); + String topicName = object.getString("topicName"); String prcName=""; - prcName = "政策课题组入会流程-法规认证部副部长审核"; + prcName = topicName + "-政策课题入会流程"; - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { - one1.setPrcType("17"); + one1.setPrcType("30"); one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); @@ -75,11 +73,12 @@ public class PRGEStartAfter implements TaskListener { busProcessNews.setMsgType("clause"); busProcessNews.setPId(delegateTask.getProcessInstanceId()); busProcessNews.setMesg(object.toJSONString()); - busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey()); +// busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNews.setFinishFlag("0"); busProcessNews.setTaskInfo(delegateTask.getName()); busProcessNews.setTaskId(delegateTask.getId()); - busProcessNews.setUserId("start"); +// busProcessNews.setUserId("start"); + busProcessNews.setUserId(user); busProcessNews.setPrcName(prcName); busProcessNews.setCommitText(object.getString("commentText")); busBean.save(busProcessNews); @@ -91,7 +90,7 @@ public class PRGEStartAfter implements TaskListener { busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); +// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java index c4c66ff2..6a77ce80 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java @@ -3,6 +3,9 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +/** + * 政策课题入会起草前 + */ public class PRGEStartBefore implements TaskListener { @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java index 8a9afaca..89da64da 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java @@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题入会重新起草前 + */ public class RevisionInformationBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +29,7 @@ public class RevisionInformationBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcrhStep1-1?prcType=17"); + one1.setLink("policyTopicEnrollment/step1_1?prcType=30"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java index ece669f3..37b525e3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java @@ -2,9 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; -import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; 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; @@ -17,12 +14,13 @@ 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 RevisonInformationAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -32,8 +30,6 @@ public class RevisonInformationAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - //根据流程id找到流程信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -42,22 +38,26 @@ public class RevisonInformationAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); - if (StringUtils.isNotBlank(delegateTask.getVariable("ministerConfirm",String.class))) { - nextUserList.add(delegateTask.getVariable("ministerConfirm",String.class)); + if (StringUtils.isNotBlank(delegateTask.getVariable("ministerId",String.class))) { + List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); + delegateTask.setVariable("ministerIdList",ministerIdList); + nextUserList.addAll(ministerIdList); + } else { + throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } - String user = delegateTask.getVariable("createUser", String.class); - String username = delegateTask.getVariable("createUserName", String.class); - String prcName=""; - prcName = "政策课题组入会流程-法规认证部副部长审核"; + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = delegateTask.getVariable("topicName", String.class); + String prcName= topicName + "-政策课题组入会流程"; - QueryWrapper queryWrapper2 = new QueryWrapper(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { - one1.setPrcType("17"); + one1.setPrcType("30"); // one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); @@ -65,7 +65,7 @@ public class RevisonInformationAfter implements TaskListener { } //存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -77,13 +77,13 @@ public class RevisonInformationAfter implements TaskListener { } } - if (nextUserList != null && !nextUserList.isEmpty()) { + if (!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.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(nextUser); @@ -91,8 +91,5 @@ public class RevisonInformationAfter implements TaskListener { busBean.save(busProcessNewNext); } } - - - } } From 0455f93bc309a26cf96234ed7ae553bc6e84a5c8 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Wed, 25 Oct 2023 13:36:13 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=E9=87=8D=E7=82=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=A0=87=E5=87=86/=E6=94=BF=E7=AD=96=E5=90=88=E8=A7=84?= =?UTF-8?q?=E6=80=A7=E9=A1=B9=E7=9B=AE=E5=AE=A1=E6=9F=A5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 8 +- ...ComplianceProgramReviewProcess10After.java | 78 +++++++++++ ...omplianceProgramReviewProcess10Before.java | 38 ++++++ ...ComplianceProgramReviewProcess11After.java | 86 ++++++++++++ ...omplianceProgramReviewProcess11Before.java | 37 +++++ ...ComplianceProgramReviewProcess12After.java | 108 +++++++++++++++ ...omplianceProgramReviewProcess12Before.java | 37 +++++ ...ComplianceProgramReviewProcess13After.java | 87 ++++++++++++ ...omplianceProgramReviewProcess13Before.java | 37 +++++ ...ComplianceProgramReviewProcess14After.java | 85 ++++++++++++ ...omplianceProgramReviewProcess14Before.java | 37 +++++ ...ComplianceProgramReviewProcess15After.java | 65 +++++++++ ...omplianceProgramReviewProcess15Before.java | 37 +++++ ...yComplianceProgramReviewProcess1After.java | 97 +++++++++++++ ...ComplianceProgramReviewProcess1Before.java | 35 +++++ ...yComplianceProgramReviewProcess2After.java | 97 +++++++++++++ ...ComplianceProgramReviewProcess2Before.java | 37 +++++ ...yComplianceProgramReviewProcess4After.java | 81 +++++++++++ ...ComplianceProgramReviewProcess4Before.java | 37 +++++ ...yComplianceProgramReviewProcess5After.java | 107 +++++++++++++++ ...ComplianceProgramReviewProcess5Before.java | 37 +++++ ...yComplianceProgramReviewProcess7After.java | 114 ++++++++++++++++ ...ComplianceProgramReviewProcess7Before.java | 38 ++++++ ...yComplianceProgramReviewProcess8After.java | 89 ++++++++++++ ...ComplianceProgramReviewProcess8Before.java | 37 +++++ ...yComplianceProgramReviewProcess9After.java | 128 ++++++++++++++++++ ...ComplianceProgramReviewProcess9Before.java | 38 ++++++ .../PolicySolicitOpinionProcess10Before.java | 3 +- .../PolicySolicitOpinionProcess11Before.java | 3 +- .../PolicySolicitOpinionProcess12Before.java | 3 +- .../PolicySolicitOpinionProcess13Before.java | 3 +- .../PolicySolicitOpinionProcess14Before.java | 3 +- .../PolicySolicitOpinionProcess15Before.java | 3 +- .../PolicySolicitOpinionProcess16Before.java | 3 +- .../PolicySolicitOpinionProcess1Before.java | 3 +- .../PolicySolicitOpinionProcess2Before.java | 3 +- .../PolicySolicitOpinionProcess4Before.java | 3 +- .../PolicySolicitOpinionProcess5Before.java | 3 +- .../PolicySolicitOpinionProcess7Before.java | 3 +- .../PolicySolicitOpinionProcess8Before.java | 3 +- .../PolicySolicitOpinionProcess9Before.java | 3 +- .../bat/wkflow/util/enums/FlowTypeEnum.java | 12 +- 42 files changed, 1746 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9Before.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 5904902b..e918fe41 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 @@ -411,8 +411,8 @@ public class TodoTaskController extends BaseAction { busProcessEntrust.setTaskId(str); iBusProcessEntrustService.save(busProcessEntrust); - if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) { - this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str); + if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue()) || StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) { + this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str, one.getPrcType()); } } } @@ -507,11 +507,11 @@ public class TodoTaskController extends BaseAction { * @Param: * @return: */ - private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str) { + private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str,String flowType) { Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); QueryWrapper furQueryWrap = new QueryWrapper<>(); furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId); - furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,FlowTypeEnum.ZCZQYJLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowType); // 责任人任务处理。 if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10After.java new file mode 100644 index 00000000..220c04c0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10After.java @@ -0,0 +1,78 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.entity.Datas; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +public class PolicyComplianceProgramReviewProcess10After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + // 责任部门 子流程完成总数 + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount",zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = jsonForm.getString("glyUserId"); + delegateTask.setVariable("glyUserId",glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String djrUserId = (String) delegateTask.getVariable("djrUserId"); + 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(djrUserId); + busBean.save(busProcessNewNext); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10Before.java new file mode 100644 index 00000000..cb2c9dd7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess10Before.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess10Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11After.java new file mode 100644 index 00000000..0d50758d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11After.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.entity.Datas; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess11After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + String shr2UserIds = jsonForm.getString("shr2UserIds"); + List nextUserList = Arrays.asList(shr2UserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("shr2UserIdList", nextUserList); + delegateTask.setVariable("shr2UserCount", nextUserList.size()); + delegateTask.setVariable("shr2UserPassCount", 0); + delegateTask.setVariable("shr2UserOverruleCount", 0); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = jsonForm.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11Before.java new file mode 100644 index 00000000..2740391a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess11Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess11Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java new file mode 100644 index 00000000..543e85a8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class PolicyComplianceProgramReviewProcess12After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int shr2UserPassCount = (int) delegateTask.getVariable("shr2UserPassCount"); + delegateTask.setVariable("shr2UserPassCount", shr2UserPassCount + 1); + + String sdr2UserIds = jsonForm.getString("sdr2UserIds"); + List nextUserList = Arrays.asList(sdr2UserIds.split(",")); + delegateTask.setVariable("sdr2UserIdList", nextUserList); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("sdr2UserCount", nextUserList.size()); + delegateTask.setVariable("sdr2UserPassCount", 0); + delegateTask.setVariable("sdr2UserOverruleCount", 0); + } + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = jsonForm.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + delegateTask.setVariable("shr2UserOverruleCount", 1); + } + + // 保存责任人填写的征求意见信息 +// object.put("currentUserId",delegateTask.getAssignee()); +// object.put("prcId",delegateTask.getProcessInstanceId()); +// policySolicitOpinionEOService.batchInsert(object); + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12Before.java new file mode 100644 index 00000000..8664fbdd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess12Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java new file mode 100644 index 00000000..e94c2736 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess13After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); + delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String pzr2UserId = jsonForm.getString("pzr2UserId"); + + 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(pzr2UserId); + busBean.save(busProcessNewNext); + delegateTask.setVariable("pzr2UserId", pzr2UserId); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = jsonForm.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + delegateTask.setVariable("sdr2UserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13Before.java new file mode 100644 index 00000000..7130649e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess13Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14After.java new file mode 100644 index 00000000..43a1a32d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14After.java @@ -0,0 +1,85 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess14After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + String csrUserIds = jsonForm.getString("csrUserIds"); + List nextUserList = Arrays.asList(csrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("csrUserIdList", nextUserList); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + String pzr1UserId = jsonForm.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId", pzr1UserId); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14Before.java new file mode 100644 index 00000000..1f0b6dde --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess14Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess14Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java new file mode 100644 index 00000000..10d5bf66 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java @@ -0,0 +1,65 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.Date; + +public class PolicyComplianceProgramReviewProcess15After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.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()); + + // TODO 等需求确认,提交后需要做什么操作。 + + + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + QueryWrapper bpnQueryWrap = new QueryWrapper(); + bpnQueryWrap.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName bpn = busProcessNameService.getOne(bpnQueryWrap); + if (bpn != null) { + bpn.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(bpn); + } + } + + // 存储当前节点意见 + 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); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15Before.java new file mode 100644 index 00000000..e2912989 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess15Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1After.java new file mode 100644 index 00000000..5455b731 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1After.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess1After 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()); + JSONObject jsonForm = object.getJSONObject("form"); + delegateTask.setVariable("objectJson", object); + + // 审核人1用户ids + String shr1UserIds = jsonForm.getString("shr1UserIds"); + List nextUserList = Arrays.asList(shr1UserIds.split(",")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + + String prcName = "重点认证标准/政策合规性项目审查流程"; + QueryWrapper bpnQueryWrap = new QueryWrapper(); + bpnQueryWrap.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName bpn = busProcessNameService.getOne(bpnQueryWrap); + if (bpn != null) { + bpn.setPrcType(FlowTypeEnum.ZCHGXXMSCLC.getValue()); + bpn.setPrcName(prcName); + bpn.setCreatUser(user); + bpn.setCreatUserName(username); + + Date approvalUnitDeadline = jsonForm.getDate("approvalUnitDeadline"); + bpn.setResponsibleUnitDeadlineDate(approvalUnitDeadline); + busProcessNameService.saveOrUpdate(bpn); + } + + // 存储当前节点意见 + 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 (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("shr1UserIdList", nextUserList); + delegateTask.setVariable("shr1UserCount", nextUserList.size()); + delegateTask.setVariable("shr1UserPassCount", 0); + delegateTask.setVariable("shr1UserOverruleCount", 0); + } + + delegateTask.setVariable("fqrUserId", delegateTask.getAssignee()); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1Before.java new file mode 100644 index 00000000..331192b0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess1Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess1Before 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(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java new file mode 100644 index 00000000..0d714976 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess2After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + JSONObject jsonForm = object.getJSONObject("form"); + + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int shr1UserPassCount = (int) delegateTask.getVariable("shr1UserPassCount"); + delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + // 审定人1用户ids + String sdr1UserIds = jsonForm.getString("sdr1UserIds"); + List nextUserList = Arrays.asList(sdr1UserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("sdr1UserIdList", nextUserList); + delegateTask.setVariable("sdr1UserCount",nextUserList.size()); + delegateTask.setVariable("sdr1UserPassCount",0); + delegateTask.setVariable("sdr1UserOverruleCount",0); + } + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("shr1UserOverruleCount", 1); + } + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2Before.java new file mode 100644 index 00000000..ad1ea188 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess2Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java new file mode 100644 index 00000000..d1087675 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java @@ -0,0 +1,81 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +public class PolicyComplianceProgramReviewProcess4After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + int sdr1UserPassCount = (int) delegateTask.getVariable("sdr1UserPassCount"); + delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); + + boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( + delegateTask.getProcessDefinitionId(), + delegateTask.getTaskDefinitionKey(), + delegateTask.getId() + ); + if (!existTaskFlag) { + String pzr1UserId = jsonForm.getString("pzr1UserId"); + 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(pzr1UserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("pzr1UserId",pzr1UserId); + } + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("sdr1UserOverruleCount", 1); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4Before.java new file mode 100644 index 00000000..08fb8762 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess4Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5After.java new file mode 100644 index 00000000..d6a96ff7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5After.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.entity.Datas; +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.enums.ApprovalFlagEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess5After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + Date approvalUnitDeadline = jsonForm.getDate("approvalUnitDeadline"); + String endFlag = ""; + // 如果当前日期大于审批单位截止日期,则不走责任对接人子流程 + if (new Date().after(approvalUnitDeadline)) { + endFlag = "0"; + // 管理员用户id + String glyUserId = jsonForm.getString("glyUserId"); + 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(glyUserId); + busBean.save(busProcessNewNext); + + delegateTask.setVariable("glyUserId",glyUserId); + } else { + endFlag = "1"; + + // 责任对接人用户id + String djrUserIds = jsonForm.getString("djrUserIds"); + List nextUserList = Arrays.asList(djrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("djrUserIdList", nextUserList); + + delegateTask.setVariable("zrSubProcessCount",nextUserList.size()); + delegateTask.setVariable("zrSubProcessFinishCount",0); + } + } + delegateTask.setVariable("endFlag",endFlag); + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + 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()); + busBean.save(busProcessNewNext); + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag",approvalFlag); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5Before.java new file mode 100644 index 00000000..f57c71a3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess5Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess5Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java new file mode 100644 index 00000000..a0452644 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +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.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PolicyComplianceProgramReviewProcess7After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit + String submitMethod = object.getString("submitMethod"); + if (StringUtils.isEmpty(submitMethod)) { + String zrrUserIds = jsonForm.getString("zrrUserIds"); + if (StringUtils.isNotEmpty(zrrUserIds)) { + List nextUserList = Arrays.asList(zrrUserIds.split(",")); + if (CollectionUtils.isNotEmpty(nextUserList)) { + List flowUserRelInfoList = new ArrayList<>(); + + List addBusProcessNewList = new ArrayList<>(); + 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); + addBusProcessNewList.add(busProcessNewNext); + + FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo(); + flowUserRelInfo.setParentUserId(delegateTask.getAssignee()); + flowUserRelInfo.setUserId(nextUser); + flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId()); + flowUserRelInfo.setFlowType(FlowTypeEnum.ZCHGXXMSCLC.getValue()); + flowUserRelInfo.setDataType("zrdjrfpzrr"); // 责任对接人分配责任人 + flowUserRelInfoList.add(flowUserRelInfo); + } + busBean.saveBatch(addBusProcessNewList); + + // 配置多实例 + delegateTask.setVariable("zrrUserIdList", nextUserList); + + flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList); + } + } + + submitMethod = "pageSubmit"; + } else { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = jsonForm.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + + submitMethod = "timerAutoSubmit"; + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("submitMethod",submitMethod); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7Before.java new file mode 100644 index 00000000..e855e39c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7Before.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess7Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java new file mode 100644 index 00000000..d620e33a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang3.StringUtils; + +public class PolicyComplianceProgramReviewProcess8After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); + IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit + String submitMethod = object.getString("submitMethod"); + if (StringUtils.isEmpty(submitMethod)) { + + 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((String) delegateTask.getVariable("djrUserId")); + busBean.save(busProcessNewNext); + + // 保存责任人填写的征求意见信息 + object.put("currentUserId",delegateTask.getAssignee()); + object.put("prcId",delegateTask.getProcessInstanceId()); + policySolicitOpinionEOService.batchInsert(object); + + submitMethod = "pageSubmit"; + } else { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = jsonForm.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + submitMethod = "timerAutoSubmit"; + } + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("submitMethod",submitMethod); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8Before.java new file mode 100644 index 00000000..50fadcb1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess8Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java new file mode 100644 index 00000000..98ccd83f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java @@ -0,0 +1,128 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +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.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +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.List; + +public class PolicyComplianceProgramReviewProcess9After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); +// IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + JSONObject jsonForm = object.getJSONObject("form"); + String approvalFlag = jsonForm.getString("approvalFlag"); + + // 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit + String submitMethod = object.getString("submitMethod"); + if (StringUtils.isEmpty(submitMethod)) { + if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) { + String zrdwUserId = jsonForm.getString("zrdwUserId"); + delegateTask.setVariable("zrdwUserId", zrdwUserId); + + 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(zrdwUserId); + busBean.save(busProcessNewNext); + + List flowUserRelInfoList = new ArrayList<>(); + FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo(); + flowUserRelInfo.setParentUserId(delegateTask.getAssignee()); + flowUserRelInfo.setUserId(zrdwUserId); + flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId()); + flowUserRelInfo.setFlowType(FlowTypeEnum.ZCHGXXMSCLC.getValue()); + flowUserRelInfo.setDataType("zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + flowUserRelInfoList.add(flowUserRelInfo); + flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList); + + jsonForm.put("zrdwUserId",""); + submitMethod = "pageSubmit"; + } else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) { + List zrrUserIdList = (List) delegateTask.getVariable("zrrUserIdList"); + List addBusProcessNewList = new ArrayList<>(); + for (String nextUser : zrrUserIdList) { + 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); + addBusProcessNewList.add(busProcessNewNext); + } + busBean.saveBatch(addBusProcessNewList); + } + } else { + // 责任部门 子流程总数 + int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount"); + int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount"); + zrSubProcessFinishCount = zrSubProcessFinishCount + 1; + delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount); + + // 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。 + if (zrSubProcessCount == zrSubProcessFinishCount) { + String glyUserId = jsonForm.getString("glyUserId"); + delegateTask.setVariable("glyUserId", glyUserId); + + 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(glyUserId); + busBean.save(busProcessNewNext); + } + submitMethod = "timerAutoSubmit"; + } + +// // 保存责任人填写的征求意见信息 +// object.put("currentUserId",delegateTask.getAssignee()); +// object.put("prcId",delegateTask.getProcessInstanceId()); +// policySolicitOpinionEOService.batchInsert(object); + + // 存储当前节点意见 + 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); + + delegateTask.setVariable("approvalFlag", approvalFlag); + delegateTask.setVariable("submitMethod", submitMethod); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9Before.java new file mode 100644 index 00000000..dc85adb4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9Before.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; + +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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; + +public class PolicyComplianceProgramReviewProcess9Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.isNull("TASK_ID"); + queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper); + if(CollectionUtils.isNotEmpty(list)){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java index 17598a7d..73873861 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess10Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -29,7 +30,7 @@ public class PolicySolicitOpinionProcess10Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java index 384fcfe9..d70becf4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess11Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess11Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java index a9733653..c6edb7bc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess12Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java index 0f3cb286..9b9222cd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess13Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java index b9ca8576..70aeb1b2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess14Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java index ded544e6..f4cac9be 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess15Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess15Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java index ebc641ef..39c68415 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess16Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java index 834b0ce1..004e40bc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess1Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -26,7 +27,7 @@ public class PolicySolicitOpinionProcess1Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java index 04bd288c..38eb9b56 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess2Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java index 5e70785b..d237b510 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess4Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java index 2ff6a446..34dd815e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess5Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess5Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java index 16444c9e..3e4ddf8a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess7Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -29,7 +30,7 @@ public class PolicySolicitOpinionProcess7Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java index 74c233f6..a20364be 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess8Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -28,7 +29,7 @@ public class PolicySolicitOpinionProcess8Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java index dd0f2ce2..382fab15 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess9Before.java @@ -5,6 +5,7 @@ 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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; @@ -29,7 +30,7 @@ public class PolicySolicitOpinionProcess9Before implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=laws2"); + one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey()); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java index 9a765571..cf84eb87 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java @@ -4,14 +4,18 @@ package com.ydw.bat.wkflow.util.enums; * 流程类型枚举类 */ public enum FlowTypeEnum { - ZCZQYJLC("29","政策征求意见流程"),; + ZCZQYJLC("29","政策征求意见流程","policyConsultation"), + ZCHGXXMSCLC("30","重点认证标准/政策合规性项目审查流程","policyComplianceReview"), + ; private String value; private String lable; + private String route; - private FlowTypeEnum(String value, String lable) { + private FlowTypeEnum(String value, String lable,String route) { this.value = value; this.lable = lable; + this.route = route; } public String getValue() { return value; @@ -19,4 +23,8 @@ public enum FlowTypeEnum { public String getLable() { return lable; } + + public String getRoute() { + return route; + } } From 6f5df46976a4becd2907afe3d50647466e183e80 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 25 Oct 2023 14:53:44 +0800 Subject: [PATCH 12/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PGREPresidentApprovalAfter.java | 17 ++++++++++++++--- .../PRGEInspectorApprovalAfter.java | 15 ++++----------- .../PRGEMinisterConfirmAfter.java | 6 +++--- .../RevisonInformationAfter.java | 2 +- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java index cc37bcab..8bb8bf6e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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; @@ -14,7 +15,9 @@ 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; /** @@ -43,12 +46,20 @@ public class PGREPresidentApprovalAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if ("1".equals(object.getString("gsfz"))) { + if (object.getInteger("approvalOpinion") == 0) { // 批准通过 - delegateTask.setVariable("gsfz", "1"); + delegateTask.setVariable("approvalOpinion", 0); + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId, 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); + busProcessNameService.saveOrUpdate(one2); + } } else { // 批准驳回 - delegateTask.setVariable("gsfz", "0"); + delegateTask.setVariable("approvalOpinion", 1); if (StringUtils.isNotBlank(object.getString("applyUserId"))) { delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java index 809d9d96..260f830a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -43,31 +43,24 @@ public class PRGEInspectorApprovalAfter implements TaskListener { String prcName= topicName + "-政策课题入会流程"; List nextUserList = new ArrayList<>(); - if ("1".equals(object.getString("fgfzj"))) { + if (object.getInteger("approvalOpinion") == 0) { // 审定通过 - delegateTask.setVariable("fgfzj", "1"); + delegateTask.setVariable("approvalOpinion", 0); if (StringUtils.isNotBlank(object.getString("presidentId"))) { delegateTask.setVariable("presidentId", object.getString("presidentId")); nextUserList.add(object.getString("presidentId")); } else { throw new ActivitiException("1#2公司副总不存在,请配置相关人员"); } - } else if ("0".equals(object.getString("fgfzj"))) { + } else { // 审定驳回 - delegateTask.setVariable("fgfzj", "0"); + delegateTask.setVariable("approvalOpinion", 1); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); } else { throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - // 删除其他该节点的代办数据 -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(BusProcessNew::getTaskId, delegateTask.getId()); -// busBean.remove(wrapper); - }else{ - delegateTask.setVariable("fgfzj", "2"); - prcName = "政策课题组入会流程"; } // 存储当前节点意见 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java index 91e32899..12332a8f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -47,9 +47,9 @@ public class PRGEMinisterConfirmAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if("1".equals(object.getString("fgfbz"))){ + if(object.getInteger("approvalOpinion") == 0){ // 审核通过 - delegateTask.setVariable("fgfbz", "1"); + delegateTask.setVariable("approvalOpinion", 0); if (StringUtils.isNotBlank(object.getString("inspectorId"))){ List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); delegateTask.setVariable("inspectorIdList",inspectorIdList); @@ -59,7 +59,7 @@ public class PRGEMinisterConfirmAfter implements TaskListener { } }else{ // 审核驳回 - delegateTask.setVariable("fgfbz","0"); + delegateTask.setVariable("approvalOpinion",1); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java index 37b525e3..4b5497fa 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java @@ -40,7 +40,7 @@ public class RevisonInformationAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if (StringUtils.isNotBlank(delegateTask.getVariable("ministerId",String.class))) { + if (StringUtils.isNotBlank(object.getString("ministerId"))) { List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); From 51d749b962c6a83a64fe8ce5ebffc6c2b5aa06e3 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Thu, 26 Oct 2023 11:47:23 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E9=87=8D=E7=82=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=A0=87=E5=87=86/=E6=94=BF=E7=AD=96=E5=90=88=E8=A7=84?= =?UTF-8?q?=E6=80=A7=E9=A1=B9=E7=9B=AE=E5=AE=A1=E6=9F=A5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TaskTodoService.java | 2 +- .../task/TodoTaskController.java | 128 ++++++++++++++++-- .../datas/entity/ZchgxxmscSybDataEO.java | 101 ++++++++++++++ .../mapper/ZchgxxmscSybDataEOMapper.java | 7 + .../service/IZchgxxmscSybDataEOService.java | 14 ++ .../impl/ZchgxxmscSybDataEOServiceImpl.java | 95 +++++++++++++ ...ComplianceProgramReviewProcess12After.java | 2 +- ...ComplianceProgramReviewProcess13After.java | 2 +- ...ComplianceProgramReviewProcess15After.java | 2 +- ...yComplianceProgramReviewProcess2After.java | 2 +- ...yComplianceProgramReviewProcess4After.java | 2 +- ...yComplianceProgramReviewProcess7After.java | 29 +++- ...yComplianceProgramReviewProcess8After.java | 28 +++- ...yComplianceProgramReviewProcess9After.java | 30 ++-- .../PolicySolicitOpinionProcess12After.java | 2 +- .../PolicySolicitOpinionProcess13After.java | 2 +- .../PolicySolicitOpinionProcess14After.java | 2 +- .../PolicySolicitOpinionProcess16After.java | 2 +- .../PolicySolicitOpinionProcess2After.java | 2 +- .../PolicySolicitOpinionProcess4After.java | 2 +- .../mapper/datas/ZchgxxmscSybDataEOMapper.xml | 5 + 21 files changed, 425 insertions(+), 36 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java create mode 100644 src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java index 4bf953c7..3c9114c8 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java @@ -94,7 +94,7 @@ public class TaskTodoService { */ public boolean whetherExistTaskByTaskDefinitionKey(String prcId, String taskDefinitionKey,String taskId) { boolean result = false; - List taskList = taskService.createTaskQuery().processDefinitionId(prcId).active().list().stream().filter(task-> { + List taskList = taskService.createTaskQuery().processInstanceId(prcId).active().list().stream().filter(task-> { boolean flag = false; if (StringUtils.isNotEmpty(taskId)) { if (!StringUtils.equals(task.getId(),taskId)) { 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 e918fe41..d117a878 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 @@ -106,6 +106,9 @@ public class TodoTaskController extends BaseAction { @Autowired private IPolicySolicitOpinionEOService policySolicitOpinionEOService; + @Autowired + private IZchgxxmscSybDataEOService zchgxxmscSybDataEOService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -411,8 +414,11 @@ public class TodoTaskController extends BaseAction { busProcessEntrust.setTaskId(str); iBusProcessEntrustService.save(busProcessEntrust); - if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue()) || StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) { - this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str, one.getPrcType()); + if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) { + this.changeZczqyjFlowAssignee(assignee, userId, pId, str); + + } else if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) { + this.changeZchgxxmscFlowAssignee(assignee, userId, pId, str); } } } @@ -501,19 +507,18 @@ public class TodoTaskController extends BaseAction { return WrapMapper.ok("改派成功"); } /** - * @Description: 变更政策征求意见流程任务办理人(责任部门子流程相关) + * @Description: 变更流程人员关系 * @author: wangzhijiang * @date: 2023-10-18 * @Param: * @return: */ - private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str,String flowType) { - Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + private void changeFlowUserRelInfoAssignee(String assignee, String userId, String pId, String str,String flowType,Task task) { QueryWrapper furQueryWrap = new QueryWrapper<>(); furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId); furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowType); // 责任人任务处理。 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -523,7 +528,7 @@ public class TodoTaskController extends BaseAction { } } // 责任对接人汇总 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey9")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -533,7 +538,7 @@ public class TodoTaskController extends BaseAction { } } // 责任单位审批 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey10")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrdw"); furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -544,6 +549,50 @@ public class TodoTaskController extends BaseAction { } } + public void changeZczqyjFlowAssignee(String assignee, String userId, String pId, String str){ + Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { + Map params = new HashMap<>(); + params.put("taskDefinitionKey",task.getTaskDefinitionKey()); + params.put("currentUserId",userId); + params.put("prcId",task.getProcessInstanceId()); + List policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params); + if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) { + policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);}); + this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList); + } + } else if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) { + Map params = new HashMap<>(); + params.put("taskDefinitionKey","PolicySolicitOpinionProcessKey8"); + params.put("currentUserId",userId); + params.put("prcId",task.getProcessInstanceId()); + List policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params); + if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) { + policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);}); + this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList); + } + } + this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCZQYJLC.getValue(),task); + } + + public void changeZchgxxmscFlowAssignee(String assignee, String userId, String pId, String str){ + Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) { + // 如果是责任人任务处理,修改当前责任人被分配的事业部数据 + Map params = new HashMap<>(); + params.put("taskDefinitionKey",task.getTaskDefinitionKey()); + params.put("currentUserId",userId); + params.put("pId",task.getProcessInstanceId()); + List zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + zchgxxmscSybDataEOList.forEach(sybDataEO -> {sybDataEO.setZrrUserId(assignee);}); + this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } + } + + this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCHGXXMSCLC.getValue(),task); + } @ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务") @ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"), @ApiImplicitParam(name = "userId", value = "完成任务用户Id")}) @@ -1930,6 +1979,21 @@ public class TodoTaskController extends BaseAction { if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCZQYJLC.getValue())) { object.put("prcId",busProcessName.getPrcId()); this.policySolicitOpinionEOService.batchInsert(object); + } else if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCHGXXMSCLC.getValue())) { + JSONObject jsonForm = object.getJSONObject("form"); + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } } return WrapMapper.ok("保存成功"); } @@ -3170,4 +3234,52 @@ public class TodoTaskController extends BaseAction { return "1"; } + /** + * 本接口仅提供法规系统调用 + */ + @ApiOperation(value = "查询重点认证标准/政策合规性项目审查任务明细") + @GetMapping("/queryZchgxxmscTaskDetail") + public BusProcessNew queryZchgxxmscTaskDetail(@RequestParam Map params) { + String taskIds = (String) params.get("taskIds"); + String prcId = (String) params.get("pId"); + List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); + + List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); + if (list.isEmpty()) { + return null; + } + BusProcessNew processNew = new BusProcessNew(); + BeanUtils.copyProperties(list.get(0), processNew); + + if(StringUtils.isNotBlank(prcId)){ + List list2 = taskService.createTaskQuery().processInstanceId(prcId).active().list(); + if(!list2.isEmpty()){ + processNew.setNowTaskInfo(list2.get(0).getName()); + } + } + + JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg()); + + List zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + JSONObject jsonForm = object3.getJSONObject("form"); + jsonForm.put("sybDataList",zchgxxmscSybDataEOList); + } + +// object3.put("cpghbDataList",""); + processNew.setMesg(object3.toJSONString()); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",processNew.getId()); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",0); + long count = oaTaskExecService.count(wrapper); + processNew.setCommitStatus(count); + // 设置processNew表流程状态为已接收 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(BusProcessNew::getTaskId,taskIdList); + updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收"); + iBusProcessNewService.update(updateWrapper); + return processNew; + + } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java new file mode 100644 index 00000000..16e8cfaa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Description: 重点认证标准/政策合规性项目审查-事业部数据表 + * @author: wangzhijiang + * @date: 2023-10-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ZCHGXXMSC_SYB_DATA") +@ApiModel(value="ZchgxxmscSybData对象", description="") +public class ZchgxxmscSybDataEO { + private static final long serialVersionUID=1L; + + @TableId(value = "ID", type = IdType.UUID) + private String id; + + // 标准/政策id + @TableField("LAW_ID") + private String lawId; + + // 流程实例id + @TableField("PRC_ID") + private String prcId; + + // 责任人用户id + @TableField("ZRR_USER_ID") + private String zrrUserId; + + // 数据来源 + @TableField("DATA_SOURCE") + private String dataSource; + + // 标准/政策编号 + @TableField("LAW_CODE") + private String lawCode; + + // 标准/政策名称 + @TableField("LAW_NAME") + private String lawName; + + // 产品类型 + @TableField("PRODUCT_TYPE") + private String productType; + + // 实施日期 + @TableField("IMPL_TIME") + private String implTime; + + // 实施要求 + @TableField("IMPL_REQUIRE") + private String implRequire; + + // 资源符合情况 + @TableField("RESOURCE_ACCORDWITH_CIRCUMSTANCE") + private String resourceAccordwithCircumstance; + + // 开发计划 + @TableField("DEV_PLAN") + private String devPlan; + + // sop时间 + @TableField("SOP_DATE") + private String sopDate; + + // 完成情况 + @TableField("FINISH_CIRCUMSTANCE") + private String finishCircumstance; + + // sop时间超过法规时限的空挡期的业务应对方案 + @TableField("SOP_DATE_SOLUTIONS") + private String sopDateSolutions; + + // 提出人/创建人 + @TableField("CREATE_USER_ID") + private String createUserId; + + // 创建时间 + @TableField("CREATE_TIME") + private Date createTime; + + // 更新人 + @TableField("MODIFY_USER_ID") + private String modifyUserId; + + // 更新时间 + @TableField("MODIFY_TIME") + private Date modifyTime; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java new file mode 100644 index 00000000..8ae27163 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java @@ -0,0 +1,7 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; + +public interface ZchgxxmscSybDataEOMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java new file mode 100644 index 00000000..8bca45a3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; + +import java.util.List; +import java.util.Map; + +public interface IZchgxxmscSybDataEOService extends IService { + + void batchInsert(List zchgxxmscSybDataEOList); + + List queryZchgxxmscSybDataEOList(Map params); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java new file mode 100644 index 00000000..9c54f49b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; +import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscSybDataEOMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class ZchgxxmscSybDataEOServiceImpl extends ServiceImpl implements IZchgxxmscSybDataEOService { + + @Autowired + private IFlowUserRelInfoService flowUserRelInfoService; + + @Override + public void batchInsert(List zchgxxmscSybDataEOList) { + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + this.saveBatch(zchgxxmscSybDataEOList); + } + } + + @Override + public List queryZchgxxmscSybDataEOList(Map params) { + + List result = new ArrayList<>(); + String taskDefinitionKey = (String) params.get("taskDefinitionKey"); + String currentUserId = (String) params.get("currentUserId"); + String prcId = (String) params.get("pId"); + + QueryWrapper sybEoQueryWrap = new QueryWrapper<>(); + sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getPrcId, prcId); + + if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey8")) { + // 责任人处理 + sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getZrrUserId, currentUserId); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey9")) { + // 责任对接人汇总 + // 查询当前责任对接人分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + userIdList.add(currentUserId); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey10")) { + // 责任单位审批 + // 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId); + List zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) { + List zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList()); + userIdList.addAll(zrdjrUserIdList); + + QueryWrapper zrdjrQueryWrap = new QueryWrapper<>(); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + } else { + userIdList.add("设置一个无法满足的条件"); + } + sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList); + } + sybEoQueryWrap.orderByAsc("create_time"); + result = this.list(sybEoQueryWrap); + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java index 543e85a8..2ef78d28 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java @@ -44,7 +44,7 @@ public class PolicyComplianceProgramReviewProcess12After implements TaskListener delegateTask.setVariable("sdr2UserIdList", nextUserList); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java index e94c2736..03a129a7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java @@ -36,7 +36,7 @@ public class PolicyComplianceProgramReviewProcess13After implements TaskListener int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java index 10d5bf66..5ed589bc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java @@ -35,7 +35,7 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java index 0d714976..82f28ad0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java @@ -38,7 +38,7 @@ public class PolicyComplianceProgramReviewProcess2After implements TaskListener delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java index d1087675..410664a1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java @@ -33,7 +33,7 @@ public class PolicyComplianceProgramReviewProcess4After implements TaskListener delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java index a0452644..3b445680 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java @@ -1,13 +1,16 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +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.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; 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.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; @@ -15,9 +18,7 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; public class PolicyComplianceProgramReviewProcess7After implements TaskListener { @Override @@ -25,6 +26,7 @@ public class PolicyComplianceProgramReviewProcess7After implements TaskListener IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -39,6 +41,27 @@ public class PolicyComplianceProgramReviewProcess7After implements TaskListener if (StringUtils.isNotEmpty(zrrUserIds)) { List nextUserList = Arrays.asList(zrrUserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking")) { + JSONArray sybDataList = jsonForm.getJSONArray("infoTableDatas"); + + List zchgxxmscSybDataEOList = new ArrayList<>(); + for (String nextUser : nextUserList) { + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataList) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setId(UUID.randomUUID().toString()); + zchgxxmscSybDataEO.setZrrUserId(nextUser); + zchgxxmscSybDataEO.setPrcId(delegateTask.getProcessInstanceId()); + zchgxxmscSybDataEO.setCreateTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + } + + zchgxxmscSybDataEOService.batchInsert(zchgxxmscSybDataEOList); + } + List flowUserRelInfoList = new ArrayList<>(); List addBusProcessNewList = new ArrayList<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java index d620e33a..f77262db 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java @@ -1,18 +1,25 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; 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.entity.ZchgxxmscSybDataEO; 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.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + public class PolicyComplianceProgramReviewProcess8After implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -20,6 +27,7 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -41,10 +49,22 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener busProcessNewNext.setUserId((String) delegateTask.getVariable("djrUserId")); busBean.save(busProcessNewNext); - // 保存责任人填写的征求意见信息 - object.put("currentUserId",delegateTask.getAssignee()); - object.put("prcId",delegateTask.getProcessInstanceId()); - policySolicitOpinionEOService.batchInsert(object); + // 保存责任人填写的数据信息 + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } else if (StringUtils.equals(departmentType,"productPlanning")) { + + } submitMethod = "pageSubmit"; } else { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java index 98ccd83f..8a07a344 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java @@ -1,14 +1,13 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +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.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; -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.business_main.datas.service.IFlowUserRelInfoService; -import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; +import com.ydw.bat.wkflow.business_main.datas.service.*; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; @@ -17,6 +16,7 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; +import java.util.Date; import java.util.List; public class PolicyComplianceProgramReviewProcess9After implements TaskListener { @@ -25,7 +25,7 @@ public class PolicyComplianceProgramReviewProcess9After implements TaskListener IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); -// IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -105,10 +105,22 @@ public class PolicyComplianceProgramReviewProcess9After implements TaskListener submitMethod = "timerAutoSubmit"; } -// // 保存责任人填写的征求意见信息 -// object.put("currentUserId",delegateTask.getAssignee()); -// object.put("prcId",delegateTask.getProcessInstanceId()); -// policySolicitOpinionEOService.batchInsert(object); + // 保存责任人对接人修改的数据信息 + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } else if (StringUtils.equals(departmentType,"productPlanning")) { + + } // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java index 47c21d04..9faa0407 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java @@ -54,7 +54,7 @@ public class PolicySolicitOpinionProcess12After implements TaskListener { delegateTask.setVariable("hqrUserIdList", nextUserList); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java index 9113ced4..ae6be652 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java @@ -37,7 +37,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener { int hqrUserPassCount = (int) delegateTask.getVariable("hqrUserPassCount"); delegateTask.setVariable("hqrUserPassCount", hqrUserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java index 04483745..789af733 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java @@ -32,7 +32,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener { int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java index 263a29ef..e17484c9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java @@ -35,7 +35,7 @@ public class PolicySolicitOpinionProcess16After implements TaskListener { boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java index 4747dc24..2b859f16 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java @@ -38,7 +38,7 @@ public class PolicySolicitOpinionProcess2After implements TaskListener { delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java index 50d8c691..7d0e63a8 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java @@ -34,7 +34,7 @@ public class PolicySolicitOpinionProcess4After implements TaskListener { delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml b/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml new file mode 100644 index 00000000..e0a899f9 --- /dev/null +++ b/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml @@ -0,0 +1,5 @@ + + + + + From 88880a3f96ef80ea22c12c4dd5ef010fb7c4dbff Mon Sep 17 00:00:00 2001 From: wxyclub Date: Thu, 26 Oct 2023 18:06:14 +0800 Subject: [PATCH 14/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PGREPresidentApprovalAfter.java | 5 +++-- .../PRGEInspectorApprovalAfter.java | 8 ++++++-- .../PRGEMinisterConfirmAfter.java | 15 +++++++++------ .../PRGEStartAfter.java | 8 +++----- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java index 8bb8bf6e..c861baaf 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -41,7 +41,7 @@ public class PGREPresidentApprovalAfter implements TaskListener { delegateTask.setVariable("objectJson", object); String user = delegateTask.getVariable("applyUserId", String.class); String username = delegateTask.getVariable("applyUserName", String.class); - String topicName = delegateTask.getVariable("topicName", String.class); + String topicName = object.getString("topicName"); String prcName= topicName + "-政策课题入会流程"; List nextUserList = new ArrayList<>(); @@ -101,7 +101,8 @@ public class PGREPresidentApprovalAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); // busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo("重新起草"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java index 260f830a..b5164e7e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -39,8 +39,9 @@ public class PRGEInspectorApprovalAfter implements TaskListener { String user = delegateTask.getVariable("applyUserId", String.class); String username = delegateTask.getVariable("applyUserName", String.class); - String topicName = delegateTask.getVariable("topicName", String.class); + String topicName = object.getString("topicName"); String prcName= topicName + "-政策课题入会流程"; + String taskInfo = ""; List nextUserList = new ArrayList<>(); if (object.getInteger("approvalOpinion") == 0) { @@ -49,6 +50,7 @@ public class PRGEInspectorApprovalAfter implements TaskListener { if (StringUtils.isNotBlank(object.getString("presidentId"))) { delegateTask.setVariable("presidentId", object.getString("presidentId")); nextUserList.add(object.getString("presidentId")); + taskInfo = "批准"; } else { throw new ActivitiException("1#2公司副总不存在,请配置相关人员"); } @@ -58,6 +60,7 @@ public class PRGEInspectorApprovalAfter implements TaskListener { if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); + taskInfo = "重新起草"; } else { throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } @@ -96,7 +99,8 @@ public class PRGEInspectorApprovalAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); // busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java index 12332a8f..ab6c4e1d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -42,8 +42,9 @@ public class PRGEMinisterConfirmAfter implements TaskListener { //截止时间 流程描述 创建人 String user = delegateTask.getVariable("applyUserId",String.class); String username = delegateTask.getVariable("applyUserName",String.class); - String topicName = delegateTask.getVariable("topicName", String.class); + String topicName = object.getString("topicName"); String prcName= topicName + "-政策课题组入会流程"; + String taskInfo = ""; List nextUserList = new ArrayList<>(); @@ -54,6 +55,7 @@ public class PRGEMinisterConfirmAfter implements TaskListener { List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); delegateTask.setVariable("inspectorIdList",inspectorIdList); nextUserList.addAll(inspectorIdList); + taskInfo = "审定"; } else { throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员"); } @@ -63,11 +65,11 @@ public class PRGEMinisterConfirmAfter implements TaskListener { if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); + taskInfo = "重新起草"; + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - // 删除其他该节点的代办数据 -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(BusProcessNew::getTaskId, delegateTask.getId()); -// busBean.remove(wrapper); + } // 存储当前节点意见 @@ -103,7 +105,8 @@ public class PRGEMinisterConfirmAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); // busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java index c73ee896..0a13beb4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java @@ -44,8 +44,6 @@ public class PRGEStartAfter implements TaskListener { List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); -// delegateTask.setVariable("ministerConfirm", object.getString("ministerId")); -// nextUserList.add(object.getString("ministerId")); } else { throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } @@ -54,8 +52,7 @@ public class PRGEStartAfter implements TaskListener { String user = object.getString("applyUserId"); String username = object.getString("applyUserName"); String topicName = object.getString("topicName"); - String prcName=""; - prcName = topicName + "-政策课题入会流程"; + String prcName = topicName + "-政策课题入会流程"; QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); @@ -92,7 +89,8 @@ public class PRGEStartAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); // busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); From 04bd33b2da9dc2da40b3da87bc2743e8167ff609 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Thu, 26 Oct 2023 18:06:44 +0800 Subject: [PATCH 15/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...InformationAfter.java => RevisionInformationAfter.java} | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) rename src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/{RevisonInformationAfter.java => RevisionInformationAfter.java} (94%) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java similarity index 94% rename from src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java rename to src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java index 4b5497fa..1a3b603e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java @@ -21,7 +21,7 @@ import java.util.List; /** * 政策课题入会重新起草后 */ -public class RevisonInformationAfter implements TaskListener { +public class RevisionInformationAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); @@ -50,7 +50,7 @@ public class RevisonInformationAfter implements TaskListener { String user = delegateTask.getVariable("applyUserId", String.class); String username = delegateTask.getVariable("applyUserName", String.class); - String topicName = delegateTask.getVariable("topicName", String.class); + String topicName = object.getString("topicName"); String prcName= topicName + "-政策课题组入会流程"; QueryWrapper queryWrapper2 = new QueryWrapper<>(); @@ -85,7 +85,8 @@ public class RevisonInformationAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); // busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); From beb1bee35d5955f35ec2d0fe2ad331080e695b0e Mon Sep 17 00:00:00 2001 From: wxyclub Date: Thu, 26 Oct 2023 18:07:02 +0800 Subject: [PATCH 16/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=8F=82=E4=BC=9A=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InspectorApprovalAfter.java | 105 ++++++++++++++ .../InspectorApprovalBefore.java | 38 +++++ .../MinisterApprovalAfter.java | 99 +++++++------ .../MinisterApprovalBefore.java | 7 +- .../PRGAMStartAfter.java | 49 ++++--- .../PRGAMStartBefore.java | 3 + .../PresidentApprovalAfter.java | 131 +++++++----------- .../PresidentApprovalBefore.java | 7 +- .../RevisionInformationAfter.java | 52 +++---- .../RevisionInformationBefore.java | 7 +- 10 files changed, 319 insertions(+), 179 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java new file mode 100644 index 00000000..0dfcb6d8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java @@ -0,0 +1,105 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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.ActivitiException; +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.List; + +/** + * 政策课题参会审定后 + */ +public class InspectorApprovalAfter 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); + + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = object.getString("topicName"); + String prcName= topicName + "-政策课题入会流程"; + String taskInfo = ""; + List nextUserList = new ArrayList<>(); + + if (object.getInteger("approvalOpinion") == 0) { + // 审定通过 + delegateTask.setVariable("approvalOpinion", 0); + if (StringUtils.isNotBlank(object.getString("presidentId"))) { + delegateTask.setVariable("presidentId", object.getString("presidentId")); + nextUserList.add(object.getString("presidentId")); + taskInfo = "批准"; + } else { + throw new ActivitiException("1#2公司副总不存在,请配置相关人员"); + } + } else { + // 审定驳回 + delegateTask.setVariable("approvalOpinion", 1); + if (StringUtils.isNotBlank(object.getString("applyUserId"))){ + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + taskInfo = "重新起草"; + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); + } + } + + // 存储当前节点意见 + 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); + } + } + + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("31"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(taskInfo); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java new file mode 100644 index 00000000..6859d0f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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 InspectorApprovalBefore 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("policyTopicParticipation/step3?prcType=31"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java index e65964a9..4827d886 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java @@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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; @@ -10,88 +9,98 @@ 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.ActivitiException; 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 MinisterApprovalAfter 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找到流程信息 + // 根据流程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); - //截止时间 流程描述 创建人 - String user = delegateTask.getVariable("createUser",String.class); - String username = delegateTask.getVariable("createUserName",String.class); - String prcName=""; + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); - List nextUserList = new ArrayList(); + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = object.getString("topicName"); + String prcName = topicName + "-政策课题组参会流程"; + String taskInfo = ""; + List nextUserList = new ArrayList<>(); - if("1".equals(object.getString("fgfbz"))){ - delegateTask.setVariable("fgfbz", "1"); - if (StringUtils.isNotBlank(object.getString("presidentId"))){ - nextUserList.add(object.getString("presidentId")); - delegateTask.setVariable("presidentApproval", object.getString("presidentId")); - prcName = "政策课题组参会流程-公司副总批准"; + if (object.getInteger("approvalOpinion") == 0) { + // 审核通过 + delegateTask.setVariable("approvalOpinion", 0); + if (StringUtils.isNotBlank(object.getString("inspectorId"))) { + List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); + delegateTask.setVariable("inspectorIdList", inspectorIdList); + nextUserList.addAll(inspectorIdList); + taskInfo = "审定"; + } else { + throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员"); } - }else if ("0".equals(object.getString("fgfbz"))){ - delegateTask.setVariable("fgfbz", "0"); - if (StringUtils.isNotBlank(object.getString("revisionId"))){ - nextUserList.add(object.getString("revisionId")); - delegateTask.setVariable("revision", object.getString("revisionId")); - prcName = "政策课题组参会流程-修订参会信息"; + } else { + // 审核驳回 + delegateTask.setVariable("approvalOpinion", 1); + if (StringUtils.isNotBlank(object.getString("applyUserId"))) { + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + taskInfo = "重新起草"; + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - }else{ - delegateTask.setVariable("fgfbz", "2"); - prcName = "政策课题组参会流程"; } - - QueryWrapper queryWrapper2 = new QueryWrapper(); - queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); - BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - if(one1!=null){ - one1.setPrcType("18"); -// one1.setPrcName(prcName); - one1.setCreatUser(user); - one1.setCreatUserName(username); - busProcessNameService.saveOrUpdate(one1); - } // 存储当前节点意见 - if (null!=object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); - queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); - if(!list.isEmpty()){ + if (!list.isEmpty()) { BusProcessNew busProcessNews = list.get(0); busProcessNews.setTaskId(delegateTask.getId()); busProcessNews.setCommitText(object.getString("commentText")); busBean.saveOrUpdate(busProcessNews); } } - if(nextUserList != null && !nextUserList.isEmpty()){ - for(String nextUser : nextUserList){ + + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("31"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (!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.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java index 7a1500fc..f994d05c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java @@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题参会审核前 + */ public class MinisterApprovalBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +29,7 @@ public class MinisterApprovalBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcchStep3?prcType=18"); + one1.setLink("policyTopicParticipation/step2?prcType=31"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java index f0e0030b..8d99ff85 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java @@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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; @@ -10,13 +9,18 @@ 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.ActivitiException; 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 PRGAMStartAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -34,56 +38,55 @@ public class PRGAMStartAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson",object); - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); if(StringUtils.isNotBlank(object.getString("ministerId"))){ - delegateTask.setVariable("ministerApproval", object.getString("ministerId")); - nextUserList.add(object.getString("ministerId")); + List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); + delegateTask.setVariable("ministerIdList",ministerIdList); + nextUserList.addAll(ministerIdList); + } else { + throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } //截止时间 流程描述 创建人 -// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String user = object.getString("revisionId"); - delegateTask.setVariable("createUser",user); - String username = object.getString("revisionIdName"); - delegateTask.setVariable("createUserName",username); - String prcName = ""; - prcName= "政策课题组参会流程-法规认证部副部长审核"; + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); + String topicName = object.getString("topicName"); + String prcName = topicName + "-政策课题参会流程"; - - QueryWrapper queryWrapper2 = new QueryWrapper(); - queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - if(one1!=null){ - one1.setPrcType("18"); + if (one1 != null) { + one1.setPrcType("31"); 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.setUserId(user); busProcessNews.setPrcName(prcName); busProcessNews.setCommitText(object.getString("commentText")); busBean.save(busProcessNews); } - if(nextUserList != null && !nextUserList.isEmpty()){ - for(String nextUser : nextUserList){ + + if (!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.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java index 6a3b6b3b..79e93e6d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java @@ -3,6 +3,9 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +/** + * 政策课题参会起草前 + */ public class PRGAMStartBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java index 4e9c63f1..946a45b1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java @@ -1,17 +1,16 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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.business_slrs.dao.WgDept; import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; @@ -21,6 +20,9 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +/** + * 政策课题参会批准后 + */ public class PresidentApprovalAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -30,112 +32,79 @@ public class PresidentApprovalAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = object.getString("topicName"); + String prcName= topicName + "-政策课题参会流程"; + String taskInfo = ""; - //截止时间 流程描述 创建人 - String user = delegateTask.getVariable("createUser",String.class); - String username = delegateTask.getVariable("createUserName",String.class); - String prcName=""; - List nextUserList = new ArrayList(); + List nextUserList = new ArrayList<>(); - if("1".equals(object.getString("gsfz"))){ - delegateTask.setVariable("gsfz", "1"); - JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); -// List wgDept=new ArrayList<>(); -// jsonArray.forEach(o -> { -// JSONObject os=JSONObject.parseObject(o.toString()); -// WgDept wgDept1=new WgDept(); -// wgDept1.setWgId(object.getString("standId")); -// wgDept1.setDeptOrder(os.getString("itemsNum")); -// wgDept1.setDeptPeopleId(os.getString("itemsName")); -// wgDept1.setIdentity(os.getString("responsibleUnitShow")); -// wgDept1.setJoinfile(os.getString("zxUserIdName")); -// wgDept1.setJoinId(os.getString("itermsConditions")); -// wgDept.add(wgDept1); -// }); -// -// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); -// jsonArray1.forEach(obj ->{ -// JSONObject object1 = JSONObject.parseObject(obj.toString()); -// WgDept wgDept1=new WgDept(); -// wgDept1.setWgId(object.getString("standId")); -// wgDept1.setDeptOrder(object1.getString("itemsNum")); -// wgDept1.setDeptPeopleId(object1.getString("itemsName")); -// wgDept1.setIdentity(object1.getString("responsibleUnitShow")); -// wgDept1.setJoinfile(object1.getString("zxUserIdName")); -// wgDept1.setJoinId(object1.getString("itermsConditions")); -// wgDept.add(wgDept1); -// }); -// -// lawsUserInfoService.wgDeptSaveBatch(wgDept); - - prcName = "政策课题组参会流程"; - }else{ - delegateTask.setVariable("gsfz", "0"); - if (StringUtils.isNotBlank(object.getString("revisionId"))){ - nextUserList.add(object.getString("revisionId")); - delegateTask.setVariable("revision", object.getString("revisionId")); - prcName = "政策课题组参会流程-修订参会信息"; + if (object.getInteger("approvalOpinion") == 0) { + // 批准通过 + delegateTask.setVariable("approvalOpinion", 0); + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId, 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); + busProcessNameService.saveOrUpdate(one2); } - } - - - String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - QueryWrapper queryWrapper2 = new QueryWrapper(); - queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); - BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - if(one1!=null){ - if("1".equals(object.getString("gsfz"))){ - one1.setOverTime(OVERTIME); + } else { + // 批准驳回 + delegateTask.setVariable("approvalOpinion", 1); + if (StringUtils.isNotBlank(object.getString("applyUserId"))) { + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + nextUserList.add(object.getString("applyUserId")); + taskInfo = "重新起草"; + } else { + throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } - one1.setPrcType("18"); -// one1.setPrcName(prcName); - one1.setCreatUser(user); - one1.setCreatUserName(username); - busProcessNameService.saveOrUpdate(one1); } // 存储当前节点意见 - if (null!=object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); - queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); - if(!list.isEmpty()){ + if (!list.isEmpty()) { BusProcessNew busProcessNews = list.get(0); busProcessNews.setTaskId(delegateTask.getId()); busProcessNews.setCommitText(object.getString("commentText")); busBean.saveOrUpdate(busProcessNews); } } - if(nextUserList != null && !nextUserList.isEmpty()){ - for(String nextUser : nextUserList){ + + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("31"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (!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.setTaskInfo(taskInfo); 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.setFinishFlag("0"); - busProcessNewNext.setTaskInfo("政策课题组参会流程-流程结束"); - busProcessNewNext.setPrcName(prcName); - busBean.save(busProcessNewNext); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java index e138d2a0..fe1fa148 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java @@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题参会批准前 + */ public class PresidentApprovalBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +29,7 @@ public class PresidentApprovalBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcchStep2?prcType=18"); + one1.setLink("policyTopicParticipation/step4?prcType=31"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java index ca258538..f5519a10 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java @@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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; @@ -10,13 +9,19 @@ 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.ActivitiException; 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 RevisionInformationAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -26,41 +31,41 @@ public class RevisionInformationAfter implements TaskListener { //流程信息 IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); - //截止时间 流程描述 创建人 - String user = delegateTask.getVariable("createUser",String.class); - String username = delegateTask.getVariable("createUserName",String.class); - String prcName=""; - List nextUserList = new ArrayList(); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); - if (StringUtils.isNotBlank(object.getString("ministerId"))){ - nextUserList.add(object.getString("ministerId")); - delegateTask.setVariable("ministerApproval", object.getString("ministerId")); - prcName = "政策课题组参会流程-法规认证部副部长审核"; + List nextUserList = new ArrayList<>(); + + if (StringUtils.isNotBlank(object.getString("ministerId"))) { + List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); + delegateTask.setVariable("ministerIdList",ministerIdList); + nextUserList.addAll(ministerIdList); + } else { + throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } + String user = delegateTask.getVariable("applyUserId", String.class); + String username = delegateTask.getVariable("applyUserName", String.class); + String topicName = object.getString("topicName"); + String prcName= topicName + "-政策课题组参会流程"; - QueryWrapper queryWrapper2 = new QueryWrapper(); - queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); - if(one1!=null){ - one1.setPrcType("18"); -// one1.setPrcName(prcName); + if (one1 != null) { + one1.setPrcType("31"); one1.setCreatUser(user); one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } //存储当前节点意见 if (null != object.getString("commentText")) { - QueryWrapper queryWrapper3 = new QueryWrapper(); + QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); @@ -72,15 +77,14 @@ public class RevisionInformationAfter implements TaskListener { } } - if(nextUserList != null && !nextUserList.isEmpty()){ - for(String nextUser : nextUserList){ + if (!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.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java index 98440476..bb933d98 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java @@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; +/** + * 政策课题参会重新起草前 + */ public class RevisionInformationBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); queryWrapper1.isNull("TASK_ID"); @@ -26,7 +29,7 @@ public class RevisionInformationBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("zcchStep1-1?prcType=18"); + one1.setLink("policyTopicParticipation/step1_1?prcType=31"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } From 7c8203bd9493808d049195b5b4c3cbc7e15e396c Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Fri, 27 Oct 2023 09:08:35 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E9=87=8D=E7=82=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=A0=87=E5=87=86/=E6=94=BF=E7=AD=96=E5=90=88=E8=A7=84?= =?UTF-8?q?=E6=80=A7=E9=A1=B9=E7=9B=AE=E5=AE=A1=E6=9F=A5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E3=80=81=E5=AF=B9=E6=8E=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 32 ++- .../entity/ZchgxxmscCpghbDataDetailEO.java | 43 ++++ .../datas/entity/ZchgxxmscCpghbDataEO.java | 185 ++++++++++++++++++ .../ZchgxxmscCpghbDataDetailEOMapper.java | 7 + .../mapper/ZchgxxmscCpghbDataEOMapper.java | 7 + .../IZchgxxmscCpghbDataDetailEOService.java | 13 ++ .../service/IZchgxxmscCpghbDataEOService.java | 15 ++ ...ZchgxxmscCpghbDataDetailEOServiceImpl.java | 36 ++++ .../impl/ZchgxxmscCpghbDataEOServiceImpl.java | 134 +++++++++++++ .../impl/ZchgxxmscSybDataEOServiceImpl.java | 4 +- ...yComplianceProgramReviewProcess8After.java | 13 +- ...cyComplianceProgramReviewProcessTimer.java | 144 ++++++++++++++ .../ZchgxxmscCpghbDataDetailEOMapper.xml | 5 + .../datas/ZchgxxmscCpghbDataEOMapper.xml | 5 + 14 files changed, 633 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataDetailEO.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataEO.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataDetailEOMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataEOMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataDetailEOService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataEOService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataDetailEOServiceImpl.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataEOServiceImpl.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java create mode 100644 src/main/resources/mapper/datas/ZchgxxmscCpghbDataDetailEOMapper.xml create mode 100644 src/main/resources/mapper/datas/ZchgxxmscCpghbDataEOMapper.xml 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 d117a878..e4628570 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 @@ -109,6 +109,9 @@ public class TodoTaskController extends BaseAction { @Autowired private IZchgxxmscSybDataEOService zchgxxmscSybDataEOService; + @Autowired + private IZchgxxmscCpghbDataEOService zchgxxmscCpghbDataEOService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -589,6 +592,23 @@ public class TodoTaskController extends BaseAction { zchgxxmscSybDataEOList.forEach(sybDataEO -> {sybDataEO.setZrrUserId(assignee);}); this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); } + + List zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) { + zchgxxmscCpghbDataEOList.forEach(cpghbDataEO -> {cpghbDataEO.setZrrUserId(assignee);}); + this.zchgxxmscCpghbDataEOService.updateBatchById(zchgxxmscCpghbDataEOList); + } + } else if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey9")){ + Map params = new HashMap<>(); + params.put("taskDefinitionKey","PolicyComplianceProgramReviewProcessKey8"); + params.put("currentUserId",userId); + params.put("pId",task.getProcessInstanceId()); + + List zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) { + zchgxxmscCpghbDataEOList.forEach(cpghbDataEO -> {cpghbDataEO.setZrrUserId(assignee);}); + this.zchgxxmscCpghbDataEOService.updateBatchById(zchgxxmscCpghbDataEOList); + } } this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCHGXXMSCLC.getValue(),task); @@ -1993,6 +2013,11 @@ public class TodoTaskController extends BaseAction { zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); } this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } else if (StringUtils.equals(departmentType,"productPlanning") && jsonForm.containsKey("cpghbDataList")) { + // 保存产品规划部的责任人填写的信息 + object.put("currentUserId",one.getUserId()); + object.put("prcId",busProcessName.getPrcId()); + this.zchgxxmscCpghbDataEOService.batchInsert(object); } } return WrapMapper.ok("保存成功"); @@ -3266,7 +3291,12 @@ public class TodoTaskController extends BaseAction { jsonForm.put("sybDataList",zchgxxmscSybDataEOList); } -// object3.put("cpghbDataList",""); + List zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) { + JSONObject jsonForm = object3.getJSONObject("form"); + jsonForm.put("cpghbDataList",zchgxxmscCpghbDataEOList); + } + processNew.setMesg(object3.toJSONString()); QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("TODO_ID",processNew.getId()); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataDetailEO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataDetailEO.java new file mode 100644 index 00000000..87e8bf34 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataDetailEO.java @@ -0,0 +1,43 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 重点认证标准/政策合规性项目审查-产品规划部数据明细表 + * @author: wangzhijiang + * @date: 2023-10-26 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ZCHGXXMSC_CPGHB_DATA_DETAIL") +@ApiModel(value="ZchgxxmscCpghbDataDetail对象", description="") +public class ZchgxxmscCpghbDataDetailEO { + private static final long serialVersionUID=1L; + + @TableId(value = "ID", type = IdType.UUID) + private String id; + + // 流程实例id + @TableField("PRC_ID") + private String prcId; + + // 产品规划部数据id + @TableField("ZCHGXXMSC_CPGHB_DATA_ID") + private String zchgxxmscCpghbDataId; + + // 标准/政策id + @TableField("LAW_ID") + private String lawId; + + // 输入值 + @TableField("INPUT_VALUE") + private String inputValue; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataEO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataEO.java new file mode 100644 index 00000000..8ea4d6d8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscCpghbDataEO.java @@ -0,0 +1,185 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 重点认证标准/政策合规性项目审查-产品规划部数据表 + * @author: wangzhijiang + * @date: 2023-10-26 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ZCHGXXMSC_CPGHB_DATA") +@ApiModel(value="ZchgxxmscCpghbData对象", description="") +public class ZchgxxmscCpghbDataEO { + private static final long serialVersionUID=1L; + + @TableId(value = "ID", type = IdType.UUID) + private String id; + + // 流程实例id + @TableField("PRC_ID") + private String prcId; + + // 责任人用户id + @TableField("ZRR_USER_ID") + private String zrrUserId; + + // 业务 + @TableField("BUSINESS") + private String business; + + // 平台 + @TableField("PLATFORM") + private String platform; + + // 项目 + @TableField("PROJECT") + private String project; + + // 项目描述 + @TableField("PROJECT_DESCRIPTION") + private String projectDescription; + + // 当前节点 + @TableField("CURRENT_NODE") + private String currentNode; + + // G0 + @TableField("G_ZERO_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gZeroDate; + + // G1 + @TableField("G_ONE_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gOneDate; + + // G2 + @TableField("G_TWO_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gTwoDate; + + // G3 + @TableField("G_THREE_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gThreeDate; + + // G4 + @TableField("G_FOUR_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gFourDate; + + // G5 + @TableField("G_FIVE_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gFiveDate; + + // G6 + @TableField("G_SIX_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gSixDate; + + // G7 + @TableField("G_SEVEN_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gSevenDate; + + // G8 + @TableField("G_EIGHT_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gEightDate; + + // G9 + @TableField("G_NINE_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gNineDate; + + // G10 + @TableField("G_TEN_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gTenDate; + + // G11 + @TableField("G_ELEVEN_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gElevenDate; + + // G12 + @TableField("G_TWELVE_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gTwelveDate; + + // G13 + @TableField("G_THIRTEEN_DATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date gThirteenDate; + + // 提出人/创建人 + @TableField("CREATE_USER_ID") + private String createUserId; + + // 标准填写信息 + @TableField("INFO_TABLE_DATA") + private String infoTableData; + + // 概念状态 + @TableField("CONCEPTUAL_STATE") + private String conceptualState; + + // 概念计划下发时间 + @TableField("CONCEPT_PLAN_RELEASE_TIME") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date conceptPlanReleaseTime; + + // 概念修订计划 + @TableField("CONCEPT_REVISION_PLAN") + private String conceptRevisionPlan; + + // 其它说明 + @TableField("ADDITIONAL_NOTES") + private String additionalNotes; + + // 创建时间 + @TableField("CREATE_TIME") + private Date createTime; + + // 更新人 + @TableField("MODIFY_USER_ID") + private String modifyUserId; + + // 更新时间 + @TableField("MODIFY_TIME") + private Date modifyTime; + +// @TableField(exist = false) +// private List zchgxxmscCpghbDataDetailEOList; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataDetailEOMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataDetailEOMapper.java new file mode 100644 index 00000000..134a5f06 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataDetailEOMapper.java @@ -0,0 +1,7 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO; + +public interface ZchgxxmscCpghbDataDetailEOMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataEOMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataEOMapper.java new file mode 100644 index 00000000..d94c057a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscCpghbDataEOMapper.java @@ -0,0 +1,7 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO; + +public interface ZchgxxmscCpghbDataEOMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataDetailEOService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataDetailEOService.java new file mode 100644 index 00000000..1293ad1b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataDetailEOService.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO; + +import java.util.List; + +public interface IZchgxxmscCpghbDataDetailEOService extends IService { + + void batchInsert(List zchgxxmscCpghbDataDetailEOList); + + List queryZchgxxmscCpghbDataDetailEOList(List zchgxxmscCpghbDataIdList); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataEOService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataEOService.java new file mode 100644 index 00000000..1bc4987c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscCpghbDataEOService.java @@ -0,0 +1,15 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO; + +import java.util.List; +import java.util.Map; + +public interface IZchgxxmscCpghbDataEOService extends IService { + + void batchInsert(JSONObject json); + + List queryZchgxxmscCpghbDataEOList(Map params); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataDetailEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataDetailEOServiceImpl.java new file mode 100644 index 00000000..863fe409 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataDetailEOServiceImpl.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO; +import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscCpghbDataDetailEOMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataDetailEOService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class ZchgxxmscCpghbDataDetailEOServiceImpl extends ServiceImpl implements IZchgxxmscCpghbDataDetailEOService { + + @Override + public void batchInsert(List zchgxxmscCpghbDataDetailEOList) { + if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataDetailEOList)) { + this.saveBatch(zchgxxmscCpghbDataDetailEOList); + } + } + + @Override + public List queryZchgxxmscCpghbDataDetailEOList(List zchgxxmscCpghbDataIdList) { + List result = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataIdList)) { + zchgxxmscCpghbDataIdList = zchgxxmscCpghbDataIdList.stream().distinct().collect(Collectors.toList()); + QueryWrapper cpghbDataDetailQueryWrap = new QueryWrapper<>(); + cpghbDataDetailQueryWrap.lambda().in(ZchgxxmscCpghbDataDetailEO::getZchgxxmscCpghbDataId,zchgxxmscCpghbDataIdList); + result = this.list(cpghbDataDetailQueryWrap); + } + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataEOServiceImpl.java new file mode 100644 index 00000000..83471ebb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscCpghbDataEOServiceImpl.java @@ -0,0 +1,134 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO; +import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscCpghbDataEOMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataDetailEOService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataEOService; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class ZchgxxmscCpghbDataEOServiceImpl extends ServiceImpl implements IZchgxxmscCpghbDataEOService { + + @Autowired + private IFlowUserRelInfoService flowUserRelInfoService; + @Autowired + private IZchgxxmscCpghbDataDetailEOService zchgxxmscCpghbDataDetailEOService; + + @Override + public void batchInsert(JSONObject json) { + String currentUserId = json.getString("currentUserId"); + String prcId = json.getString("prcId"); + String removeIds = json.getString("removeIds"); + + JSONObject jsonForm = json.getJSONObject("form"); + if (StringUtils.isNotEmpty(removeIds)) { + List removeIdList = Arrays.asList(removeIds.split(",")); + this.removeByIds(removeIdList); + } + JSONArray cpghbDataListArr = jsonForm.getJSONArray("cpghbDataList"); + List addZchgxxmscCpghbDataEOList = new ArrayList<>(); + List updateZchgxxmscCpghbDataEOList = new ArrayList<>(); + ZchgxxmscCpghbDataEO zchgxxmscCpghbDataEO = null; + + for (Object cpghbData : cpghbDataListArr) { + zchgxxmscCpghbDataEO = JSONObject.parseObject(JSONObject.toJSONString(cpghbData), ZchgxxmscCpghbDataEO.class); + + zchgxxmscCpghbDataEO.setPrcId(prcId); + if (StringUtils.isEmpty(zchgxxmscCpghbDataEO.getId())) { + zchgxxmscCpghbDataEO.setId(UUID.randomUUID().toString()); + zchgxxmscCpghbDataEO.setZrrUserId(currentUserId); + zchgxxmscCpghbDataEO.setCreateUserId(currentUserId); + zchgxxmscCpghbDataEO.setCreateTime(new Date()); + addZchgxxmscCpghbDataEOList.add(zchgxxmscCpghbDataEO); + } else { + zchgxxmscCpghbDataEO.setModifyUserId(currentUserId); + zchgxxmscCpghbDataEO.setModifyTime(new Date()); + updateZchgxxmscCpghbDataEOList.add(zchgxxmscCpghbDataEO); + } + } + + if (CollectionUtils.isNotEmpty(addZchgxxmscCpghbDataEOList)) { + this.saveBatch(addZchgxxmscCpghbDataEOList); + } + if (CollectionUtils.isNotEmpty(updateZchgxxmscCpghbDataEOList)) { + this.updateBatchById(updateZchgxxmscCpghbDataEOList); + } + } + + @Override + public List queryZchgxxmscCpghbDataEOList(Map params) { + + List result = new ArrayList<>(); + String taskDefinitionKey = (String) params.get("taskDefinitionKey"); + String currentUserId = (String) params.get("currentUserId"); + String prcId = (String) params.get("pId"); + + QueryWrapper cpghbEoQueryWrap = new QueryWrapper<>(); + cpghbEoQueryWrap.lambda().eq(ZchgxxmscCpghbDataEO::getPrcId, prcId); + + if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey8")) { + // 责任人处理 + cpghbEoQueryWrap.lambda().eq(ZchgxxmscCpghbDataEO::getZrrUserId, currentUserId); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey9")) { + // 责任对接人汇总 + // 查询当前责任对接人分配出去的责任人,获取这些责任人填写的数据列表 + List userIdList = new ArrayList<>(); + userIdList.add(currentUserId); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + cpghbEoQueryWrap.lambda().in(ZchgxxmscCpghbDataEO::getZrrUserId, userIdList); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey10")) { + // 责任单位审批 + // 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的数据列表 + List userIdList = new ArrayList<>(); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId); + List zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) { + List zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList()); + userIdList.addAll(zrdjrUserIdList); + + QueryWrapper zrdjrQueryWrap = new QueryWrapper<>(); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + } else { + userIdList.add("设置一个无法满足的条件"); + } + cpghbEoQueryWrap.lambda().in(ZchgxxmscCpghbDataEO::getZrrUserId, userIdList); + } + cpghbEoQueryWrap.orderByAsc("create_time"); + result = this.list(cpghbEoQueryWrap); + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java index 9c54f49b..11ed024c 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java @@ -45,7 +45,7 @@ public class ZchgxxmscSybDataEOServiceImpl extends ServiceImpl userIdList = new ArrayList<>(); userIdList.add(currentUserId); @@ -61,7 +61,7 @@ public class ZchgxxmscSybDataEOServiceImpl extends ServiceImpl userIdList = new ArrayList<>(); QueryWrapper furQueryWrap = new QueryWrapper<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java index f77262db..19fa8ae0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java @@ -7,10 +7,7 @@ import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; 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.entity.ZchgxxmscSybDataEO; -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.business_main.datas.service.IPolicySolicitOpinionEOService; -import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; +import com.ydw.bat.wkflow.business_main.datas.service.*; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -25,9 +22,8 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); - IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); + IZchgxxmscCpghbDataEOService zchgxxmscCpghbDataEOService = SpringContextUtil.getBean(IZchgxxmscCpghbDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -63,7 +59,10 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener } zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); } else if (StringUtils.equals(departmentType,"productPlanning")) { - + // 保存产品规划部的责任人填写的信息 + object.put("currentUserId",delegateTask.getAssignee()); + object.put("prcId",delegateTask.getProcessInstanceId()); + zchgxxmscCpghbDataEOService.batchInsert(object); } submitMethod = "pageSubmit"; diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java new file mode 100644 index 00000000..6e6ea008 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java @@ -0,0 +1,144 @@ +package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess.timer; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +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.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; +import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.TaskService; +import org.activiti.engine.task.Task; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description: 重点认证标准/政策合规性项目审查流程定时器 + * @author: wangzhijiang + * @date: 2023-10-26 + */ +@Component +@EnableScheduling +@Slf4j +public class PolicyComplianceProgramReviewProcessTimer { + + @Autowired + private IBusProcessNameService busProcessNameService; + @Autowired + private TaskService taskService; + @Autowired + private IBusProcessNewService busProcessNewService; + @Autowired + private FormValsService formValsService; + + /** + * @Description: 自动提交待办任务 + * @author: wangzhijiang + * @date: 2023-10-23 + * @Param: + * @return: + */ + @Scheduled(cron = "10 11 11 * * ? ")//每天十点执行 +// @Scheduled(cron = "0/15 * * * * ? ") + public void autoSubmitZrbmTask() { + QueryWrapper bpnQueryWrap = new QueryWrapper<>(); + bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + bpnQueryWrap.lambda().lt(BusProcessName::getResponsibleUnitDeadlineDate, new Date()); + List busProcessNameList = this.busProcessNameService.list(bpnQueryWrap); + + if (CollectionUtils.isNotEmpty(busProcessNameList)) { + List actiProcInstIdList = busProcessNameList.stream().map(BusProcessName::getPrcId).distinct().collect(Collectors.toList()); + this.recursionComplteZrbmTask(actiProcInstIdList); + } + } + + /** + * 递归提交待办任务 + * + * @param actiProcInstIdList + */ + public void recursionComplteZrbmTask(List actiProcInstIdList) { + for (String actiProcInstId : actiProcInstIdList) { + List taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> { + boolean flag = false; + if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey7") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey8") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey9") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey10")) { + flag = true; + } + return flag; + }).distinct().collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(taskList)) { + for (Task task : taskList) { + JSONObject formJson = new JSONObject(); + + QueryWrapper newQueryWrapper = new QueryWrapper<>(); + newQueryWrapper.lambda().eq(BusProcessNew::getTaskId, task.getId()); + BusProcessNew busProcessNew = this.busProcessNewService.getOne(newQueryWrapper); + if (ObjectUtils.isNotEmpty(busProcessNew)) { + formJson = JSONObject.parseObject(busProcessNew.getMesg()); + JSONObject jsonForm = formJson.getJSONObject("form"); + jsonForm.put("approvalFlag",ApprovalFlagEnum.PASS.getValue()); + jsonForm.put("internalReviewFlag", "1"); + formJson.put("commentText",""); + } + formJson.put("submitMethod", "timerAutoSubmit"); + formJson.put("approvalFlag", ApprovalFlagEnum.PASS.getValue()); + formJson.put("internalReviewFlag", "1"); + + FormSubmitDto formSubmitDto = new FormSubmitDto(); + formSubmitDto.setForm(formJson.toString()); + formSubmitDto.setTask_id(task.getId()); + this.formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + + this.taskService.complete(task.getId()); + } + } + } + List actiProcInstIds = this.queryZrbmTaskByActiProcInstId(actiProcInstIdList); + if (CollectionUtils.isNotEmpty(actiProcInstIds)) { + this.recursionComplteZrbmTask(actiProcInstIds); + } + } + + /** + * 根据流程实例id,查询还有待办任务的流程。 + * + * @param actiProcInstIdList + * @return + */ + public List queryZrbmTaskByActiProcInstId(List actiProcInstIdList) { + List result = new ArrayList<>(); + for (String actiProcInstId : actiProcInstIdList) { + List taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> { + boolean flag = false; + if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey7") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey8") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey9") + || StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey10")) { + flag = true; + } + return flag; + }).distinct().collect(Collectors.toList()); + if (taskList.size() != 0) { + result.add(actiProcInstId); + } + } + return result; + } +} diff --git a/src/main/resources/mapper/datas/ZchgxxmscCpghbDataDetailEOMapper.xml b/src/main/resources/mapper/datas/ZchgxxmscCpghbDataDetailEOMapper.xml new file mode 100644 index 00000000..6cd2a1bd --- /dev/null +++ b/src/main/resources/mapper/datas/ZchgxxmscCpghbDataDetailEOMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mapper/datas/ZchgxxmscCpghbDataEOMapper.xml b/src/main/resources/mapper/datas/ZchgxxmscCpghbDataEOMapper.xml new file mode 100644 index 00000000..3c5441e0 --- /dev/null +++ b/src/main/resources/mapper/datas/ZchgxxmscCpghbDataEOMapper.xml @@ -0,0 +1,5 @@ + + + + + From 27ecd25d26ea741421711ab02a418675ea88a651 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Fri, 27 Oct 2023 11:46:29 +0800 Subject: [PATCH 18/25] =?UTF-8?q?add:=20=E6=94=BF=E7=AD=96=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E8=B5=84=E6=96=99=E5=85=A5=E5=BA=93=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...PolicyLawsInformationApplicationAfter.java | 99 +++++++++++++++++++ ...olicyLawsInformationApplicationBefore.java | 17 ++++ .../PolicyLawsInformationApproveAfter.java | 87 ++++++++++++++++ .../PolicyLawsInformationApproveBefore.java | 42 ++++++++ .../PolicyLawsInformationReissueAfter.java | 92 +++++++++++++++++ .../PolicyLawsInformationReissueBefore.java | 40 ++++++++ 6 files changed, 377 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationAfter.java new file mode 100644 index 00000000..be9fb513 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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; + +/** + * @author tjzdw + * @description 政策法规资料入库申请发起后 + * @date 2023/10/16 + */ +public class PolicyLawsInformationApplicationAfter 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); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + // 添加关联流程编号 + String processInstanceId = delegateTask.getProcessInstanceId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusProcessName::getPrcId,processInstanceId); + BusProcessName processName = busProcessNameService.getOne(wrapper); + object.put("prcNum",processName.getPrcNum()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList<>(); + + if(StringUtils.isNotBlank(object.getString("approverId"))){ + delegateTask.setVariable("approverId",object.getString("approverId")); + nextUserList.add(object.getString("approverId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); + Object informationName = object.get("name"); + String prcName = informationName + "-政策法规资料入库流程"; + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("32"); + 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.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setPrcName(prcName); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo("批准"); + 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/policyLawsInformationLibrary/PolicyLawsInformationApplicationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationBefore.java new file mode 100644 index 00000000..cd28c863 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApplicationBefore.java @@ -0,0 +1,17 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * @author tjzdw + * @description 政策法规资料入库申请发起前 + * @date 2023/10/27 + */ +public class PolicyLawsInformationApplicationBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveAfter.java new file mode 100644 index 00000000..7a81bbd9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveAfter.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.Date; + +/** + * @author tjzdw + * @description 政策法规资料入库经理人审批后 + * @date 2023/10/16 + */ +public class PolicyLawsInformationApproveAfter 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); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + Integer approvalOpinion = object.getInteger("approvalOpinion"); + + String informationName = object.getString("name"); + String prcName = informationName + "-政策法规资料入库流程"; + // 驳回任务 + if (approvalOpinion == 1) { + delegateTask.setVariable("applyUserId", object.getString("applyUserId")); + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo("重新起草"); + busProcessNew.setFinishFlag("0"); + busProcessNew.setUserId(object.getString("applyUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag("1"); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + delegateTask.setVariable("approvalOpinion", 1); + } else { + // 同意 + delegateTask.setVariable("approvalOpinion", 0); + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId, 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(prcName); + one2.setOverTime(overTime); + one2.setPrcType("32"); + busProcessNameService.saveOrUpdate(one2); + } + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag("0"); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveBefore.java new file mode 100644 index 00000000..8c14bc19 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationApproveBefore.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; + +/** + * @author tjzdw + * @description 政策法规资料入库经理人审批前 + * @date 2023/10/16 + */ +public class PolicyLawsInformationApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId()); + queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee()); + queryWrapper1.isNull(BusProcessNew::getTaskId); + 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("policyRegulatoryMaterials/step2?prcType=32"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueAfter.java new file mode 100644 index 00000000..9feeb5cb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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; + +/** + * @author tjzdw + * @description 重新发起政策法规资料入库申请后 + * @date 2023/10/16 + */ +public class PolicyLawsInformationReissueAfter 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); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList<>(); + + if(StringUtils.isNotBlank(object.getString("approverId"))){ + delegateTask.setVariable("approverId",object.getString("approverId")); + nextUserList.add(object.getString("approverId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserName"); + String informationName = object.getString("name"); + String prcName = informationName + "-政策法规资料入库流程"; + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("32"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNew); + } + + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo("批准"); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueBefore.java new file mode 100644 index 00000000..b814b0cd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyLawsInformationLibrary/PolicyLawsInformationReissueBefore.java @@ -0,0 +1,40 @@ +package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; + +/** + * @author tjzdw + * @description 重新发起政策法规资料入库申请前 + * @date 2023/10/16 + */ +public class PolicyLawsInformationReissueBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId()); + queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee()); + queryWrapper1.isNull(BusProcessNew::getTaskId); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("policyRegulatoryMaterials/step1_1?prcType=32"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} From 3e575ea9d8fe62437713b8367c04181c117d2309 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Fri, 27 Oct 2023 17:44:38 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E6=94=BF=E7=AD=96=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E3=80=81=E9=87=8D=E7=82=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=A0=87=E5=87=86/=E6=94=BF=E7=AD=96=E5=90=88=E8=A7=84?= =?UTF-8?q?=E6=80=A7=E9=A1=B9=E7=9B=AE=E5=AE=A1=E6=9F=A5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E3=80=82=20=E6=8E=A8=E9=80=81OA=E5=BE=85?= =?UTF-8?q?=E9=98=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TaskController.java | 2 + .../task/TodoTaskController.java | 1 + .../business_mq/service/CreateMQService.java | 15 ++ .../service/SendToBeReadMQService.java | 171 ++++++++++++++++++ .../service/WebServiceOAService.java | 2 + .../service/impl/WebServiceOAServiceImpl.java | 64 +++++++ ...ComplianceProgramReviewProcess15After.java | 30 +++ ...cyComplianceProgramReviewProcessTimer.java | 3 +- .../PolicySolicitOpinionProcess16After.java | 32 ++++ .../PolicySolicitOpinionProcessTimer.java | 3 +- 10 files changed, 319 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_mq/service/SendToBeReadMQService.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index aec00b87..c988c160 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -223,6 +223,8 @@ public class TaskController { typeData.put("25","起草");//企标制修订计划管控 typeData.put("26","起草");//企标制修订立项计划 typeData.put("23","汇总");//企标复审 + typeData.put("29","管理员");//政策征求意见 + typeData.put("30","管理员");//重点认证标准/政策合规性项目审查 BusProcessName one = iBusProcessNameService.getOne(queryWrapper); HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() .processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc(); 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 e4628570..2b6d4ae0 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 @@ -341,6 +341,7 @@ public class TodoTaskController extends BaseAction { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String data = sdf.format(entry.getValue().get(0).get("createTime")); res.setAcceptTime(data); + res.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString()); // //获取新的流程名称 // QueryWrapper queryWrapper1=new QueryWrapper<>(); // queryWrapper1.eq("P_ID",res.getPrcId()); diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java index b1f8ea9e..bf4580d5 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java @@ -59,4 +59,19 @@ public class CreateMQService { } } + /** + * @Description: 发送OA待阅 + * @author: wangzhijiang + * @date: 2023-10-27 + * @Param: @param busProcessNew + * @return: + */ + public void sendToBeReadMq(BusProcessNew busProcessNew) { + + if (oaFlag) { + //发送消息队列 + this.rabbitTemplate.convertAndSend("sendToBeRead-exchange_MQ_GSAR_RELEASE", "sendToBeRead-key_MQ_GSAR_RELEASE", busProcessNew); + } + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendToBeReadMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendToBeReadMQService.java new file mode 100644 index 00000000..439b7652 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendToBeReadMQService.java @@ -0,0 +1,171 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.*; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class SendToBeReadMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendToBeReadMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private EmailUtils emailUtils; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQToBeRead_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "sendToBeRead-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "sendToBeRead-key_MQ_GSAR_RELEASE")) + public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception { + try { + try { + Thread.sleep(5000); + // 发送OA待阅 + insertOrUpdateInfo(object); + } catch (InterruptedException e) { + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(), e); + } finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag, false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(BusProcessNew object) throws Exception { + try { + NotifyTodoAppResult todoAppResult = webServiceOAService.sendToBeRead(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if (todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")) { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID", object.getId()); + wrapper.eq("MSG_TYPE", "0"); + List list = sendTodoLogMapper.selectList(wrapper); + if (!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setMsgStatus("2"); + sendTodoLog.setOperMesg(todoAppResult.getMASSAGE()); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + } else { + sendTodoSave(object, sdf, "2", todoAppResult.getMASSAGE()); + } + } else { + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object, todoAppResult.getMASSAGE()); + } + + } catch (Exception e) { + logger.error(e.getMessage(), e); + this.restartSendMq(object, e.getMessage()); + } + } + + public void restartSendMq(BusProcessNew object, String operMesg) throws Exception { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID", object.getId()); + wrapper.eq("MSG_TYPE", "0"); + List list = sendTodoLogMapper.selectList(wrapper); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + if (!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if (againNumNew >= 6) { + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); + // 发送待办 或 发送给管理员邮箱 + List emailList = new ArrayList<>(); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail())); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + "" + "OA请求发送失败6次,请线下协调处理" + "
"; + emailUtils.sendMsgFeign(arr, title, countText); + logger.info("发送失败6次,发送给管理员邮箱"); + } else { + restSendTodo(object, sdf, sendTodoLog, againNumNew, operMesg); + } + } else { + sendTodoSave(object, sdf, "3", operMesg); + } + } + + private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew, String operMesg) throws Exception { + // 失败次数小于6次,放入失败队列延迟消费 + if ((againNumNew < 6)) { + Thread.sleep(3000); + logger.info("发送失败连续持续" + againNumNew + "次,存入延迟重试队列!!!!!!!!!"); + } else { + logger.info("发送失败连续持续" + againNumNew + "次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum() + 1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); + } + + private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s, String operMesg) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("0"); + sendTodoLog.setTodoId(object.getId()); + sendTodoLog.setUserId(object.getUserId()); + JSONObject json = JSONObject.fromObject(object); + sendTodoLog.setMesg(json.toString()); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.insert(sendTodoLog); + if (s.equals("2")) { + logger.info("发送成功,存入OA日志"); + } else { + convertMq.sendToBeReadMq(object); + logger.info("已重新加入延迟队列"); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java index 97c4410b..cbf6e246 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java @@ -24,4 +24,6 @@ public interface WebServiceOAService { NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception; + NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index 5586d2bf..cbf4e8c1 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -492,5 +492,69 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { } } } + + @Override + @Async + public NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception { + NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); + String result = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("SPRS"); + head.setCOUNT("1"); + head.setPASSWORD("oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + // 待办来源的系统 + notifyTodoSendContext.setAppName("SPRS"); + //创建时间 + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + // 待办在原系统唯一标识 + notifyTodoSendContext.setModelId(busProcessNew.getId()); + //模块名称 + notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); + //标题 + notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); + //地址 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_ID", busProcessNew.getPId()); + BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); + String linkParam = "&taskIds=" + busProcessNew.getTaskId() + "&prcId=" + busProcessNew.getPId() + "&prcNum=" + busProcessName.getPrcNum() + "&prcName=" + busProcessName.getPrcName(); + notifyTodoSendContext.setLink(webUrl + busProcessNew.getLink() + linkParam); + //待办类型 + notifyTodoSendContext.setType("2"); + + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName", byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization", credentials); + log.info("处理完文件数据,开始请求发送待办接口数据:【" + sdf.format(new Date()) + "】"); + log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString()); + log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString()); + result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS", json.toString(), mapCtr); + log.info("请求发送待办接口完毕,返回响应状态:【" + sdf.format(new Date()) + "】"); + if (!result.contains("操作成功")) { + log.error("请求发送待办接口出现异常:" + result); + log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString()); + log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString()); + notifyTodoAppResult.setSIGN("1"); + notifyTodoAppResult.setMASSAGE(result); + } else { + log.info("okHttp请求发送待办接口成功结果:" + result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); + } + return notifyTodoAppResult; + } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java index 5ed589bc..6fdd7be9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java @@ -9,12 +9,18 @@ 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.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang3.StringUtils; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; +import java.util.List; +import java.util.UUID; public class PolicyComplianceProgramReviewProcess15After implements TaskListener { @Override @@ -23,6 +29,7 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -32,7 +39,30 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener // TODO 等需求确认,提交后需要做什么操作。 + JSONObject jsonForm = object.getJSONObject("form"); + String csr2UserIds = jsonForm.getString("csr2UserIds"); + if (StringUtils.isNotEmpty(csr2UserIds)) { + List csr2UserIdList = Arrays.asList(csr2UserIds.split(",")); + for (String csr2UserId : csr2UserIdList) { + // 发送 oa 待阅 + BusProcessNew sendToBeReadBpn = new BusProcessNew(); + sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20)); + sendToBeReadBpn.setTaskId(delegateTask.getId()); + sendToBeReadBpn.setTaskInfo(delegateTask.getName()); + sendToBeReadBpn.setLink( + FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + + FlowTypeEnum.ZCHGXXMSCLC.getValue() + + "&taskDefinitionKey=PolicyComplianceProgramReviewProcessKey11" + + "&operate=view" + ); + sendToBeReadBpn.setTaskInfo(delegateTask.getName()); + sendToBeReadBpn.setUserId(csr2UserId); + sendToBeReadBpn.setPrcName("重点认证标准/政策合规性项目审查流程"); + sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId()); + oaService.sendToBeReadMq(sendToBeReadBpn); + } + } boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( delegateTask.getProcessInstanceId(), diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java index 6e6ea008..f62b207c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/timer/PolicyComplianceProgramReviewProcessTimer.java @@ -52,8 +52,7 @@ public class PolicyComplianceProgramReviewProcessTimer { * @Param: * @return: */ - @Scheduled(cron = "10 11 11 * * ? ")//每天十点执行 -// @Scheduled(cron = "0/15 * * * * ? ") + @Scheduled(cron = "10 0 0 * * ? ")//每天凌晨12点10分执行 public void autoSubmitZrbmTask() { QueryWrapper bpnQueryWrap = new QueryWrapper<>(); bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java index e17484c9..3509f247 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java @@ -9,12 +9,18 @@ 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.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang3.StringUtils; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; +import java.util.List; +import java.util.UUID; public class PolicySolicitOpinionProcess16After implements TaskListener { @Override @@ -23,6 +29,7 @@ public class PolicySolicitOpinionProcess16After implements TaskListener { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -32,7 +39,32 @@ public class PolicySolicitOpinionProcess16After implements TaskListener { // TODO 等需求确认,提交后需要做什么操作。 + JSONObject jsonForm = object.getJSONObject("form"); + String csr2UserIds = jsonForm.getString("csr2UserIds"); + if (StringUtils.isNotEmpty(csr2UserIds)) { + List csr2UserIdList = Arrays.asList(csr2UserIds.split(",")); + for (String csr2UserId : csr2UserIdList) { + // 发送 oa 待阅 + BusProcessNew sendToBeReadBpn = new BusProcessNew(); + sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20)); + sendToBeReadBpn.setTaskId(delegateTask.getId()); + sendToBeReadBpn.setTaskInfo(delegateTask.getName()); + sendToBeReadBpn.setLink( + FlowTypeEnum.ZCZQYJLC.getRoute() + + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + + "&taskDefinitionKey=PolicySolicitOpinionProcessKey11" + + "&operate=view" + ); + sendToBeReadBpn.setTaskInfo(delegateTask.getName()); + sendToBeReadBpn.setUserId(csr2UserId); + sendToBeReadBpn.setTaskInfo(delegateTask.getName()); + sendToBeReadBpn.setUserId(csr2UserId); + sendToBeReadBpn.setPrcName("政策征求意见流程"); + sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId()); + oaService.sendToBeReadMq(sendToBeReadBpn); + } + } boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( delegateTask.getProcessInstanceId(), diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java index cb41b2d1..3491dd79 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/timer/PolicySolicitOpinionProcessTimer.java @@ -50,8 +50,7 @@ public class PolicySolicitOpinionProcessTimer { * @Param: * @return: */ - @Scheduled(cron = "30 59 13 * * ? ")//每天十点执行 -// @Scheduled(cron = "0/15 * * * * ? ") + @Scheduled(cron = "5 0 0 * * ? ")//每天凌晨12点05分执行 public void autoSubmitZrbmTask() { QueryWrapper bpnQueryWrap = new QueryWrapper<>(); bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCZQYJLC.getValue()); From b023b323fb443cbce2cd0256115761496bc02021 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Tue, 14 Nov 2023 17:52:27 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E7=B1=BBvalue=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java index cf84eb87..12727645 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java +++ b/src/main/java/com/ydw/bat/wkflow/util/enums/FlowTypeEnum.java @@ -4,8 +4,8 @@ package com.ydw.bat.wkflow.util.enums; * 流程类型枚举类 */ public enum FlowTypeEnum { - ZCZQYJLC("29","政策征求意见流程","policyConsultation"), - ZCHGXXMSCLC("30","重点认证标准/政策合规性项目审查流程","policyComplianceReview"), + ZCZQYJLC("33","政策征求意见流程","policyConsultation"), + ZCHGXXMSCLC("34","重点认证标准/政策合规性项目审查流程","policyComplianceReview"), ; private String value; From 9a9f1fe7b28a75e01de55541b8dbb002d5b88371 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 14 Nov 2023 18:08:51 +0800 Subject: [PATCH 21/25] =?UTF-8?q?bug:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PGREPresidentApprovalAfter.java | 8 +++-- .../PGREPresidentApprovalBefore.java | 2 +- .../PRGEInspectorApprovalAfter.java | 11 ++++--- .../PRGEInspectorApprovalBefore.java | 2 +- .../PRGEMinisterConfirmAfter.java | 15 +++++----- .../PRGEMinisterConfirmBefore.java | 2 +- .../PRGEStartAfter.java | 30 +++++++++---------- .../RevisionInformationAfter.java | 4 +-- .../RevisionInformationBefore.java | 2 +- 9 files changed, 36 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java index c861baaf..a40e4e29 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -46,9 +46,10 @@ public class PGREPresidentApprovalAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if (object.getInteger("approvalOpinion") == 0) { + if (delegateTask.getVariable("approvalStatus",Boolean.class)) { // 批准通过 - delegateTask.setVariable("approvalOpinion", 0); +// delegateTask.setVariable("approvalOpinion", 0); + delegateTask.setVariable("approvalStatus", true); LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId()); BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); @@ -59,7 +60,8 @@ public class PGREPresidentApprovalAfter implements TaskListener { } } else { // 批准驳回 - delegateTask.setVariable("approvalOpinion", 1); +// delegateTask.setVariable("approvalOpinion", 1); + delegateTask.setVariable("approvalStatus", false); if (StringUtils.isNotBlank(object.getString("applyUserId"))) { delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java index f313a077..91b4ce06 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java @@ -25,12 +25,12 @@ public class PGREPresidentApprovalBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicEnrollment/step4?prcType=30"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java index b5164e7e..d9444468 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -44,9 +44,10 @@ public class PRGEInspectorApprovalAfter implements TaskListener { String taskInfo = ""; List nextUserList = new ArrayList<>(); - if (object.getInteger("approvalOpinion") == 0) { + if (delegateTask.getVariable("approvalStatus",Boolean.class)) { // 审定通过 - delegateTask.setVariable("approvalOpinion", 0); +// delegateTask.setVariable("approvalOpinion", 0); + delegateTask.setVariable("approvalStatus", true); if (StringUtils.isNotBlank(object.getString("presidentId"))) { delegateTask.setVariable("presidentId", object.getString("presidentId")); nextUserList.add(object.getString("presidentId")); @@ -57,6 +58,7 @@ public class PRGEInspectorApprovalAfter implements TaskListener { } else { // 审定驳回 delegateTask.setVariable("approvalOpinion", 1); +// delegateTask.setVariable("approvalStatus", false); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); @@ -91,16 +93,13 @@ public class PRGEInspectorApprovalAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (!nextUserList.isEmpty()) { + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) <= 1) { 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.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java index f2ccce56..448a02e1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java @@ -26,12 +26,12 @@ public class PRGEInspectorApprovalBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicParticipation/step3?prcType=30"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java index ab6c4e1d..1952a1f5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -43,14 +43,15 @@ public class PRGEMinisterConfirmAfter implements TaskListener { String user = delegateTask.getVariable("applyUserId",String.class); String username = delegateTask.getVariable("applyUserName",String.class); String topicName = object.getString("topicName"); - String prcName= topicName + "-政策课题组入会流程"; + String prcName= topicName + "-政策课题入会流程"; String taskInfo = ""; List nextUserList = new ArrayList<>(); - if(object.getInteger("approvalOpinion") == 0){ + if(delegateTask.getVariable("approvalStatus",Boolean.class)){ // 审核通过 - delegateTask.setVariable("approvalOpinion", 0); +// delegateTask.setVariable("approvalOpinion", 0); + delegateTask.setVariable("approvalStatus",true); if (StringUtils.isNotBlank(object.getString("inspectorId"))){ List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); delegateTask.setVariable("inspectorIdList",inspectorIdList); @@ -61,7 +62,8 @@ public class PRGEMinisterConfirmAfter implements TaskListener { } }else{ // 审核驳回 - delegateTask.setVariable("approvalOpinion",1); +// delegateTask.setVariable("approvalOpinion",1); + delegateTask.setVariable("approvalOpinion",false); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); @@ -97,16 +99,13 @@ public class PRGEMinisterConfirmAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (!nextUserList.isEmpty()) { + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) <= 1) { 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.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java index 5bd6a864..0f29975c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java @@ -26,12 +26,12 @@ public class PRGEMinisterConfirmBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicEnrollment/step2?prcType=30"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java index 0a13beb4..c1411a64 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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; @@ -44,6 +45,7 @@ public class PRGEStartAfter implements TaskListener { List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); + delegateTask.setVariable("approvalStatus",true); } else { throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } @@ -65,21 +67,20 @@ public class PRGEStartAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (null != object.getString("commentText")) { - BusProcessNew busProcessNews = new BusProcessNew(); - busProcessNews.setMsgType("clause"); - busProcessNews.setPId(delegateTask.getProcessInstanceId()); - busProcessNews.setMesg(object.toJSONString()); + // 存储当前节点意见 + 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.setFinishFlag("0"); + busProcessNews.setTaskInfo(delegateTask.getName()); + busProcessNews.setTaskId(delegateTask.getId()); // busProcessNews.setUserId("start"); - busProcessNews.setUserId(user); - busProcessNews.setPrcName(prcName); - busProcessNews.setCommitText(object.getString("commentText")); - busBean.save(busProcessNews); - } + busProcessNews.setUserId(user); + busProcessNews.setPrcName(prcName); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); if (!nextUserList.isEmpty()) { for (String nextUser : nextUserList) { @@ -87,10 +88,7 @@ public class PRGEStartAfter implements TaskListener { busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); -// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); -// busProcessNewNext.setTaskInfo(delegateTask.getName()); - busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java index 1a3b603e..ac8da726 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java @@ -41,6 +41,7 @@ public class RevisionInformationAfter implements TaskListener { List nextUserList = new ArrayList<>(); if (StringUtils.isNotBlank(object.getString("ministerId"))) { + delegateTask.setVariable("approvalStatus", true); List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); @@ -83,10 +84,7 @@ public class RevisionInformationAfter implements TaskListener { busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); -// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); -// busProcessNewNext.setTaskInfo(delegateTask.getName()); - busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java index 89da64da..4600709a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java @@ -25,12 +25,12 @@ public class RevisionInformationBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicEnrollment/step1_1?prcType=30"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } From d28a95e26fd2ea07ad660f21e7e50eccf826e424 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 15 Nov 2023 10:37:39 +0800 Subject: [PATCH 22/25] =?UTF-8?q?bug:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=85=A5=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PGREPresidentApprovalAfter.java | 11 +++-------- .../PRGEInspectorApprovalAfter.java | 11 +++-------- .../PRGEMinisterConfirmAfter.java | 10 ++++------ .../policyResearchGroupEnrollment/PRGEStartAfter.java | 1 - .../RevisionInformationAfter.java | 4 ++-- 5 files changed, 12 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java index a40e4e29..e52507fb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -46,10 +46,9 @@ public class PGREPresidentApprovalAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if (delegateTask.getVariable("approvalStatus",Boolean.class)) { + if (object.getInteger("approvalOpinion") == 0) { // 批准通过 -// delegateTask.setVariable("approvalOpinion", 0); - delegateTask.setVariable("approvalStatus", true); + delegateTask.setVariable("approvalOpinion", 0); LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId()); BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); @@ -60,8 +59,7 @@ public class PGREPresidentApprovalAfter implements TaskListener { } } else { // 批准驳回 -// delegateTask.setVariable("approvalOpinion", 1); - delegateTask.setVariable("approvalStatus", false); + delegateTask.setVariable("approvalOpinion", 1); if (StringUtils.isNotBlank(object.getString("applyUserId"))) { delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); @@ -101,10 +99,7 @@ public class PGREPresidentApprovalAfter implements TaskListener { busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); -// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); -// busProcessNewNext.setTaskInfo(delegateTask.getName()); - busProcessNewNext.setTaskInfo("重新起草"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java index d9444468..f4e9b943 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -41,28 +41,23 @@ public class PRGEInspectorApprovalAfter implements TaskListener { String username = delegateTask.getVariable("applyUserName", String.class); String topicName = object.getString("topicName"); String prcName= topicName + "-政策课题入会流程"; - String taskInfo = ""; List nextUserList = new ArrayList<>(); - if (delegateTask.getVariable("approvalStatus",Boolean.class)) { + if (object.getInteger("approvalOpinion") == 0) { // 审定通过 -// delegateTask.setVariable("approvalOpinion", 0); - delegateTask.setVariable("approvalStatus", true); + delegateTask.setVariable("approvalOpinion", 0); if (StringUtils.isNotBlank(object.getString("presidentId"))) { delegateTask.setVariable("presidentId", object.getString("presidentId")); nextUserList.add(object.getString("presidentId")); - taskInfo = "批准"; } else { throw new ActivitiException("1#2公司副总不存在,请配置相关人员"); } } else { // 审定驳回 delegateTask.setVariable("approvalOpinion", 1); -// delegateTask.setVariable("approvalStatus", false); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); - taskInfo = "重新起草"; } else { throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } @@ -93,7 +88,7 @@ public class PRGEInspectorApprovalAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) <= 1) { + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) { for (String nextUser : nextUserList) { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java index 1952a1f5..bde9dd59 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -48,10 +48,9 @@ public class PRGEMinisterConfirmAfter implements TaskListener { List nextUserList = new ArrayList<>(); - if(delegateTask.getVariable("approvalStatus",Boolean.class)){ + if(object.getInteger("approvalOpinion") == 0){ // 审核通过 -// delegateTask.setVariable("approvalOpinion", 0); - delegateTask.setVariable("approvalStatus",true); + delegateTask.setVariable("approvalOpinion", 0); if (StringUtils.isNotBlank(object.getString("inspectorId"))){ List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); delegateTask.setVariable("inspectorIdList",inspectorIdList); @@ -62,8 +61,7 @@ public class PRGEMinisterConfirmAfter implements TaskListener { } }else{ // 审核驳回 -// delegateTask.setVariable("approvalOpinion",1); - delegateTask.setVariable("approvalOpinion",false); + delegateTask.setVariable("approvalOpinion",1); if (StringUtils.isNotBlank(object.getString("applyUserId"))){ delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); @@ -99,7 +97,7 @@ public class PRGEMinisterConfirmAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) <= 1) { + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) ==0) { for (String nextUser : nextUserList) { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java index c1411a64..522f1676 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java @@ -45,7 +45,6 @@ public class PRGEStartAfter implements TaskListener { List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); - delegateTask.setVariable("approvalStatus",true); } else { throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员"); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java index ac8da726..41502ab7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationAfter.java @@ -41,7 +41,7 @@ public class RevisionInformationAfter implements TaskListener { List nextUserList = new ArrayList<>(); if (StringUtils.isNotBlank(object.getString("ministerId"))) { - delegateTask.setVariable("approvalStatus", true); + delegateTask.setVariable("approvalOpinion", 0); List ministerIdList = Arrays.asList(object.getString("ministerId").split(",")); delegateTask.setVariable("ministerIdList",ministerIdList); nextUserList.addAll(ministerIdList); @@ -52,7 +52,7 @@ public class RevisionInformationAfter implements TaskListener { String user = delegateTask.getVariable("applyUserId", String.class); String username = delegateTask.getVariable("applyUserName", String.class); String topicName = object.getString("topicName"); - String prcName= topicName + "-政策课题组入会流程"; + String prcName= topicName + "-政策课题入会流程"; QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); From 7e2a9df1d686fef212bc4d43152f97e5d281279d Mon Sep 17 00:00:00 2001 From: wxyclub Date: Wed, 15 Nov 2023 14:36:37 +0800 Subject: [PATCH 23/25] =?UTF-8?q?bug:=20=E6=94=BF=E7=AD=96=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E5=8F=82=E4=BC=9A=E6=B5=81=E7=A8=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InspectorApprovalAfter.java | 22 ++++++++++--------- .../InspectorApprovalBefore.java | 3 ++- .../MinisterApprovalAfter.java | 8 ++----- .../MinisterApprovalBefore.java | 2 +- .../PRGAMStartAfter.java | 2 -- .../PresidentApprovalBefore.java | 2 +- .../RevisionInformationBefore.java | 2 +- 7 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java index 0dfcb6d8..9c11ae5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalAfter.java @@ -90,16 +90,18 @@ public class InspectorApprovalAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - for (String nextUser : nextUserList) { - BusProcessNew busProcessNewNext = new BusProcessNew(); - busProcessNewNext.setMsgType("clause"); - busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(object.toJSONString()); - busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(taskInfo); - busProcessNewNext.setUserId(nextUser); - busProcessNewNext.setPrcName(prcName); - busBean.save(busProcessNewNext); + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(taskInfo); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java index 6859d0f7..5ec76b5f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/InspectorApprovalBefore.java @@ -26,12 +26,13 @@ public class InspectorApprovalBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicParticipation/step3?prcType=31"); - one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java index 4827d886..9a5b879f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java @@ -42,8 +42,7 @@ public class MinisterApprovalAfter implements TaskListener { String user = delegateTask.getVariable("applyUserId", String.class); String username = delegateTask.getVariable("applyUserName", String.class); String topicName = object.getString("topicName"); - String prcName = topicName + "-政策课题组参会流程"; - String taskInfo = ""; + String prcName = topicName + "-政策课题参会流程"; List nextUserList = new ArrayList<>(); if (object.getInteger("approvalOpinion") == 0) { @@ -53,7 +52,6 @@ public class MinisterApprovalAfter implements TaskListener { List inspectorIdList = Arrays.asList(object.getString("inspectorId").split(",")); delegateTask.setVariable("inspectorIdList", inspectorIdList); nextUserList.addAll(inspectorIdList); - taskInfo = "审定"; } else { throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员"); } @@ -63,7 +61,6 @@ public class MinisterApprovalAfter implements TaskListener { if (StringUtils.isNotBlank(object.getString("applyUserId"))) { delegateTask.setVariable("applyUserId", object.getString("applyUserId")); nextUserList.add(object.getString("applyUserId")); - taskInfo = "重新起草"; } else { throw new ActivitiException("1#2起草人不存在,请配置相关人员"); } @@ -93,14 +90,13 @@ public class MinisterApprovalAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } - if (!nextUserList.isEmpty()) { + if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) { for (String nextUser : nextUserList) { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(taskInfo); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java index f994d05c..51ab23da 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java @@ -25,12 +25,12 @@ public class MinisterApprovalBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicParticipation/step2?prcType=31"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java index 8d99ff85..e62a5ee3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java @@ -85,8 +85,6 @@ public class PRGAMStartAfter implements TaskListener { busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setFinishFlag("0"); -// busProcessNewNext.setTaskInfo(delegateTask.getName()); - busProcessNewNext.setTaskInfo("审核"); busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java index fe1fa148..8f610589 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java @@ -25,12 +25,12 @@ public class PresidentApprovalBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicParticipation/step4?prcType=31"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java index bb933d98..f30bf17a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java @@ -25,12 +25,12 @@ public class RevisionInformationBefore implements TaskListener { if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("policyTopicParticipation/step1_1?prcType=31"); - one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } From 63891c0b33e8720e2c7bc396b1adde2798bf7cfb Mon Sep 17 00:00:00 2001 From: lixuetao Date: Thu, 16 Nov 2023 16:59:34 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=8C=E6=B7=BB=E5=8A=A0druid=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wkflow/config/DruidDataSourceConfig.java | 163 ++++++++++++++++++ src/main/resources/application-prod.yml | 27 +++ src/main/resources/application.yml | 27 +++ 3 files changed, 217 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/config/DruidDataSourceConfig.java diff --git a/src/main/java/com/ydw/bat/wkflow/config/DruidDataSourceConfig.java b/src/main/java/com/ydw/bat/wkflow/config/DruidDataSourceConfig.java new file mode 100644 index 00000000..e17f2fdf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/DruidDataSourceConfig.java @@ -0,0 +1,163 @@ +package com.ydw.bat.wkflow.config; + +import com.alibaba.druid.filter.Filter; +import com.alibaba.druid.filter.logging.Slf4jLogFilter; +import com.alibaba.druid.filter.stat.StatFilter; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.http.StatViewServlet; +import com.alibaba.druid.support.http.WebStatFilter; +import com.alibaba.druid.support.spring.stat.DruidStatInterceptor; +import com.alibaba.druid.wall.WallConfig; +import com.alibaba.druid.wall.WallFilter; +import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator; +import org.springframework.boot.context.properties.bind.BindResult; +import org.springframework.boot.context.properties.bind.Binder; +import org.springframework.boot.context.properties.source.ConfigurationPropertySources; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.web.servlet.ServletRegistrationBean; +import org.springframework.context.EnvironmentAware; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +import javax.sql.DataSource; +import java.sql.SQLException; +import java.util.*; + +@Configuration +@EnableTransactionManagement +public class DruidDataSourceConfig implements EnvironmentAware { + private Properties propertyResolver; + + private Properties configResolver; + + public DruidDataSourceConfig() { + } + + public void setEnvironment(Environment env) { + Iterable sources = ConfigurationPropertySources.get(env); + Binder binder = new Binder(sources); + BindResult propertyResolverBind = binder.bind("spring.datasource", Properties.class); + BindResult configResolverBind = binder.bind("spring.profiles", Properties.class); + + propertyResolver= propertyResolverBind.get(); + configResolver = configResolverBind.get(); + } + + + @Bean( + name = {"dataSource"} + ) + public DataSource dataSource() throws SQLException { + DruidDataSource datasource = new DruidDataSource(); + datasource.setUrl(this.propertyResolver.getProperty("url")); + datasource.setDriverClassName(this.propertyResolver.getProperty("driver-class-name")); + datasource.setUsername(this.propertyResolver.getProperty("username")); + datasource.setPassword(this.propertyResolver.getProperty("password")); + datasource.setInitialSize(Integer.valueOf(this.propertyResolver.getProperty("initialSize"))); + datasource.setMinIdle(Integer.valueOf(this.propertyResolver.getProperty("minIdle"))); + datasource.setMaxWait(Long.valueOf(this.propertyResolver.getProperty("maxWait"))); + datasource.setMaxActive(Integer.valueOf(this.propertyResolver.getProperty("maxActive"))); + datasource.setTimeBetweenEvictionRunsMillis(Long.valueOf(this.propertyResolver.getProperty("timeBetweenEvictionRunsMillis"))); + datasource.setMinEvictableIdleTimeMillis(Long.valueOf(this.propertyResolver.getProperty("minEvictableIdleTimeMillis"))); +// datasource.setRemoveAbandoned(Boolean.valueOf(this.propertyResolver.getProperty("removeAbandoned"))); +// datasource.setRemoveAbandonedTimeout(Integer.valueOf(this.propertyResolver.getProperty("removeAbandonedTimeout"))); + datasource.setTestOnBorrow(Boolean.valueOf(this.propertyResolver.getProperty("testOnBorrow"))); + datasource.setTestOnReturn(Boolean.valueOf(this.propertyResolver.getProperty("testOnReturn"))); + datasource.setTestWhileIdle(Boolean.valueOf(this.propertyResolver.getProperty("testWhileIdle"))); + datasource.setValidationQuery(this.propertyResolver.getProperty("validationQuery")); +// datasource.setValidationQueryTimeout(Integer.valueOf(this.propertyResolver.getProperty("validationQueryTimeout"))); +// datasource.setKeepAlive(Boolean.valueOf(this.propertyResolver.getProperty("keepAlive"))); + // if("prd".equals(this.configResolver.getProperty("active"))){ + // datasource.setConnectProperties(this.connectionProper()); + // } + // datasource.setConnectProperties(this.connectionProper()); + List filters = new ArrayList(); + filters.add(this.wallFilter()); + filters.add(this.statFilter()); + filters.add(this.slf4jLogFilter()); + // if("prd".equals(this.configResolver.getProperty("active"))){ + // filters.add(new ConfigFilter()); + // } + // filters.add(new ConfigFilter()); + datasource.setProxyFilters(filters); + // 启动时自动初始化维护连接 + datasource.init(); + return datasource; + } + + @Bean + public StatFilter statFilter() { + StatFilter statFilter = new StatFilter(); + statFilter.setMergeSql(Boolean.valueOf(this.propertyResolver.getProperty("mergeSql"))); + statFilter.setSlowSqlMillis(Long.valueOf(this.propertyResolver.getProperty("slowSqlMillis"))); + statFilter.setLogSlowSql(Boolean.valueOf(this.propertyResolver.getProperty("logSlowSql"))); + return statFilter; + } + + @Bean + public WallFilter wallFilter() { + WallFilter wallFilter = new WallFilter(); + wallFilter.setLogViolation(true); + wallFilter.setThrowException(false); + wallFilter.setConfig(this.wallConfig()); + return wallFilter; + } + + @Bean + public Slf4jLogFilter slf4jLogFilter() { + Slf4jLogFilter slf4jLogFilter = new Slf4jLogFilter(); + return slf4jLogFilter; + } + + public Properties connectionProper(){ + Properties connection=new Properties(); + connection.setProperty("config.decrypt","true"); + connection.setProperty("config.decrypt.key",this.propertyResolver.getProperty("publicKey")); + return connection; + } + + @Bean + public ServletRegistrationBean druidServlet() { + ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); + servletRegistrationBean.setServlet(new StatViewServlet()); + servletRegistrationBean.addUrlMappings(new String[]{"/druid/*"}); + Map initParameters = new HashMap(); + initParameters.put("resetEnable", "true"); + initParameters.put("loginUsername", "druid"); + initParameters.put("loginPassword", "druid"); + servletRegistrationBean.setInitParameters(initParameters); + return servletRegistrationBean; + } + + @Bean + public FilterRegistrationBean filterRegistrationBean() { + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); + filterRegistrationBean.setFilter(new WebStatFilter()); + filterRegistrationBean.addUrlPatterns(new String[]{"/*"}); + filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"); + return filterRegistrationBean; + } + + @Bean({"druid-stat-interceptor"}) + public DruidStatInterceptor DruidStatInterceptor() { + DruidStatInterceptor druidStatInterceptor = new DruidStatInterceptor(); + return druidStatInterceptor; + } + + @Bean + public BeanNameAutoProxyCreator beanNameAutoProxyCreator() { + BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator(); + beanNameAutoProxyCreator.setProxyTargetClass(true); + beanNameAutoProxyCreator.setInterceptorNames(new String[]{"druid-stat-interceptor"}); + return beanNameAutoProxyCreator; + } + + @Bean + public WallConfig wallConfig() { + WallConfig wallConfig = new WallConfig(); + wallConfig.setMultiStatementAllow(true); + return wallConfig; + } +} \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 48b57516..17c53eb3 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -33,6 +33,33 @@ spring: url: jdbc:mysql://test.eqbidding.com:3306/bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: fxd password: 123456 + initialSize: 5 + minIdle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + slowSqlMillis: 5000 + logSlowSql: true + # 打开PSCache + poolPreparedStatements: true + #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入 + #如果运行时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority + #则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j + filters: stat,wall + #指定每个连接上PSCache的大小 + maxPoolPreparedStatementPerConnectionSize: 20 + #合并多个DruidDataSource的监控数据 + useGlobalDataSourceStat: true + stat-view-servlet: + enabled: true + login-username: druid + login-password: druid + url-pattern: /druid/* activiti: database-schema-update: true # 自动部署验证设置:true-开启(默认)、false-关闭 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7854f46a..15ea9869 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -39,6 +39,33 @@ spring: url: jdbc:mysql://121.36.69.172:3307/foton-bat-wkflow-test?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: root password: hzwlsoft.com + initialSize: 5 + minIdle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + slowSqlMillis: 5000 + logSlowSql: true + # 打开PSCache + poolPreparedStatements: true + #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入 + #如果运行时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority + #则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j + filters: stat,wall + #指定每个连接上PSCache的大小 + maxPoolPreparedStatementPerConnectionSize: 20 + #合并多个DruidDataSource的监控数据 + useGlobalDataSourceStat: true + stat-view-servlet: + enabled: true + login-username: druid + login-password: druid + url-pattern: /druid/* activiti: database-schema-update: true # 自动部署验证设置:true-开启(默认)、false-关闭 From c0df85601eb689c7c5ccfdeb7bf0bd2bbc9412f1 Mon Sep 17 00:00:00 2001 From: lixuetao Date: Fri, 1 Dec 2023 14:00:17 +0800 Subject: [PATCH 25/25] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/工作流数据库优化sql.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 db/工作流数据库优化sql.sql diff --git a/db/工作流数据库优化sql.sql b/db/工作流数据库优化sql.sql new file mode 100644 index 00000000..495ce6f5 --- /dev/null +++ b/db/工作流数据库优化sql.sql @@ -0,0 +1,10 @@ +ALTER TABLE `foton-bat-wkflow`.`bus_process_new` + ADD INDEX `PROCESS_NEW_TASK_ID_INDEX`(`TASK_ID`) USING BTREE COMMENT 'TASK_ID索引', +ADD INDEX `PROCESS_NEW_P_ID_INDEX`(`P_ID`) USING BTREE COMMENT 'P_ID索引', +ADD INDEX `PROCESS_NEW_TASK_AND_P_ID_INDEX`(`TASK_ID`, `P_ID`) USING BTREE COMMENT 'TASK_ID和P_ID的联合索引'; +ADD INDEX `PROCESS_NEW_TASK_INFO_INDEX`(`TASK_INFO`) USING BTREE COMMENT 'TASK_INFO索引', +ADD INDEX `PROCESS_NEW_TASK_ID_AND_INFO_INDEX`(`TASK_INFO`, `TASK_ID`) USING BTREE COMMENT 'TASK_ID和TASK_INFO的联合索引'; +ADD INDEX `PROCESS_NEW_RECEIVE_STATUS_INDEX`(`RECEIVE_STATUS`) USING BTREE COMMENT 'RECEIVE_STATUS索引'; + +ALTER TABLE `foton-bat-wkflow`.`bus_process_name` +ADD INDEX `PROCESS_NAME_PRC_ID_INDEX`(`PRC_ID`) USING BTREE COMMENT 'PRC_ID索引'; \ No newline at end of file