From fe001cbc2a1c70c0b1772bb0ef2ff2f42802d04f Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 25 Jan 2024 10:57:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B5=81=E7=A8=8B=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99process=5Fall=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=83=A8=E5=88=B0prc=5Ftype?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/modules/activiti/enums/ProcessTypeEnum.java | 5 ++++- .../modules/activiti/listener/MyGlobalEventListener.java | 4 ++-- .../com/jero/modules/activiti/listener/StartListener.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java index 5c275958..588aba67 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java @@ -58,11 +58,14 @@ public enum ProcessTypeEnum { return null; } - public static Integer getValueByName(String name) { + public static Integer getValueByName(String name, String processDefinitionId) { for (ProcessTypeEnum enumObject : values()) { if (enumObject.getName().equals(name)) { return enumObject.getValue(); } + if (processDefinitionId.contains(enumObject.toString().toLowerCase().replace("_", "-"))) { + return enumObject.getValue(); + } } return null; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java index b52985bb..5bc1d2ea 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java @@ -90,7 +90,7 @@ public class MyGlobalEventListener implements ActivitiEventListener { processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN)); processAll.setProcessDefinitionId(processDefinitionId); processAll.setProcessInstanceId(processInstanceId); - processAll.setPrcType(ProcessTypeEnum.getValueByName(name)); + processAll.setPrcType(ProcessTypeEnum.getValueByName(name, processDefinitionId)); processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue()); processAllService.save(processAll); log.info("id = " + execution.getId()); @@ -249,7 +249,7 @@ public class MyGlobalEventListener implements ActivitiEventListener { .eq(ProcessAll::getProcessInstanceId, processInstanceId)); ProcessNodeService processNodeService = SpringContextUtil.getBean(ProcessNodeService.class); // 企标复审流程前两个节点都要视为第一个节点 - if (process.getPrcType().equals(ProcessTypeEnum.ES_RECHECK.getValue())) { + if (process.getPrcType() != null && process.getPrcType().equals(ProcessTypeEnum.ES_RECHECK.getValue())) { List nodeList = processNodeService.list(new LambdaQueryWrapper() .eq(ProcessNode::getProcessDefinitionId, process.getProcessDefinitionId()) .eq(ProcessNode::getSort, 2)); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/listener/StartListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/listener/StartListener.java index 0204a165..10b2f9bd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/listener/StartListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/listener/StartListener.java @@ -37,7 +37,7 @@ public class StartListener implements ExecutionListener { //新增流程总表信息(剩余的内容在启动流程时填充) ProcessAll processAll = new ProcessAll(); processAll.setProcessInstanceId(processInstanceId); - processAll.setPrcType(ProcessTypeEnum.getValueByName(name)); + processAll.setPrcType(ProcessTypeEnum.getValueByName(name, processDefinitionId)); processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue()); processAllService.save(processAll); }