From 34e25b84dcedeb25dfe011a0fd651965ade56009 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 16 Jan 2022 20:38:16 +0800 Subject: [PATCH 01/11] feat: There is no way the --- .../com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java index cbe13f17..186b5e0b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java @@ -57,7 +57,6 @@ public class BussUtils { one1.setMsgType("clause"); one1.setPId(delegateTask.getProcessInstanceId()); one1.setMesg(object.toJSONString()); - one1.setTaskInfo(delegateTask.getTaskDefinitionKey()); one1.setFinishFlag("0"); one1.setTaskInfo(delegateTask.getName()); one1.setPrcName(prcName); @@ -87,7 +86,6 @@ public class BussUtils { one1.setMsgType("clause"); one1.setPId(delegateTask.getProcessInstanceId()); one1.setMesg(object.toJSONString()); - one1.setTaskInfo(delegateTask.getTaskDefinitionKey()); one1.setFinishFlag("0"); one1.setTaskInfo(delegateTask.getName()); one1.setPrcName(prcName); @@ -116,7 +114,6 @@ public class BussUtils { 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"); @@ -129,7 +126,6 @@ public class BussUtils { 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); From d2c919dd714f1c1c4b4bb8acf48c488f0f41e7dc Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Tue, 18 Jan 2022 11:08:53 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E8=B0=83=E7=A0=94=E6=B5=81=E7=A8=8B=20bu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/StandardSurvey/UploadResearchResultBefore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java index b94457a1..ce7d7152 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java @@ -31,7 +31,7 @@ public class UploadResearchResultBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 JSONObject object = JSONObject.parseObject(one1.getMesg()); - one1.setLink("bzdyStep3?prcType=2&routerType=oa"); + one1.setLink("bzdyStep3?prcType=2"); one1.setTaskInfo(delegateTask.getName()); // 干活节点流程 one1.setTaskStatus(2); From d7faeff45f4c8448c8163374db6ac1b1a253d812 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Tue, 18 Jan 2022 16:23:47 +0800 Subject: [PATCH 03/11] feat: There is no way the,plan lxd --- .../BusProcessModelHisController.java | 18 ++++++ .../datas/entity/EsRevisePlanDTO.java | 4 ++ .../service/IBusProcessModelHisService.java | 4 ++ .../impl/BusProcessModelHisServiceImpl.java | 64 +++++++++++++++++++ .../ProcessStep4After.java | 1 + 5 files changed, 91 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java index e258a781..fb8f1e18 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java @@ -5,7 +5,10 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService; +import com.ydw.bat.wkflow.util.Utils; import io.swagger.annotations.ApiOperation; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,8 +24,12 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URL; import java.net.URLConnection; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.Scanner; +import java.util.UUID; /** *

@@ -126,6 +133,17 @@ public class BusProcessModelHisController { } } + @GetMapping("/processEditFile") + public BusProcessModelHis processEditFile(String id) { + BusProcessModelHis modelHisOne = busProcessModelHisService.processEditFile(id); + return modelHisOne; + } + + @GetMapping("/saveEditFile") + public BusProcessModelHis saveEditFile() { + return busProcessModelHisService.saveEditFile(); + } + @GetMapping("/processModelHisOneUpdStatus") public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId) { BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneUpdStatus(pid,taskId); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java index ee1b7524..b7065703 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java @@ -109,4 +109,8 @@ public class EsRevisePlanDTO { @ApiModelProperty(value = "企标类别") @TableField("buss_sort") private String bussSort; + + @ApiModelProperty(value = "立项单") + @TableField("LXD") + private String lxd; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java index 8444103d..01b9c20f 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java @@ -21,8 +21,12 @@ public interface IBusProcessModelHisService extends IService BusProcessModelHis modelHisOneCount(String pid); + BusProcessModelHis processEditFile(String id); + BusProcessModelHis modelHisOne(String pid,String taskId); + BusProcessModelHis saveEditFile(); + List modelHisList(String pid); String saveBussModelFile(String pid, String taskId); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java index 7a756d57..8fc04b8d 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java @@ -12,6 +12,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiUtil; import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiWord; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -19,7 +20,10 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; +import java.util.UUID; /** *

@@ -44,6 +48,55 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl Date: Wed, 19 Jan 2022 17:35:50 +0800 Subject: [PATCH 04/11] feat: There is no way the, --- .../datas/service/impl/BusProcessEvaluationHisServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java index 4041374b..74668ae4 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java @@ -27,6 +27,7 @@ public class BusProcessEvaluationHisServiceImpl extends ServiceImpl evaluationHisList(String pid){ QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); return this.baseMapper.selectList(wrapper); } } From eef6df51fc13139aaafeb81b27c18e38b68ab657 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 20 Jan 2022 17:43:21 +0800 Subject: [PATCH 05/11] feat: There is no way the, --- .../listener/bussLibrary/BussLibrary7After.java | 13 ++++++++++--- .../listener/bussLibrary/BussLibrary8After.java | 2 +- .../listener/bussLibrary/BussLibrary8Before.java | 2 +- .../listener/bussLibrary/BussLibrary9After.java | 4 ++-- .../BussLibraryProduct10After.java | 10 +++++----- .../BussLibraryProduct7After.java | 5 ++++- .../BussLibraryProduct8After.java | 13 ++++++++----- 7 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java index 49af23f0..4d21bec3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -19,6 +19,7 @@ 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; @@ -67,10 +68,16 @@ public class BussLibrary7After implements TaskListener{ if(StringUtils.isNotBlank(approvalOpinion)){ if ("0".equalsIgnoreCase(approvalOpinion)) { - if(StringUtils.isNotBlank(object.getString("jsfzrUserId"))){ + if(StringUtils.isNotBlank(object.getString("bzUserId"))){ - delegateTask.setVariable("jsfzrUserId",object.getString("jsfzrUserId")); - nextUserList.add(object.getString("jsfzrUserId")); + if(object.getString("bzUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("bzUserId").split(",")); + }else { + nextUserList.add(object.getString("bzUserId")); + } + // 配置多实例 + delegateTask.setVariable("bzUserIdList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); // 评分存储 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java index aee978f6..cb476a9e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java @@ -18,7 +18,7 @@ import java.util.ArrayList; import java.util.List; /** - * 技术委员会负责人/起草中心主任审核后 + * 技术委员会负责人/起草中心主任审核后( 合并至9) */ public class BussLibrary8After implements TaskListener{ @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java index fc2755a3..50cecd5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java @@ -11,7 +11,7 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; /** - * 技术委员会负责人/起草中心主任审核前 + * 技术委员会负责人/起草中心主任审核前( 合并至9) */ public class BussLibrary8Before implements TaskListener{ @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java index d66492d4..46612baf 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java @@ -67,7 +67,7 @@ public class BussLibrary9After implements TaskListener{ BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); // 评分存储 BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); - delegateTask.setVariable("bzFlag", 0); + delegateTask.setVariable("jsfzrFlag", 0); }else { throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); } @@ -86,7 +86,7 @@ public class BussLibrary9After implements TaskListener{ BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); - delegateTask.setVariable("bzFlag", 1); + delegateTask.setVariable("jsfzrFlag", 1); }else { throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java index b3ddccf3..e9ade23e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java @@ -61,16 +61,16 @@ public class BussLibraryProduct10After implements TaskListener{ if(StringUtils.isNotBlank(approvalOpinion)){ if ("0".equalsIgnoreCase(approvalOpinion)) { - if(StringUtils.isNotBlank(object.getString("bussUser11"))){ + if(StringUtils.isNotBlank(object.getString("bussUser12"))){ - if(object.getString("bussUser11").contains(",")){ - nextUserList = Arrays.asList(object.getString("bussUser11").split(",")); + if(object.getString("bussUser12").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser12").split(",")); }else { - nextUserList.add(object.getString("bussUser11")); + nextUserList.add(object.getString("bussUser12")); } BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); - delegateTask.setVariable("bussUser11",object.getString("bussUser11")); + delegateTask.setVariable("bussUser12",object.getString("bussUser12")); delegateTask.setVariable("bussP10Flag", 0); }else { throw new ActivitiException("1#2总院技术管理中心主任/各事业部主管标准业务高级经理参数不存在,请配置相关用户"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java index bfea2246..2b40337a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java @@ -70,8 +70,11 @@ public class BussLibraryProduct7After implements TaskListener{ nextUserList.add(object.getString("bussUser8")); } + // 配置多实例 + delegateTask.setVariable("bussUser8List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); - delegateTask.setVariable("bussUser8",object.getString("bussUser8")); delegateTask.setVariable("bussP7Flag", 0); }else { throw new ActivitiException("1#2总院标准法规部产品标准工程师/各事业部标准法规部参数不存在,请配置相关用户"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java index 70830156..00140b0d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java @@ -61,16 +61,19 @@ public class BussLibraryProduct8After implements TaskListener{ if(StringUtils.isNotBlank(approvalOpinion)){ if ("0".equalsIgnoreCase(approvalOpinion)) { - if(StringUtils.isNotBlank(object.getString("bussUser9"))){ + if(StringUtils.isNotBlank(object.getString("bussUser10"))){ - if(object.getString("bussUser9").contains(",")){ - nextUserList = Arrays.asList(object.getString("bussUser9").split(",")); + if(object.getString("bussUser10").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser10").split(",")); }else { - nextUserList.add(object.getString("bussUser9")); + nextUserList.add(object.getString("bussUser10")); } + // 配置多实例 + delegateTask.setVariable("bussUser10List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); - delegateTask.setVariable("bussUser9",object.getString("bussUser9")); delegateTask.setVariable("bussP8Flag", 0); }else { throw new ActivitiException("1#2总院标准法规部高级经理/各事业部标准业务/认证业务经理参数不存在,请配置相关用户"); From c841c116e7686c03ed177fbf8ee1a00057a02435 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Fri, 21 Jan 2022 19:15:41 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StandardCommentNewProcess/StartSurveyAfter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java index a8389200..090013e9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java @@ -1,7 +1,9 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.tmsps.fk.common.util.JsonUtil; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; @@ -130,6 +132,13 @@ public class StartSurveyAfter implements TaskListener { } catch (Exception e) { e.printStackTrace(); } + JSONArray res=new JSONArray(); + JSONArray object1=JSONArray.parseArray(object.getString("filesId")); + object1.forEach(o -> { + JSONObject object2=JSONObject.parseObject(o.toString()); + object2.put("standFileClassify",object.getString("textType")); + res.add(object2); + }); //发起公开征求意见 SarPublicIdea sarPublicIdea = SarPublicIdea.builder() .id(UUID.randomUUID().toString()) @@ -141,7 +150,7 @@ public class StartSurveyAfter implements TaskListener { .standType(object.getString("standType")) .standId(object.getString("standId")) .uniques(uniques) - .files(object.getString("filesId")) + .files(JsonUtil.toJson(res)) .filesName(object.getString("filesName")) .wkfiles(object.getJSONArray("modelList").toJSONString()) .build(); From f37965409698a920339ad08939b049f23a00986b Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sat, 22 Jan 2022 16:05:08 +0800 Subject: [PATCH 07/11] feat: There is no way the, --- .../listener/bussFs/BLApplicantAfter.java | 109 ++++++++++++++++++ .../listener/bussFs/BLApplicantBefore.java | 26 +++++ .../listener/bussFs/BussFsSub1After.java | 101 ++++++++++++++++ .../listener/bussFs/BussFsSub1Before.java | 68 +++++++++++ .../listener/bussFs/BussFsSub2After.java | 101 ++++++++++++++++ .../listener/bussFs/BussFsSub2Before.java | 65 +++++++++++ .../listener/bussLibrary/BussUtils.java | 29 +++++ 7 files changed, 499 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java new file mode 100644 index 00000000..eae54115 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.IBusProcessModelHisService; +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 org.apache.tomcat.util.digester.ArrayStack; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 发起企标复审流程后 + */ +public class BLApplicantAfter 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); + IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "企标复审流程-对接人选择复审人"; + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("bussFsSubUser1"))){ + + if(object.getString("bussFsSubUser1").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussFsSubUser1").split(",")); + }else { + nextUserList.add(object.getString("bussFsSubUser1")); + } + // 配置多实例 + delegateTask.setVariable("bussFsSubList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2对接人参数不存在,请配置相关用户"); + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java new file mode 100644 index 00000000..e1357465 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 发起企标复审流程前 + */ +public class BLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java new file mode 100644 index 00000000..c7d17e0a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 对接人选择复审人后 + */ +public class BussFsSub1After implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ + delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2")); + nextUserList.add(object.getString("bussFsSubUser2")); + }else { + throw new ActivitiException("1#2复审人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "企标复审流程-复审人选择复审结果"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java new file mode 100644 index 00000000..2f393cd6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java @@ -0,0 +1,68 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +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 BussFsSub1Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("BussFsSub1?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java new file mode 100644 index 00000000..d17f6007 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 复审人选择复审结果后 + */ +public class BussFsSub2After implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ + delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2")); + nextUserList.add(object.getString("bussFsSubUser2")); + }else { + throw new ActivitiException("1#2复审人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "企标复审流程-复审人选择复审结果"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java new file mode 100644 index 00000000..e042477b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java @@ -0,0 +1,65 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFsSub2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("BussFsSub1?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java index 186b5e0b..b8ef5126 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java @@ -37,6 +37,35 @@ public class BussUtils { evaluationHisService.save(evaluationHis); } + public static void endFunAll(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService,String prcType) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setPrcName(prcName); + one2.setOverTime(OVERTIME); + one2.setPrcType(prcType); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setMsgType("clause"); + one1.setPId(delegateTask.getProcessInstanceId()); + one1.setMesg(object.toJSONString()); + one1.setFinishFlag("0"); + one1.setTaskInfo(delegateTask.getName()); + one1.setPrcName(prcName); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + public static void endFunc2(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); From 91c8fcb364a2c0254f10034e2b99798ed0bb8e31 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Wed, 26 Jan 2022 20:39:08 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=A0=87=E5=87=86=E5=90=88=E8=A7=84?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E6=B5=81=E7=A8=8B=20=E5=8D=95=E7=BA=BF?= =?UTF-8?q?=E6=AD=A3=E6=83=B3=E8=B7=91=E9=80=9A=20=E6=97=A0=E6=95=B4?= =?UTF-8?q?=E6=94=B9=20=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PEPstartAfter.java | 125 +++++++++++++ .../PEPstartBefore.java | 13 ++ .../Step2After.java | 134 ++++++++++++++ .../Step2Before.java | 37 ++++ .../Step3After.java | 148 +++++++++++++++ .../Step3Before.java | 37 ++++ .../Step4After.java | 132 ++++++++++++++ .../Step4Before.java | 37 ++++ .../Step5After.java | 92 ++++++++++ .../Step5Before.java | 37 ++++ .../Step6After.java | 142 +++++++++++++++ .../Step6Before.java | 37 ++++ .../Step7After.java | 103 +++++++++++ .../Step7Before.java | 37 ++++ .../Step8After.java | 168 ++++++++++++++++++ .../Step8Before.java | 37 ++++ .../Step9After.java | 106 +++++++++++ .../Step9Before.java | 37 ++++ 18 files changed, 1459 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java new file mode 100644 index 00000000..4e6ef412 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java @@ -0,0 +1,125 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PEPstartAfter 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); + + //获取对象中的项目的数据 + delegateTask.setVariable("standsId",object.getString("standId")); + delegateTask.setVariable("standType",object.getString("standType")); + //业务经理Id + List nextUserList = new ArrayList(); + // bzywId 标准法规部业务经理 + delegateTask.setVariable("bzywId",object.getString("dockUser")); + nextUserList.add(object.getString("dockUser")); + //赋值标准法规部领导 最后一步审批用 + delegateTask.setVariable("DLUserIds", object.getString("ministerUser")); + + + delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); + delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); + + //认证工程师Id + delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer")); + //质量工程师Id + delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer")); + + Map> people_project=new HashMap<>(); + Map project_people=new HashMap<>(); + JSONArray array=object.getJSONArray("dataList"); + for (Object o:array) { + JSONObject jsonObject=JSONObject.parseObject(o.toString()); + if (null!=people_project.get(jsonObject.getString("projectGroupPeopleId"))){ + people_project.get("projectGroupPeopleId").add(jsonObject.getString("projectGroup")); + }else { + List strings=new ArrayList<>(); + strings.add(jsonObject.getString("projectGroup")); + people_project.put(jsonObject.getString("projectGroupPeopleId"),strings); + } + project_people.put(jsonObject.getString("projectGroup"),jsonObject.getString("projectGroupPeopleId")); + } + delegateTask.setVariable("project_people",project_people); + delegateTask.setVariable("people_project",people_project); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stands",object.getString("standNumber")); + String prcName = String.valueOf(object.getString("standNumber"))+"-标准项目合规评估流程-审核(标准法规业务经理)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (null != object.getString("commentText")) { + BusProcessNew busProcessNews = new BusProcessNew(); + busProcessNews.setMsgType("clause"); + busProcessNews.setPId(delegateTask.getProcessInstanceId()); + busProcessNews.setMesg(object.toJSONString()); + busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNews.setFinishFlag("0"); + busProcessNews.setTaskInfo(delegateTask.getName()); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setUserId("start"); + busProcessNews.setPrcName(prcName); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java new file mode 100644 index 00000000..2c45e726 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PEPstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java new file mode 100644 index 00000000..877ec64b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java @@ -0,0 +1,134 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_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.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 org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step2After 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); + Map map=new HashMap<>(); + List nextUserList=new ArrayList<>(); + if ("0".equals(object.getString("stepFlag"))){ + delegateTask.setVariable("Step2Flag","0"); + JSONArray jsonArray=object.getJSONArray("dataList"); + if (null!=jsonArray && jsonArray.size()>0){ + jsonArray.forEach(o -> { + JSONObject jsonObject=JSONObject.parseObject(o.toString()); + if (null!=map.get(jsonObject.getString("distributePersonId"))){ + map.get(jsonObject.getString("distributePersonId")).getJSONArray("dataList").add(jsonObject); + }else { + JSONObject object1=new JSONObject(); + object1= JSON.parseObject(object.toJSONString()); + JSONArray jsonArray1=new JSONArray(); + jsonArray1.add(jsonObject); + object1.put("dataList",jsonArray); + map.put(jsonObject.getString("distributePersonId"),object1); + nextUserList.add(jsonObject.getString("distributePersonId")); + } + }); + } + delegateTask.setVariable("zrIdLists",nextUserList); + }else { + delegateTask.setVariable("Step2Flag","1"); + delegateTask.setVariable("createId",delegateTask.getVariable("prcCreateUser",String.class)); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("0".equals(object.getString("stepFlag"))) { + prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-项目分发(项目群负责人/标准法规工程师)"; + }else { + prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-整改"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + if ("0".equals(object.getString("stepFlag"))){ + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(nextUser).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java new file mode 100644 index 00000000..dc6dadb3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step2Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep2?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java new file mode 100644 index 00000000..10015c8f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java @@ -0,0 +1,148 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import ch.qos.logback.core.joran.spi.ActionException; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.activiti.rest.exception.ActivitiConflictException; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step3After 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); + +// 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count1")){ + delegateTask.setVariable("count1",delegateTask.getVariable("count1",Integer.class)+1); + }else { + delegateTask.setVariable("count1",1); + } + + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("maps")){ + map=delegateTask.getVariable("maps",Map.class); + } + + List nextUserList=new ArrayList<>(); + JSONArray jsonArray=object.getJSONArray("dataList"); + if (null!=jsonArray && jsonArray.size()>0){ + for (Object s: jsonArray) { + JSONObject object1= JSON.parseObject(s.toString()); + if (null!=map.get(object1.getString("unameId"))){ + map.get(object1.getString("unameId")).getJSONArray("dataList"); + }else { + JSONObject object2=new JSONObject(); + object2=JSON.parseObject(object.toJSONString()); + JSONArray jsonArray1=new JSONArray(); + jsonArray1.add(object1); + object2.put("dataList",jsonArray1); + map.put(object1.getString("unameId"),object2); + nextUserList.add(object1.getString("unameId")); + } + } + } + delegateTask.setVariable("maps",map); + //处理下一步的经理问题 + if (null!=delegateTask.getVariable("managerIdList")){ + List old=delegateTask.getVariable("managerIdList",List.class); + old.forEach(s -> { + if (!nextUserList.contains(s)){ + nextUserList.add(s); + } + }); + delegateTask.setVariable("managerIdList",nextUserList); + }else { + delegateTask.setVariable("managerIdList",nextUserList); + } + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-任务分发(项目经理)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (delegateTask.getVariable("count1",Integer.class) >=delegateTask.getVariable("zrIdLists",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + JSONObject object1=JSON.parseObject(map.get(nextUser).toJSONString()); + JSONArray array=object1.getJSONArray("dataList"); + JSONArray array1=object1.getJSONArray("breakdownList"); + JSONArray res=new JSONArray(); + for (Object o:array) { + JSONObject object2=JSONObject.parseObject(o.toString()); + for (Object o2: array1 ) { + JSONObject object3=JSONObject.parseObject(o2.toString()); + object2.keySet().forEach(s -> { + object3.put(s,object2.getString(s)); + }); + res.add(object3); + } + } + object1.put("resDats",res); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object1.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java new file mode 100644 index 00000000..87b218ec --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step3Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java new file mode 100644 index 00000000..66f9eacb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java @@ -0,0 +1,132 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step4After implements TaskListener { + + + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + + List nextUserList=new ArrayList<>(); + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("map4")){ + map=delegateTask.getVariable("map4",Map.class); + } + // 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count2")){ + delegateTask.setVariable("count2",delegateTask.getVariable("count2",Integer.class)+1); + }else { + delegateTask.setVariable("count2",1); + } + List order =new ArrayList<>(); + JSONArray array=object.getJSONArray("dataList"); + if (null!=array && array.size()>0){ + for (Object o:array) { + JSONObject object1= JSON.parseObject(o.toString()); + if (null!=map.get(delegateTask.getAssignee()+"-"+object1.getString("implementerId"))){ + map.get(delegateTask.getAssignee()+"-"+object1.getString("implementerId")).getJSONArray("dataList").add(object1); + }else { + JSONObject object2=JSON.parseObject(object.toJSONString()); + JSONArray array1=new JSONArray(); + array1.add(object1); + object2.put("dataList",array1); + object2.put("keys",delegateTask.getAssignee()+"-"+object1.getString("implementerId")); + map.put(delegateTask.getAssignee()+"-"+object1.getString("implementerId"),object2); + nextUserList.add(object1.getString("implementerId")); + order.add(delegateTask.getAssignee()+"-"+object1.getString("implementerId")); + } + } + } + delegateTask.setVariable("map4",map); + if (null!=delegateTask.getVariable("jtzrIdList")){ + delegateTask.getVariable("jtzrIdList",List.class).addAll(nextUserList); + delegateTask.getVariable("order",List.class).addAll(order); + nextUserList=delegateTask.getVariable("jtzrIdList",List.class); + order=delegateTask.getVariable("order",List.class); + }else { + delegateTask.setVariable("jtzrIdList", nextUserList); + delegateTask.setVariable("order",order); + } + + + + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-合规评估(专业技术人员)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (delegateTask.getVariable("count2",Integer.class)>= delegateTask.getVariable("managerIdList",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + int i=0; + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(order.get(i)).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + i++; + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java new file mode 100644 index 00000000..660a6949 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step4Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java new file mode 100644 index 00000000..b263e68c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class Step5After implements TaskListener { + + + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + + List nextUserList=new ArrayList<>(); + if (null!=object.getString("keys")){ + String[] s=object.getString("keys").split("-"); + delegateTask.setVariable("ztManagerId",s[0]); + nextUserList.add(s[0]); + } + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-审核(项目经理)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java new file mode 100644 index 00000000..77e65a43 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step5Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java new file mode 100644 index 00000000..630d209f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java @@ -0,0 +1,142 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mysql.cj.xdevapi.JsonArray; +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.*; + +public class Step6After implements TaskListener { + + + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + + List nextUserList=new ArrayList<>(); + if (null!=delegateTask.getVariable("SDIdList")){ + nextUserList=delegateTask.getVariable("SDIdList",List.class); + } + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("res6")){ + map=delegateTask.getVariable("res6",Map.class); + } + Map project_people=delegateTask.getVariable("project_people",Map.class); + //子流程定义的计数器 + String[] s=object.getString("keys").split("-"); + if ("0".equals(object.getString("passFlag"))) { + if (null != delegateTask.getVariable("count6")) { + delegateTask.setVariable("count6", delegateTask.getVariable("count6", Integer.class) + 1); + } else { + delegateTask.setVariable("count6", 1); + } + JSONArray res=object.getJSONArray("dataList"); + if (null!=res && res.size()>0){ + for (Object o: res) { + JSONObject object1= JSON.parseObject(o.toString()); + String projectGroupId= String.valueOf(project_people.get(object1.getString("projectGroup"))); + if (null!=map.get(projectGroupId)){ + map.get(projectGroupId).getJSONArray("dataList").add(object1); + }else { + JSONObject object2=JSON.parseObject(object.toJSONString()); + JSONArray array=new JSONArray(); + array.add(object1); + object2.put("dataList",array); + map.put(projectGroupId,object2); + nextUserList.add(projectGroupId); + } + } + } + delegateTask.setVariable("SDIdList",nextUserList); + delegateTask.setVariable("passFlag","0"); + delegateTask.setVariable("res6",map); + }else { + nextUserList.add(s[1]); + delegateTask.setVariable("passFlag","1"); + } + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-审定(项目群负责人)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (delegateTask.getVariable("count6",Integer.class)>=delegateTask.getVariable("jtzrIdList",List.class).size()) { + for (String nextUser : map.keySet()) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(nextUser).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } else if ("1".equals(object.getString("passFlag"))) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java new file mode 100644 index 00000000..1ba0ebfb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step6Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java new file mode 100644 index 00000000..b90dedd4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step7After 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); + + // 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count7")){ + delegateTask.setVariable("count7",delegateTask.getVariable("count7",Integer.class)+1); + }else { + delegateTask.setVariable("count7",1); + } + JSONObject object1=new JSONObject(); + + List nextUserList=new ArrayList<>(); + delegateTask.setVariable("gjId",delegateTask.getVariable("DLUserIds",String.class)); + nextUserList.add(delegateTask.getVariable("DLUserIds",String.class)); + if (null!=delegateTask.getVariable("Step7Res")){ + object1=delegateTask.getVariable("Step7Res",JSONObject.class); + object1.getJSONArray("dataList").addAll(object.getJSONArray("dataList")); + }else { + object1=object; + delegateTask.setVariable("Step7Res",object1); + } + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-批准(标准法规部高级经理)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (delegateTask.getVariable("count7",Integer.class)>=delegateTask.getVariable("SDIdList",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java new file mode 100644 index 00000000..77084aea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step7Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java new file mode 100644 index 00000000..353f3f13 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java @@ -0,0 +1,168 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +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.StandProjectRelationDto; +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.*; + +public class Step8After 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); + 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); + + List nextUserList=new ArrayList<>(); + JSONArray array=object.getJSONArray("dataList"); + List sarStandUnqualifieds=new ArrayList<>(); + List productAssesses=new ArrayList<>(); + List standProjectRelationDtos = new ArrayList<>(); + for (Object o: array) { + JSONObject object1 = JSON.parseObject(o.toString()); + List projectnum=new ArrayList<>(Arrays.asList(object1.getString("projectNumber").split(","))); + List projectName=new ArrayList<>(Arrays.asList(object1.getString("projectName").split(","))); + int i=0; + for (String s:projectnum) { + if (null != object1.getString("noCompliance") && !"".equals(object1.getString("noCompliance"))) { + + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(delegateTask.getVariable("standsId", String.class)); + sarStandUnqualified.setStandSerialNumber(object.getString("standNumber")); + sarStandUnqualified.setStandName(object.getString("standName")); + sarStandUnqualified.setItemsNum(object1.getString("itemsNum")); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(object1.getString("itemsName")); + sarStandUnqualified.setProductLine(object1.getString("projectGroup")); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(projectName.get(i)); + sarStandUnqualified.setQaEngineer(delegateTask.getVariable("qualityEngineerName", String.class)); + sarStandUnqualified.setAuthEngineer(delegateTask.getVariable("certifiedEngineerName", String.class)); + sarStandUnqualified.setDutyEngineer(object1.getString("implementerId")); + sarStandUnqualified.setResponsibleUnit(object1.getString("responsibleUnit")); + sarStandUnqualified.setReason(object1.getString("noCompliance")); + sarStandUnqualified.setPlanCloseTime(object1.getDate("completionTime")); + sarStandUnqualified.setProductId(s); + sarStandUnqualifieds.add(sarStandUnqualified); + } + //合估评规 结果! + SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess(); + sarStandard.setProductName(projectName.get(i)); + sarStandard.setProductId(s); + sarStandard.setClauseName(object1.getString("itemsName")); + sarStandard.setProductLineId(object1.getString("projectGroup")); + sarStandard.setStandName(object.getString("standName")); + sarStandard.setStandNumber(object.getString("standNumber")); + sarStandard.setStandardItem(object1.getString("itemsName")); + sarStandard.setType(String.valueOf(UUID.randomUUID())); + sarStandard.setStandId(delegateTask.getVariable("standsId", String.class)); + sarStandard.setStandType(delegateTask.getVariable("standType", String.class)); + sarStandard.setInterpretationTime(delegateTask.getCreateTime()); + //111 + sarStandard.setProductionCompletionTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")), Date.class)); + sarStandard.setProductionCountermeasures(object1.getString("zcCountermeasures")); + sarStandard.setProductionNonCompliance(object1.getString("zcNoCompliance")); + sarStandard.setProductionCompliance(object1.getString("zcComplianceReasons")); + sarStandard.setResearchCompliance(object1.getString("complianceReasons")); + sarStandard.setResearchCompletionTime(object1.getDate("completionTime")); + sarStandard.setResearchCountermeasures(object1.getString("countermeasures")); + sarStandard.setResearchNonCompliance(object1.getString("noCompliance")); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setEvaluationPeople(object1.getString("implementer")); + sarStandard.setEvaluationPeopleName(object1.getString("implementerId")); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); + i++; + productAssesses.add(sarStandard); + } + + List strings=new ArrayList<>(Arrays.asList(object1.getString("projectIds").split(","))); + strings.forEach(s -> { + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(s); + standProjectRelationDto.setStandId(delegateTask.getVariable("standsId",String.class)); + if (!standProjectRelationDtos.contains(standProjectRelationDto)) { + standProjectRelationDtos.add(standProjectRelationDto); + } + }); + //数据归类 + } + //数据入库!!!! + lawsUserInfoService.batchInsert(standProjectRelationDtos); + lawsUserInfoService.addsarStandUnqualified(sarStandUnqualifieds); + lawsUserInfoService.addProduct(productAssesses); + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-标准法规部领导审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + 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); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java new file mode 100644 index 00000000..00416fa3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step8Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java new file mode 100644 index 00000000..9d6cad32 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class Step9After 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); + + //获取对象中的项目的数据 + delegateTask.setVariable("standsId",object.getString("standId")); + delegateTask.setVariable("standType",object.getString("standType")); + //业务经理Id + List nextUserList = new ArrayList(); + // bzywId 标准法规部业务经理 + delegateTask.setVariable("bzywId",object.getString("dockUser")); + nextUserList.add(object.getString("dockUser")); + //赋值标准法规部领导 最后一步审批用 + delegateTask.setVariable("DLUserIds", object.getString("ministerUser")); + + + delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); + delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); + + //认证工程师Id + delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer")); + //质量工程师Id + delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer")); + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stands",object.getString("standNumber")); + String prcName = String.valueOf(object.getString("standNumber"))+"-标准项目合规评估流程-审核(标准法规业务经理)"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (null != object.getString("commentText")) { + BusProcessNew busProcessNews = new BusProcessNew(); + busProcessNews.setMsgType("clause"); + busProcessNews.setPId(delegateTask.getProcessInstanceId()); + busProcessNews.setMesg(object.toJSONString()); + busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNews.setFinishFlag("0"); + busProcessNews.setTaskInfo(delegateTask.getName()); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setUserId("start"); + busProcessNews.setPrcName(prcName); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java new file mode 100644 index 00000000..37b9c42d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step9Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} From 86677a81d59633d81934b1d07741d0d24bbb3a40 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Thu, 27 Jan 2022 14:09:32 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E6=A0=87=E5=87=86=E8=AF=84=E4=BC=B0=20?= =?UTF-8?q?=E5=A4=9A=E9=A1=B9=E7=9B=AE=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wkflow/listener/projectEvaluationNewProcess/Step3After.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java index 10015c8f..225bc3a0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java @@ -59,7 +59,7 @@ public class Step3After implements TaskListener { for (Object s: jsonArray) { JSONObject object1= JSON.parseObject(s.toString()); if (null!=map.get(object1.getString("unameId"))){ - map.get(object1.getString("unameId")).getJSONArray("dataList"); + map.get(object1.getString("unameId")).getJSONArray("dataList").add(object1); }else { JSONObject object2=new JSONObject(); object2=JSON.parseObject(object.toJSONString()); From 53566a3b73a7c53a34cfe4b8e22692e7f3396b0f Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 27 Jan 2022 22:37:03 +0800 Subject: [PATCH 10/11] feat: There is no way the, --- .../BusProcessEvaluationHisController.java | 17 ++ .../datas/entity/BusProcessEvaluationHis.java | 4 + .../IBusProcessEvaluationHisService.java | 7 + .../BusProcessEvaluationHisServiceImpl.java | 99 +++++++++++- .../bussLibrary/BLApplicantC1After.java | 145 ++++++++++++++++++ .../bussLibrary/BLApplicantC1Before.java | 37 +++++ .../bussLibrary/BussLibrary6After.java | 5 +- .../bussLibrary/BussLibrary7After.java | 17 +- .../bussLibrary/BussLibrary8After.java | 2 +- .../bussLibrary/BussLibrary8Before.java | 2 +- .../bussLibrary/BussLibrary9After.java | 39 ++++- .../bussLibrary/BussLibrary9Before.java | 2 +- .../bussLibrary/BussLibraryC6After.java | 4 + 13 files changed, 357 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java index 8e6a9eb8..eafc5c51 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java @@ -27,6 +27,23 @@ public class BusProcessEvaluationHisController { @Autowired private IBusProcessEvaluationHisService busProcessEvaluationHisService; + @GetMapping("/evaluationHisListRepSum") + public Map evaluationHisListRepSum(String pid) { + return busProcessEvaluationHisService.evaluationHisListRepSum(pid); + } + + @GetMapping("/evaluationHisListByOne") + public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo) { + BusProcessEvaluationHis processEvaluationHis = busProcessEvaluationHisService.evaluationHisListByOne(pid,taskInfo); + return processEvaluationHis; + } + + @GetMapping("/evaluationHisListRep") + public List evaluationHisListRep(String pid) { + List processEvaluationHis = busProcessEvaluationHisService.evaluationHisListRep(pid); + return processEvaluationHis; + } + @GetMapping("/evaluationHisList") public List evaluationHisList(String pid) { List processEvaluationHis = busProcessEvaluationHisService.evaluationHisList(pid); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java index 3f0dccfa..f94891b2 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java @@ -74,5 +74,9 @@ public class BusProcessEvaluationHis implements Serializable { @TableField("FLAG") private String flag; + @ApiModelProperty(value = "处理人姓名") + @TableField(exist = false) + private String userName; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java index 2aae5113..cb96b3f7 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; import java.util.List; +import java.util.Map; /** *

@@ -15,5 +16,11 @@ import java.util.List; */ public interface IBusProcessEvaluationHisService extends IService { + Map evaluationHisListRepSum(String pid); + + BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo); + + List evaluationHisListRep(String pid); + List evaluationHisList(String pid); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java index 74668ae4..7f32880b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java @@ -1,15 +1,23 @@ 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_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper; import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; +import com.ydw.bat.wkflow.util.Utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -22,6 +30,95 @@ import java.util.List; @Service public class BusProcessEvaluationHisServiceImpl extends ServiceImpl implements IBusProcessEvaluationHisService { + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @Override + public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.like("TASK_INFO",taskInfo); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + BusProcessEvaluationHis his = new BusProcessEvaluationHis(); + if(!list.isEmpty()){ + his = list.get(0); + } + return his; + } + + @Override + public Map evaluationHisListRepSum(String pid){ + Map map = new HashMap<>(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = list.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId()))); + + if(!listMap.isEmpty()){ + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + evaluationHis.add(value.get(0)); + } + }); + } + + Map> listMapFilter = new TreeMap<>(); + listMapFilter = evaluationHis.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo()))); + if(!listMapFilter.isEmpty()){ + listMapFilter.forEach((key, value) -> { + if(!value.isEmpty()){ + int sum = 0; + for (BusProcessEvaluationHis his : value) { + List valueArr = JSONArray.parseArray(his.getMesg(),JSONObject.class); + if(!valueArr.isEmpty()){ + sum = sum + Integer.parseInt(valueArr.get(0).getString("sum").trim()); + } + } + String keyV = value.get(0).getTaskInfo(); + int ave = value.size(); + map.put(keyV,sum/ave); + } + }); + } + return map; + } + + @Override + public List evaluationHisListRep(String pid){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = list.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId()))); + + if(!listMap.isEmpty()){ + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + ResponseMessage byId = lawsUserInfoService.getById(value.get(0).getUserId()); + value.get(0).setUserName(byId == null ? "" : byId.getData().getUname()); + evaluationHis.add(value.get(0)); + } + }); + } + + if(!evaluationHis.isEmpty()){ + evaluationHis.sort(Comparator.comparing(BusProcessEvaluationHis::getCreateTime).reversed().thenComparing(BusProcessEvaluationHis::getTaskInfo)); + } + return evaluationHis; + } @Override public List evaluationHisList(String pid){ diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java new file mode 100644 index 00000000..7739a569 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java @@ -0,0 +1,145 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +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.IBusProcessModelHisService; +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 org.apache.tomcat.util.digester.ArrayStack; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 重新发起企标制修订流程后 + */ +public class BLApplicantC1After 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); + IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName"))){ + prcName = object.getString("standName") + "-企标制修订-技术标准"; + }else { + prcName = "企标制修订-技术标准"; + } + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("qcUserId"))){ + + if(object.getString("qcUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("qcUserId").split(",")); + }else { + nextUserList.add(object.getString("qcUserId")); + } + // 配置多实例 + delegateTask.setVariable("qcUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); + } + // 下个节点执行人处理逻辑 +// List finalNextUserList = new ArrayList(); +// List busProcessModelHisList = new ArrayList<>(); +// if(StringUtils.isNotBlank(object.getString("modelData"))){ +// List valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class); +// Map> listMap = valueArr.stream().collect( +// Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId")))); +// listMap.forEach((s, jsonObjects) -> { +// String json = JSONArray.toJSONString(jsonObjects); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(json); +// modelHis.setUserId(s); +// modelHis.setPrcName(prcName); +// modelHis.setEditType("node"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// busProcessModelHisList.add(modelHis); +// finalNextUserList.add(s); +// }); +// // 配置多实例 +// delegateTask.setVariable("qcUserList",finalNextUserList); +// delegateTask.addCandidateUsers(finalNextUserList); +// }else { +// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); +// } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.save(busProcessNew); + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +// if(!busProcessModelHisList.isEmpty()){ +// busProcessModelHisService.saveBatch(busProcessModelHisList); +// } + + // 生成 模板 +// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java new file mode 100644 index 00000000..5b0b04fd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +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 BLApplicantC1Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryC1?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java index 03a9f913..353051df 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java @@ -88,10 +88,9 @@ public class BussLibrary6After implements TaskListener{ busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); - - // 评分存储 - BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); } + // 评分存储 + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java index 4d21bec3..0abcd2ad 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -68,20 +68,17 @@ public class BussLibrary7After implements TaskListener{ if(StringUtils.isNotBlank(approvalOpinion)){ if ("0".equalsIgnoreCase(approvalOpinion)) { - if(StringUtils.isNotBlank(object.getString("bzUserId"))){ + if(StringUtils.isNotBlank(object.getString("jsfzrUserId"))){ - if(object.getString("bzUserId").contains(",")){ - nextUserList = Arrays.asList(object.getString("bzUserId").split(",")); - }else { - nextUserList.add(object.getString("bzUserId")); - } - // 配置多实例 - delegateTask.setVariable("bzUserIdList",nextUserList); - delegateTask.addCandidateUsers(nextUserList); + delegateTask.setVariable("jsfzrUserId",object.getString("jsfzrUserId")); + nextUserList.add(object.getString("jsfzrUserId")); BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); // 评分存储 - BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){ + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + } + delegateTask.setVariable("fs7Flag", 0); }else { throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java index cb476a9e..be813200 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java @@ -18,7 +18,7 @@ import java.util.ArrayList; import java.util.List; /** - * 技术委员会负责人/起草中心主任审核后( 合并至9) + * 起草单位高级经理(技术委员会负责人/起草中心主任)审核后( 合并至9 又重新启用) */ public class BussLibrary8After implements TaskListener{ @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java index 50cecd5c..1a8e8d55 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java @@ -11,7 +11,7 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; /** - * 技术委员会负责人/起草中心主任审核前( 合并至9) + * 技术委员会负责人/起草中心主任审核(起草单位高级经理)前( 合并至9 又重新启用) */ public class BussLibrary8Before implements TaskListener{ @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java index 46612baf..8fee50ae 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java @@ -18,7 +18,7 @@ import java.util.ArrayList; import java.util.List; /** - * 标准法规部部长审核后 + * 标准法规部高级经理(标准法规部部长)审核后 */ public class BussLibrary9After implements TaskListener{ @Override @@ -65,13 +65,18 @@ public class BussLibrary9After implements TaskListener{ nextUserList.add(object.getString("fzrUserId")); BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + // 评分存储 - BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); - delegateTask.setVariable("jsfzrFlag", 0); + if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){ + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + } + + delegateTask.setVariable("bzFlag", 0); }else { throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); } - } else { + } else if ("1".equalsIgnoreCase(approvalOpinion)){ + // 其他问题 if(StringUtils.isNotBlank(object.getString("xdUserId"))) { BusProcessNew busProcessNew = new BusProcessNew(); busProcessNew.setMsgType("clause"); @@ -84,9 +89,31 @@ public class BussLibrary9After implements TaskListener{ busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); - BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); - delegateTask.setVariable("jsfzrFlag", 1); + delegateTask.setVariable("bzFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + }else if ("2".equalsIgnoreCase(approvalOpinion)){ + // 质量问题 + if(StringUtils.isNotBlank(object.getString("cfqUserId"))) { + 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("cfqUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + + delegateTask.setVariable("cfqUserId",object.getString("cfqUserId")); + delegateTask.setVariable("bzFlag", 2); }else { throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java index 6a60c078..1f00a5e8 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java @@ -11,7 +11,7 @@ import org.activiti.engine.delegate.TaskListener; import java.util.List; /** - * 标准法规部部长审核前 + * 标准法规部高级经理(标准法规部部长)审核前 */ public class BussLibrary9Before implements TaskListener{ @Override diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java index 90d1e3ab..672d62cf 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java @@ -105,6 +105,10 @@ public class BussLibraryC6After implements TaskListener{ busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); } + // 评分存储 + if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")) { + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + } } } } From 3705d691d1db9e676a433597a289e69259ddcd89 Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Fri, 28 Jan 2022 10:58:55 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E6=A0=87=E5=87=86=E8=AF=84=E4=BC=B0?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=95=B4=E6=94=B9=20=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=A1=A5=E5=85=A8=20=E5=92=8C=20=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=AE=8C=E6=88=90=E6=97=B6=E9=97=B4=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/projectEvaluationNewProcess/Step8After.java | 1 + .../listener/projectEvaluationNewProcess/Step9After.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java index 353f3f13..87fea41f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java @@ -131,6 +131,7 @@ public class Step8After implements TaskListener { queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { + one1.setOverTime(OVERTIME); one1.setPrcType("5"); one1.setPrcName(prcName); one1.setCreatUser(user); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java index 9d6cad32..c74072f3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java @@ -70,6 +70,9 @@ public class Step9After implements TaskListener { one1.setPrcName(prcName); one1.setCreatUser(user); one1.setCreatUserName(username); + if (null!=object.getJSONObject("newText")){ + one1.setMes(object.getJSONObject("newText").toJSONString()); + } busProcessNameService.saveOrUpdate(one1); }