From a36c566ee372299b5c19c6e5c0bfc756b1c6635e Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 14 五月 2025 17:52:31 +0800 Subject: [PATCH] art: 设备管理-我的已办-查询修改 --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java index 99738f1..5fd4330 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java @@ -668,6 +668,30 @@ flowTaskVo.setTaskId(business.getTaskId()); return findReturnTaskList(flowTaskVo); } + + /** + * 缁撴潫娴佺▼ + * @param processInstanceId 娴佺▼瀹炰緥 ID + * @param deleteReason 瀹氫箟鍒犻櫎鍘熷洜 + */ + public Result<?> end(String processInstanceId, String deleteReason) { + try { + // 寮哄埗缁撴潫娴佺▼瀹炰緥 + runtimeService.deleteProcessInstance(processInstanceId, deleteReason); + // 鍒犻櫎鍏宠仈娴佺▼鐨勪笟鍔� + FlowMyBusiness flowMyBusiness=flowMyBusinessService.getFlowMyBusiness(processInstanceId); + flowMyBusinessService.removeById(flowMyBusiness.getId()); + 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("娴佺▼宸茬粨鏉�"); + } + + /** * 鑾峰彇鎵�鏈夊彲鍥為��鐨勮妭鐐� * @@ -1045,11 +1069,18 @@ HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(flowTaskDto.getProcInsId()) .singleResult(); - SysUser startUser = iFlowThirdService.getUserByUsername(historicProcessInstance.getStartUserId()); - flowTaskDto.setStartUserId(startUser.getUsername()); - flowTaskDto.setStartUserName(startUser.getRealname()); - List<String> departNamesByUsername = iFlowThirdService.getDepartNamesByUsername(historicProcessInstance.getStartUserId()); - flowTaskDto.setStartDeptName(CollUtil.join(departNamesByUsername,"锛�")); + if(historicProcessInstance != null) { + SysUser startUser = iFlowThirdService.getUserByUsername(historicProcessInstance.getStartUserId()); + if(startUser == null) { + flowTaskDto.setStartUserId(""); + flowTaskDto.setStartUserName(""); + }else { + flowTaskDto.setStartUserId(startUser.getUsername()); + flowTaskDto.setStartUserName(startUser.getRealname()); + } + List<String> departNamesByUsername = iFlowThirdService.getDepartNamesByUsername(historicProcessInstance.getStartUserId()); + flowTaskDto.setStartDeptName(CollUtil.join(departNamesByUsername,"锛�")); + } }); IPage<FlowTaskDto> flowTaskDtoIPage = new Page<>(); flowTaskDtoIPage.setRecords(list); -- Gitblit v1.9.3