From 0ecd5acd3b9f320a487c68df2ea6234b4dacb12c Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期日, 20 七月 2025 13:24:54 +0800 Subject: [PATCH] 增加流程查询接口 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 48 insertions(+), 3 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java index f742e48..1dee81f 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java @@ -7,13 +7,18 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; +import org.flowable.engine.task.Comment; +import org.flowable.task.api.history.HistoricTaskInstance; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO; +import org.springblade.mdm.flow.service.ApproveRecordService; import org.springblade.mdm.flow.service.FlowBusinessService; import org.springblade.mdm.flow.vo.FlowVO; import org.springblade.mdm.flow.vo.OvertimeTaskExcelVO; @@ -36,6 +41,11 @@ private TaskService taskService; @Autowired private FlowBusinessService businessService; + + @Autowired + private HistoryService historyService; + @Autowired + private RuntimeService runtimeService; @GetMapping("overtime-list") @ApiOperationSupport(order = 3) @@ -65,10 +75,45 @@ } - + @Operation(summary = "娴佺▼鎵ц杞ㄨ抗", description = "娴佺▼鎵ц杞ㄨ抗") @GetMapping("process-trace") - public R<List<TaskTraceVO>> processTrace(long processInstanceId){ - return R.data(Collections.emptyList()); + public R<List<TaskTraceVO>> processTrace(String processInstanceId){ + List<TaskTraceVO> result = new ArrayList<>(); + List<HistoricTaskInstance> hisTasks = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(processInstanceId).orderByTaskCreateTime().desc().list(); +// 鎵规敞淇℃伅 + List<Comment> comments; + for (HistoricTaskInstance hisTask : hisTasks) { + TaskTraceVO vo = new TaskTraceVO(); + BeanUtils.copyProperties(hisTask, vo); + comments = taskService.getTaskComments(hisTask.getId()); + if(!comments.isEmpty()) { + vo.setComment(comments.get(0).getFullMessage()); + } + result.add(vo); + } + + return R.data(result); + } + + @GetMapping("search-list") + @ApiOperationSupport(order = 3) + @Operation(summary = "娴佺▼鏌ヨ", description = "鏌ヨ杩涜涓殑鎵�鏈夋祦绋�") + public R<IPage<FlowVO>> overtimeList(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") LocalDate createTimeBegin, @Parameter(description = "浠诲姟鍒拌揪鏃堕棿鎴")LocalDate createTimeEnd, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) { + IPage<FlowVO> pages = businessService.selectSearchPage(Condition.getPage(query), createTimeBegin,createTimeEnd,keyword); + return R.data(pages); + } + + @PostMapping("delete-instance") + @Operation(summary = "娴佺▼鍒犻櫎", description = "鍒犻櫎id鎸囧畾鐨勬祦绋嬪疄渚�") + public R<Void> deleteInstance(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") String processInstancesId) { + try { + runtimeService.deleteProcessInstance(processInstancesId, "娴佺▼鏌ヨ-鍒犻櫎"); + } catch (Exception e) { + log.error("鍒犻櫎娴佺▼澶辫触",e); + return R.fail(e.getMessage()); + } + return R.success(); } -- Gitblit v1.9.3