yangys
2025-06-17 ceb4fde6edb1f73bc45f54129432ec8068875b6d
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
@@ -7,7 +7,10 @@
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.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;
@@ -37,6 +40,9 @@
   @Autowired
   private FlowBusinessService businessService;
   @Autowired
   private HistoryService historyService;
   @GetMapping("overtime-list")
   @ApiOperationSupport(order = 3)
   @Operation(summary = "超时查询", description = "查询所有超时任务")
@@ -65,10 +71,25 @@
   }
   @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);
   }