yangys
2025-08-14 33e6270d2d3a40591e58d45fd8435d2f3eaf66b2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowCommonService.java
@@ -7,6 +7,7 @@
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
@@ -15,6 +16,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@AllArgsConstructor
@@ -63,7 +65,9 @@
      programProperties.setCraftEdition(String.valueOf(vars.get(FlowContants.CRAFT_EDITION)));
      programProperties.setHasCuredProgram(String.valueOf(vars.get(FlowContants.HAS_CURED_PROGRAM)));
      programProperties.setIsProcessEditionSame(String.valueOf(vars.get(FlowContants.IS_PROCESS_EDITION_SAME)));
      if(vars.containsKey(FlowContants.DEVIATION)) {
         programProperties.setDeviation(String.valueOf(vars.get(FlowContants.DEVIATION)));
      }
      if(vars.containsKey(FlowContants.CURED_NODE_ID)){
         programProperties.setCuredNodeId(Func.toLong(vars.get(FlowContants.CURED_NODE_ID)));
      }
@@ -101,7 +105,25 @@
      return historicInstance != null && historicInstance.getEndTime() == null;
   }
   /**
    * 上一步处理人
    * @param processInstanceId 流程实例id
    * @return assignee
    */
    public String previusAssignee(String processInstanceId) {
      // 获取历史任务实例
      List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery()
         .processInstanceId(processInstanceId)
         .orderByHistoricTaskInstanceEndTime().asc()
         .list();
      // 获取上一个已完成的任务
      String assignee = "";
      if(!historicTasks.isEmpty()) {
         assignee = historicTasks.get(historicTasks.size() - 1).getAssignee();
      }
      return assignee;
    }
}