From 9f09083247ea96d01fd522aff30a2d0735d790bc Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期二, 12 三月 2024 21:33:39 +0800 Subject: [PATCH] fix 修复选择一人时还需要认领问题 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) 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 daf40ec..3f8678a 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 @@ -60,7 +60,6 @@ import java.util.*; import java.util.stream.Collectors; - /** * 娴佺▼瀹炰緥 鏈嶅姟灞傚疄鐜� * @@ -282,6 +281,7 @@ for (HistoricTaskInstance historicTaskInstance : list) { ActHistoryInfoVo actHistoryInfoVo = new ActHistoryInfoVo(); BeanUtils.copyProperties(historicTaskInstance, actHistoryInfoVo); + actHistoryInfoVo.setAssignee(StringUtils.isNotBlank(historicTaskInstance.getAssignee()) ? Long.valueOf(historicTaskInstance.getAssignee()) : null); actHistoryInfoVo.setStatus(actHistoryInfoVo.getEndTime() == null ? "寰呭鐞�" : "宸插鐞�"); if (ObjectUtil.isNotEmpty(historicTaskInstance.getDurationInMillis())) { actHistoryInfoVo.setRunDuration(getDuration(historicTaskInstance.getDurationInMillis())); @@ -464,10 +464,8 @@ for (Task task : StreamUtils.filter(list, e -> StringUtils.isBlank(e.getParentTaskId()))) { taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.INVALID.getStatus(), deleteReason); } - HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(processInvalidBo.getProcessInstanceId()).singleResult(); - if (ObjectUtil.isNotEmpty(historicProcessInstance) && BusinessStatusEnum.FINISH.getStatus().equals(historicProcessInstance.getBusinessStatus())) { - throw new ServiceException("璇ュ崟鎹凡瀹屾垚鐢宠锛�"); - } + HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(processInvalidBo.getProcessInstanceId()).singleResult(); + BusinessStatusEnum.checkInvalidStatus(historicProcessInstance.getBusinessStatus()); runtimeService.updateBusinessStatus(processInvalidBo.getProcessInstanceId(), BusinessStatusEnum.INVALID.getStatus()); runtimeService.deleteProcessInstance(processInvalidBo.getProcessInstanceId(), deleteReason); FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(historicProcessInstance.getProcessDefinitionKey()); @@ -577,9 +575,7 @@ if (processInstance.isSuspended()) { throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); } - if (BusinessStatusEnum.CANCEL.getStatus().equals(processInstance.getBusinessStatus())) { - throw new ServiceException("璇ュ崟鎹凡鎾ら攢锛�"); - } + BusinessStatusEnum.checkCancelStatus(processInstance.getBusinessStatus()); List<Task> taskList = QueryUtils.taskQuery(processInstanceId).list(); for (Task task : taskList) { taskService.setAssignee(task.getId(), String.valueOf(LoginHelper.getUserId())); -- Gitblit v1.9.3