mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-29 22:56:40 +08:00
Merge branch 'future/flowable' of https://gitee.com/dromara/RuoYi-Vue-Plus into future/flowable
This commit is contained in:
commit
c28c6ba4c4
2
pom.xml
2
pom.xml
@ -59,7 +59,7 @@
|
||||
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
|
||||
|
||||
<!--工作流配置-->
|
||||
<flowable.version>7.0.0.M1</flowable.version>
|
||||
<flowable.version>7.0.0.M2</flowable.version>
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
|
@ -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("流程状态为空!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionSer
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceException("操作失败");
|
||||
throw new ServiceException("操作失败:"+e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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,12 +307,15 @@ public class WorkflowUtils {
|
||||
*/
|
||||
public static void setProcessInstanceListVo(Object obj, List<String> idList, String fieldName) {
|
||||
List<ActHiProcinst> 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();
|
||||
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);
|
||||
@ -325,10 +327,6 @@ public class WorkflowUtils {
|
||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstanceVo.getBusinessStatus()));
|
||||
ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceException(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user