lyh
2025-04-17 bb696e8e702854b62b144b22e20e36981301e6cf
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java
@@ -668,6 +668,26 @@
        flowTaskVo.setTaskId(business.getTaskId());
        return findReturnTaskList(flowTaskVo);
    }
    /**
     * 结束流程
     * @param processInstanceId 流程实例 ID
     * @param deleteReason 定义删除原因
     */
    public Result<?> end(String processInstanceId, String deleteReason) {
        try {
            // 强制结束流程实例
            runtimeService.deleteProcessInstance(processInstanceId, deleteReason);
            System.out.println("Process instance with ID " + processInstanceId + " has been forcefully ended.");
        } catch (Exception e) {
            System.err.println("Failed to force end process instance: " + e.getMessage());
        }
        // 关闭流程引擎
        processEngine.close();
        return Result.OK("流程已结束");
    }
    /**
     * 获取所有可回退的节点
     *
@@ -1050,6 +1070,13 @@
            flowTaskDto.setStartUserName(startUser.getRealname());
            List<String> departNamesByUsername = iFlowThirdService.getDepartNamesByUsername(historicProcessInstance.getStartUserId());
            flowTaskDto.setStartDeptName(CollUtil.join(departNamesByUsername,","));
            if (flowTaskDto.getTodoUsers() == null){
                flowTaskDto.setTodoUsers("");
            }else {
                //去除[]
                flowTaskDto.setTodoUsers(flowTaskDto.getTodoUsers().replaceAll("\\[", "").replaceAll("\\]", ""));
                flowTaskDto.setTodoUsers(flowTaskDto.getTodoUsers().replaceAll("\"", ""));
            }
        });
        IPage<FlowTaskDto> flowTaskDtoIPage = new Page<>();
        flowTaskDtoIPage.setRecords(list);