yangys
2025-08-30 86c8efdb19a2f4be79a947650ef62ed79382011b
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
@@ -10,6 +10,7 @@
import org.flowable.engine.history.HistoricProcessInstanceQuery;
import org.flowable.engine.task.Comment;
import org.flowable.task.api.Task;
import org.flowable.task.api.TaskInfo;
import org.flowable.task.api.TaskInfoQuery;
import org.flowable.task.api.TaskQuery;
import org.flowable.task.api.history.HistoricTaskInstance;
@@ -44,11 +45,19 @@
public class DoneQueryService {
   private final FlowProgramFileService flowProgramFileService;
   private final HistoryService historyService;
   private final IUserClient userClient;
   private final FlowCommonService flowCommonService;
   private final DoneMapper doneMapper;
   //
   public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, String s, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
   private final TaskService taskService;
   /**
    * 查询用户已办任务分页列表
    * @param page
    * @param s
    * @param createTimeBegin
    * @param createTimeEnd
    * @param keyword
    * @return
    */
   public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
      //已办新查询
      String userId = "" + AuthUtil.getUserId();
      DoneQueryVO queryVO = new DoneQueryVO();
@@ -79,6 +88,9 @@
            boolean active = flowCommonService.isProcessInstanceActive(flowVO.getProcessInstanceId());
            flowVO.setProcessIsFinished((Func.toStr(!active)));
            if(active){
               flowVO.setFlag(getCurrentTaskDefKeys(flowVO.getProcessInstanceId()));
            }
         });
      }
      return pageDta;
@@ -101,4 +113,13 @@
      return result;
   }
   String getCurrentTaskDefKeys(String processInstanceId) {
      List<Task> tasks = taskService.createTaskQuery()
         .processInstanceId(processInstanceId) // 根据流程实例ID查询
         .active() // 查询活动的任务
         .list();
      return tasks.stream().map(TaskInfo::getTaskDefinitionKey).collect(Collectors.joining(","));
   }
}