yangys
2025-09-06 27c2a530b641a1b4e815b79cd9a9fbd73debd627
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
@@ -15,6 +15,7 @@
import org.flowable.task.api.TaskQuery;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
@@ -56,39 +57,32 @@
    * @param createTimeEnd
    * @param keyword
    * @return
    */
   public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
     */
   //public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
   public IPage<FlowVO> selectDonePage(DoneQueryVO queryVO) {
      //已办新查询
      String userId = "" + AuthUtil.getUserId();
      DoneQueryVO queryVO = new DoneQueryVO();
      queryVO.setSize(Long.valueOf(page.getSize()).intValue());
      queryVO.setCurrent(Long.valueOf(page.getCurrent()).intValue());
      queryVO.setUserId(userId);
      queryVO.setCreateTimeBegin(createTimeBegin);
      if(createTimeEnd != null){
         createTimeEnd = createTimeEnd.plusDays(1);
      if(queryVO.getCreateTimeEnd() != null){
         queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1));
      }
      queryVO.setCreateTimeEnd(createTimeEnd);
      queryVO.setKeyword(keyword);
      IPage<FlowVO> pageDta = doneMapper.pageQuery(page,queryVO);
      IPage<FlowVO> pageDta = doneMapper.pageQuery(Condition.getPage(queryVO),queryVO);
      List<String> instIdList = pageDta.getRecords().stream().map(FlowVO::getProcessInstanceId).toList();
      if(!instIdList.isEmpty()) {
         List<HistoricProcessInstance> processList = getHistoricProcessInstances(instIdList);
         Map<String,Map<String,Object>> varmap = new HashMap<>();
         for(HistoricProcessInstance inst : processList) {
            varmap.put(inst.getId(),inst.getProcessVariables());
         }
         pageDta.getRecords().forEach(flowVO->{
            flowVO.setVariables(varmap.get(flowVO.getProcessInstanceId()));
            flowVO.setFile(this.getFileString(flowVO.getProcessInstanceId()));
            /*
            boolean active = flowCommonService.isProcessInstanceActive(flowVO.getProcessInstanceId());
            flowVO.setProcessIsFinished((Func.toStr(!active)));
            if(active){
             */
            if(Func.toBoolean(flowVO.getProcessIsFinished())){
               flowVO.setFlag(getCurrentTaskDefKeys(flowVO.getProcessInstanceId()));
            }
         });