diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java index 01345c33..97b0ec84 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java @@ -31,7 +31,7 @@ public class WfTaskController { private final IWfTaskService flowTaskService; /** - * 取消申请 + * 取消流程 */ @PostMapping(value = "/stopProcess") @SaCheckPermission("workflow:process:cancel") diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java index 2ba790a8..993f8904 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java @@ -386,8 +386,8 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ */ @Override public void stopProcess(WfTaskBo bo) { - List task = taskService.createTaskQuery().processInstanceId(bo.getProcInsId()).list(); - if (CollectionUtils.isEmpty(task)) { + List taskList = taskService.createTaskQuery().processInstanceId(bo.getProcInsId()).list(); + if (CollectionUtils.isEmpty(taskList)) { throw new RuntimeException("流程未启动或已执行完成,取消申请失败"); } @@ -399,8 +399,10 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ List endNodes = process.findFlowElementsOfType(EndEvent.class, false); if (CollectionUtils.isNotEmpty(endNodes)) { Authentication.setAuthenticatedUserId(TaskUtils.getUserId()); -// taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.STOP.getType(), -// StringUtils.isBlank(flowTaskVo.getComment()) ? "取消申请" : flowTaskVo.getComment()); + runtimeService.setVariable(processInstance.getId(), ProcessConstants.PROCESS_STATUS_KEY, ProcessStatus.CANCELED.getStatus()); + for (Task task : taskList) { + taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.STOP.getType(), "取消流程"); + } // 获取当前流程最后一个节点 String endId = endNodes.get(0).getId(); List executions = runtimeService.createExecutionQuery()