From 5ec5ee0c03250c192c81d3f2fcac43bdbdc143e6 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 29 May 2023 11:05:01 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bat/wkflow/business_main/datas/entity/BusProcessNew.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 21efa8f1..d41e1fe9 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 @@ -21,7 +21,7 @@ import lombok.experimental.Accessors; *

* * @author 冯晓东 - * @since 2020-11-10 + * @since 2020-11-1 */ @Data @EqualsAndHashCode(callSuper = false) From 080bea86f3ab16e291cb6f22603746c7f6701106 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 8 Jun 2023 11:46:23 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=94=BF=E7=AD=96=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=20=E9=A9=B3=E5=9B=9E=E5=92=8C=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lawsLibrary/LCLApplicantAfter.java | 30 +++++++++-- .../lawsLibrary/LLApplicantAfter.java | 12 ++++- .../lawsLibrary/LawsManagerApproveAfter.java | 54 ++++++++++++++++++- 3 files changed, 91 insertions(+), 5 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 f131ec6d..d45eda47 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 @@ -35,8 +35,22 @@ public class LCLApplicantAfter implements TaskListener{ queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); Datas datas = datasService.getOne(queryWrapper); - JSONObject objectNew = JSONObject.parseObject(datas.getFormValsJson()); - delegateTask.setVariable("objectJson",objectNew); + JSONObject objectNew = null; + if(datas != null){ + objectNew = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",objectNew); + }else { + QueryWrapper queryWrapperPid = new QueryWrapper<>(); + queryWrapperPid.eq("P_ID", delegateTask.getProcessInstanceId()); + queryWrapperPid.like("PRC_NAME", "政策入库流程"); + List list = busBean.list(queryWrapperPid); + if(!list.isEmpty()) { + JSONObject jsonObject = JSONObject.parseObject(list.get(0).getMesg()); + jsonObject.put("commentText",""); + objectNew = jsonObject; + } + } + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -63,7 +77,17 @@ public class LCLApplicantAfter implements TaskListener{ String username = objectNew.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策入库流程"; + 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); 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 958944e8..967699c6 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 @@ -79,7 +79,17 @@ public class LLApplicantAfter implements TaskListener{ String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策入库流程"; + 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); 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 94000ecf..b4cbd75b 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 @@ -12,9 +12,11 @@ import com.ydw.bat.wkflow.listener.bussLibrary.BussUtils; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; /** * 经理人审批后 @@ -33,9 +35,36 @@ public class LawsManagerApproveAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); - String prcName = "政策入库流程"; + 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+"政策入库流程"; + //截止时间 流程描述 创建人 + 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); + } + BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); busProcessNew.setPId(delegateTask.getProcessInstanceId()); @@ -51,6 +80,29 @@ public class LawsManagerApproveAfter implements TaskListener { delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); delegateTask.setVariable("jlFlag", 1); } else { + //截止时间 流程描述 创建人 + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("laws1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.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")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); delegateTask.setVariable("jlFlag", 0); func2(delegateTask, busBean, object, "0", busProcessNameService); } From 228850289ed5df5304fe46c24075709c0e2553cd Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 9 Jun 2023 10:23:22 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=94=BF=E7=AD=96=20=E6=84=8F=E8=A7=81?= =?UTF-8?q?=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 --- .../policyCommentProcess/DirectorAfter.java | 12 +++++++- .../DistributionAfter.java | 12 +++++++- .../DockerReviewAfter.java | 12 +++++++- .../EngineerReviewAfter.java | 12 +++++++- .../EngineerRevisionAfter.java | 12 +++++++- .../FillCommentAfter.java | 12 +++++++- .../policyCommentProcess/LaunchAfter.java | 12 +++++++- .../MinisterReviewAfter.java | 12 +++++++- .../ViceDirectorAfter.java | 28 +++++++++++++++++-- 9 files changed, 114 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java index 2d1c59f6..6844fa3b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java @@ -52,7 +52,17 @@ public class DirectorAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java index b6aa7adb..2b99eeb1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java @@ -66,7 +66,17 @@ public class DistributionAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java index ce300c29..5e86abde 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java @@ -57,7 +57,17 @@ public class DockerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java index 11ac692d..31705040 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java @@ -44,7 +44,17 @@ public class EngineerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java index cf77ba09..8948dde4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java @@ -52,7 +52,17 @@ public class EngineerRevisionAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java index 404ef84d..cec928e8 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java @@ -51,7 +51,17 @@ public class FillCommentAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java index b2d59dcc..59f2bc05 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java @@ -49,7 +49,17 @@ public class LaunchAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java index 0a87c4aa..b1bc5f6d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java @@ -46,7 +46,17 @@ public class MinisterReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java index bae4c86d..92cc4503 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java @@ -35,6 +35,20 @@ public class ViceDirectorAfter implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); + if(StringUtils.isBlank(lawsProveEngineerId2)){ + QueryWrapper queryWrapperPid = new QueryWrapper<>(); + queryWrapperPid.eq("P_ID", delegateTask.getProcessInstanceId()); + queryWrapperPid.like("PRC_NAME", "政策征求意见流程"); + List list = busBean.list(queryWrapperPid); + if(!list.isEmpty()) { + JSONObject jsonObject = JSONObject.parseObject(list.get(0).getMesg()); + jsonObject.put("commentText",""); + jsonObject.put("actionFlag","1"); + lawsProveEngineerId2 = jsonObject.get("lawsProveEngineerId").toString(); + object = jsonObject; + } + } delegateTask.setVariable("objectJson",object); List nextUserList = new ArrayList(); @@ -45,7 +59,17 @@ public class ViceDirectorAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程"; + 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); @@ -60,7 +84,7 @@ public class ViceDirectorAfter implements TaskListener { if(StringUtils.isNotBlank(object.getString("actionFlag"))){ String lawsProveChief = object.getString("lawsProveChiefId"); - String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); + //String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { From 87c7862663a8f03a27a165ace7940f514d419997 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Mon, 12 Jun 2023 14:02:48 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E5=A4=8D=E5=AE=A1=E6=B5=81=E7=A8=8B=E5=8F=91=E9=80=81=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusProcessNewController.java | 6 + .../datas/service/IBusProcessNewService.java | 2 + .../impl/BusProcessNewServiceImpl.java | 21 +- .../ScheduledSarBussionessStandReview.java | 270 ++++++++++++++++++ 4 files changed, 290 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/config/ScheduledSarBussionessStandReview.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java index af5d4bf0..87678a47 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java @@ -107,5 +107,11 @@ public class BusProcessNewController extends BaseAction { public String endPrcName(@RequestParam("prcName")String prcName,@RequestParam("esId") String esId) { return iBusProcessNewService.endPrcName(prcName,esId); } + + @ApiOperation(value = "复审") + @GetMapping("/fushen") + public String fushen() { + return iBusProcessNewService.fushen(); + } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java index 5fc43b59..f3b843f8 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java @@ -55,4 +55,6 @@ public interface IBusProcessNewService extends IService { List getSarBussionStandPageNo(List rows); String endPrcName(String prcName,String esId); + + String fushen(); } 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 7bc7bd93..ade1ba9d 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 @@ -3,28 +3,20 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.extension.service.additional.update.impl.UpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.entity.BusMes; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.SarBussionessStandState; import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNewMapper; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServiceImpl; -import com.ydw.bat.wkflow.config.ScheduledJobEsPlan; -import com.ydw.bat.wkflow.util.activiti.DeleteTaskCommond; +import com.ydw.bat.wkflow.config.ScheduledSarBussionessStandReview; import com.ydw.bat.wkflow.util.http.ResponseMessage; import com.ydw.bat.wkflow.util.http.Result; -import org.activiti.engine.ProcessEngine; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; -import org.activiti.engine.impl.ProcessEngineImpl; import org.activiti.engine.runtime.ProcessInstance; -import org.activiti.engine.runtime.ProcessInstanceQuery; import org.activiti.engine.task.Task; -import org.activiti.engine.task.TaskQuery; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -54,6 +46,11 @@ public class BusProcessNewServiceImpl extends ServiceImpl busProcessNews){ } diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledSarBussionessStandReview.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledSarBussionessStandReview.java new file mode 100644 index 00000000..0f6c30d3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledSarBussionessStandReview.java @@ -0,0 +1,270 @@ +package com.ydw.bat.wkflow.config; + +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.service.IBusProcessNameService; +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 lombok.extern.slf4j.Slf4j; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.task.Task; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +@EnableScheduling +@Component +@Slf4j +public class ScheduledSarBussionessStandReview { + + Logger logger = LoggerFactory.getLogger(ScheduledJob.class); + + /** + * 根据配置文件设置是否开启定时器 + */ + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + + @Autowired + private IBusProcessNewService iBusProcessNewService; + + @Autowired + private IBusProcessNameService iBusProcessNameService; + + @Autowired + private RuntimeService runtimeService; + + + + @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 + @Async + public void ScheduledSarBussionessStandReview() { + /** + * 1: 发起流程以后,复审日期的前三天发送一次OA待办消息,和复审完成时间的当天发送一次OA待办 + * 2:复审完成时间当天发起待办消息 + * 3:复审完成时间前三天生成待办消息 + */ + if(isNotScheduled){ + QueryWrapper busProcessNameQueryWrapper = new QueryWrapper<>(); + busProcessNameQueryWrapper.eq("PRC_TYPE","buss3"); + List list = iBusProcessNameService.list(busProcessNameQueryWrapper); + if(!list.isEmpty()){ + for (BusProcessName data: list){ + if(StringUtils.isNotBlank(data.getPrcId())) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(data.getPrcId()).singleResult(); + //不能与空证明有待办 + if (processInstance != null) { + //有代办的情况下 查看复审流程的时间 reviewTime + QueryWrapper busProcessNewQueryWrapper = new QueryWrapper<>(); + busProcessNewQueryWrapper.eq("P_ID", data.getPrcId()); + busProcessNewQueryWrapper.eq("TASK_INFO", "起草"); + List newList = iBusProcessNewService.list(busProcessNewQueryWrapper); + if (!newList.isEmpty()) { + for (BusProcessNew busProcessNew : newList) { + if (StringUtils.isNotBlank(busProcessNew.getMesg())) { + JSONObject jsonObject = JSONObject.parseObject(busProcessNew.getMesg()); + if (jsonObject != null) { + Object reviewTime = jsonObject.get("reviewTime"); + if (reviewTime != null) { + String reviewTimeDate = reviewTime.toString(); + //今天的时间 + if (StringUtils.isNotBlank(reviewTimeDate)) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + try { + // 复审 + Date review = dateFormat.parse(reviewTimeDate); + //今天 + String day = dateFormat.format(new Date()); + Date parse = dateFormat.parse(day); + //三天前时间 + Calendar instanceThree = Calendar.getInstance(); + instanceThree.setTime(dateFormat.parse(reviewTimeDate)); + instanceThree.add(Calendar.DATE, -3); + //三天前的时间 + String format = dateFormat.format(instanceThree.getTime()); + Date ThreeDate = dateFormat.parse(format); + if (review.getTime() == parse.getTime()) { + logger.info("====================================当天前时间发送开始!!!!========================================="); + process(data.getPrcId()); + logger.info("====================================当天前时间发送成功!!!!========================================="); + } + if (ThreeDate.getTime() == parse.getTime()) { + logger.info("====================================三天前时间发送开始!!!!========================================="); + process(data.getPrcId()); + logger.info("====================================三天前时间发送成功!!!!========================================="); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } + } + } + } + + } + } + } + }else { + logger.info("====================================NAME为空!!!!========================================="); + } + } + } + + public void sendOATodo(Task delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper busProcessNewQueryWrapper = new QueryWrapper(); + busProcessNewQueryWrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busProcessNewQueryWrapper.eq("USER_ID",delegateTask.getAssignee()); + busProcessNewQueryWrapper.isNotNull("TASK_ID"); + busProcessNewQueryWrapper.orderByDesc("CREATE_TIME"); + List list = busBean.list(busProcessNewQueryWrapper); + if(!list.isEmpty()) { + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + String str = nodeInfo(busProcessNew.getTaskInfo()); + busBean.saveOrUpdate(busProcessNew); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + logger.info("================================当前需要发送OA为"+str+"==========================================="); + busProcessNew.setLink(str+"?prcType=buss3"); + busProcessNew.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(busProcessNew); + } + + } + + + public void process(String prcId) { + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + List processlist = taskService.createTaskQuery().processInstanceId(prcId).active().list(); + if(!processlist.isEmpty()){ + for (Task data: processlist) { + this.sendOATodo(data); + logger.info("================================发送成功==========================================="); + } + } + } + + public String nodeInfo(String type) { + switch (type){ + case "选择复审人": + return "qbfsStepSub1"; + case "复审": + return "qbfsStepSub2"; + case "汇总": + return "bussFs2"; + case "批准": + return "bussFs3"; + case "重新汇总": + return "bussFsC2"; + case "技术标准起草": + return "bussFs7"; + case "产品标准起草": + return "bussFs6"; + } + return ""; + } + + public void ScheduledSarBussionessStandReviewTest() { + /** + * 1: 发起流程以后,复审日期的前三天发送一次OA待办消息,和复审完成时间的当天发送一次OA待办 + * 2:复审完成时间当天发起待办消息 + * 3:复审完成时间前三天生成待办消息 + */ + /** + * 1: 查询所有未走完的复审流程 + * 2: 判断当前日期是否是复审日期的三天前。 + * 3: 判断当前日期是否是复审日期的当天 + * 4:不是则跳过 + * 5:是则发送一条OA消息 + */ + + QueryWrapper busProcessNameQueryWrapper = new QueryWrapper<>(); + busProcessNameQueryWrapper.eq("PRC_TYPE","buss3"); + List list = iBusProcessNameService.list(busProcessNameQueryWrapper); + if(!list.isEmpty()){ + for (BusProcessName data: list){ + if(StringUtils.isNotBlank(data.getPrcId())) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(data.getPrcId()).singleResult(); + //不能与空证明有待办 + if (processInstance != null) { + //有代办的情况下 查看复审流程的时间 reviewTime + QueryWrapper busProcessNewQueryWrapper = new QueryWrapper<>(); + busProcessNewQueryWrapper.eq("P_ID", data.getPrcId()); + busProcessNewQueryWrapper.eq("TASK_INFO", "起草"); + List newList = iBusProcessNewService.list(busProcessNewQueryWrapper); + if (!newList.isEmpty()) { + for (BusProcessNew busProcessNew : newList) { + if (StringUtils.isNotBlank(busProcessNew.getMesg())) { + JSONObject jsonObject = JSONObject.parseObject(busProcessNew.getMesg()); + if (jsonObject != null) { + Object reviewTime = jsonObject.get("reviewTime"); + if (reviewTime != null) { +// String reviewTimeDate = reviewTime.toString(); + String reviewTimeDate = "2023-06-12"; +// String reviewTimeDate = "2023-06-15"; + //今天的时间 + if (StringUtils.isNotBlank(reviewTimeDate)) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + try { + // 复审 + Date review = dateFormat.parse(reviewTimeDate); + //今天 + String day = dateFormat.format(new Date()); + Date parse = dateFormat.parse(day); + //三天前时间 + Calendar instanceThree = Calendar.getInstance(); + instanceThree.setTime(dateFormat.parse(reviewTimeDate)); + instanceThree.add(Calendar.DATE, -3); + //三天前的时间 + String format = dateFormat.format(instanceThree.getTime()); + Date ThreeDate = dateFormat.parse(format); + + if (review.getTime() == parse.getTime()) { + logger.info("====================================当天前时间发送开始!!!!========================================="); + process(data.getPrcId()); + logger.info("====================================当天前时间发送成功!!!!========================================="); + } + if (ThreeDate.getTime() == parse.getTime()) { + logger.info("====================================三天前时间发送开始!!!!========================================="); + process(data.getPrcId()); + logger.info("====================================三天前时间发送成功!!!!========================================="); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } + } + } + } + + } + } + } + }else { + logger.info("====================================NAME为空!!!!========================================="); + } + } +}