From 9cb54ea8879b173b750aa3568a58e0f40c79002e Mon Sep 17 00:00:00 2001
From: songgaoshuai <1742057357@qq.com>
Date: Thu, 14 Sep 2023 16:16:06 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E5=8D=87=E7=BA=A7flowable=E5=88=B07.0?=
=?UTF-8?q?.0.M2=EF=BC=8C=E8=B0=83=E6=95=B4=E5=B7=A5=E4=BD=9C=E6=B5=81?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=A0=A1=E9=AA=8C=EF=BC=8C=E8=B0=83=E6=95=B4?=
=?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=B7=A5=E5=85=B7=E7=B1=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../common/enums/BusinessStatusEnum.java | 29 ++++++++------
.../impl/ActProcessDefinitionServiceImpl.java | 2 +-
.../impl/ActProcessInstanceServiceImpl.java | 2 +-
.../dromara/workflow/utils/WorkflowUtils.java | 38 +++++++++----------
5 files changed, 38 insertions(+), 35 deletions(-)
diff --git a/pom.xml b/pom.xml
index 21077fdbe..9c50c62cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
1.3.0
- 7.0.0.M1
+ 7.0.0.M2
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java
index fbb32ccef..86be522a4 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java
@@ -1,9 +1,10 @@
package org.dromara.workflow.common.enums;
+import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.exception.ServiceException;
+import org.dromara.common.core.utils.StringUtils;
/**
* 业务状态枚举
@@ -59,7 +60,7 @@ public enum BusinessStatusEnum {
*/
public static String getEumByStatus(String status) {
if (StringUtils.isBlank(status)) {
- return null;
+ return StrUtil.EMPTY;
}
for (BusinessStatusEnum statusEnum : BusinessStatusEnum.values()) {
@@ -67,7 +68,7 @@ public enum BusinessStatusEnum {
return statusEnum.getDesc();
}
}
- return null;
+ return StrUtil.EMPTY;
}
/**
@@ -76,14 +77,16 @@ public enum BusinessStatusEnum {
* @param status 状态
*/
public static void checkStartStatus(String status) {
- if (status.equals(WAITING.getStatus())) {
+ if (WAITING.getStatus().equals(status)) {
throw new ServiceException("该单据已提交过申请,正在审批中!");
- } else if (status.equals(FINISH.getStatus())) {
+ } else if (FINISH.getStatus().equals(status)) {
throw new ServiceException("该单据已完成申请!");
- } else if (status.equals(INVALID.getStatus())) {
+ } else if (INVALID.getStatus().equals(status)) {
throw new ServiceException("该单据已作废!");
- } else if (status.equals(TERMINATION.getStatus())) {
+ } else if (TERMINATION.getStatus().equals(status)) {
throw new ServiceException("该单据已终止!");
+ } else if (StringUtils.isBlank(status)) {
+ throw new ServiceException("流程状态为空!");
}
}
@@ -93,16 +96,18 @@ public enum BusinessStatusEnum {
* @param status 状态
*/
public static void checkStatus(String status) {
- if (status.equals(FINISH.getStatus())) {
+ if (FINISH.getStatus().equals(status)) {
throw new ServiceException("该单据已完成申请!");
- } else if (status.equals(INVALID.getStatus())) {
+ } else if (INVALID.getStatus().equals(status)) {
throw new ServiceException("该单据已作废!");
- } else if (status.equals(CANCEL.getStatus())) {
+ } else if (CANCEL.getStatus().equals(status)) {
throw new ServiceException("该单据已撤销!");
- } else if (status.equals(BACK.getStatus())) {
+ } else if (BACK.getStatus().equals(status)) {
throw new ServiceException("该单据已退回!");
- } else if (status.equals(TERMINATION.getStatus())) {
+ } else if (TERMINATION.getStatus().equals(status)) {
throw new ServiceException("该单据已终止!");
+ } else if (StringUtils.isBlank(status)) {
+ throw new ServiceException("流程状态为空!");
}
}
}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
index 132cce17d..34f65f5d3 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
@@ -205,7 +205,7 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionSer
return true;
} catch (Exception e) {
e.printStackTrace();
- throw new ServiceException("操作失败");
+ throw new ServiceException("操作失败:"+e.getMessage());
}
}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java
index bc8b791e4..5e4776b92 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java
@@ -240,7 +240,7 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
try {
actHistoryInfoVo.setAssignee(StringUtils.isNotBlank(historicTaskInstance.getAssignee()) ? Long.valueOf(historicTaskInstance.getAssignee()) : null);
} catch (NumberFormatException ignored) {
-
+ log.warn("当前任务【{}】,办理人转换人员ID【{}】异常!", historicTaskInstance.getName(), historicTaskInstance.getAssignee());
}
actHistoryInfoVoList.add(actHistoryInfoVo);
}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
index 14287ca2d..3e0e49f05 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
@@ -6,7 +6,6 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
@@ -308,26 +307,25 @@ public class WorkflowUtils {
*/
public static void setProcessInstanceListVo(Object obj, List idList, String fieldName) {
List actHiProcinstList = I_ACT_HI_PROCINST_SERVICE.selectByBusinessKeyIn(idList);
- if (obj instanceof Collection) {
- Collection> collection = (Collection>) obj;
+ if (obj instanceof Collection> collection) {
for (Object o : collection) {
- if (o != null) {
- try {
- String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString();
- ActHiProcinst actHiProcinst = actHiProcinstList.stream().filter(e -> e.getBusinessKey().equals(fieldValue)).findFirst().orElse(null);
- if (ObjectUtil.isNotEmpty(actHiProcinst)) {
- ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
- processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
- ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
- } else {
- ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
- processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
- processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
- ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new ServiceException(e.getMessage());
+ String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString();
+ if (CollUtil.isEmpty(actHiProcinstList)) {
+ ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
+ processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
+ processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
+ ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
+ } else {
+ ActHiProcinst actHiProcinst = actHiProcinstList.stream().filter(e -> e.getBusinessKey().equals(fieldValue)).findFirst().orElse(null);
+ if (ObjectUtil.isNotEmpty(actHiProcinst)) {
+ ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
+ processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
+ ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
+ } else {
+ ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
+ processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
+ processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
+ ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
}
}
}