yangys
2025-09-06 61763cc1a182effa7e5535ac72d54a6a56f029eb
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
@@ -7,7 +7,9 @@
import org.flowable.task.api.Task;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.mdm.commons.service.UserCommonService;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.constants.FlowVariableContants;
import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -35,6 +37,8 @@
   private RuntimeService runtimeService;
   @Autowired
   private FlowCommonService flowCommonService;
   @Autowired
   private UserCommonService userCommonService;
   @Transactional
   public void batchDispatchTask(BatchDispatchVO batchDispatchVO) {
      //String[] taskIds, String[] processInstanceIds, String comment, String assignee
@@ -54,8 +58,13 @@
         taskId = taskIds[i];
         processInstanceId = batchDispatchVO.getProcessInstanceIds()[i];
         runtimeService.setVariable(processInstanceId,FlowContants.PROGRAMMER_NAME,userCommonService.getUserNameById(Func.toLong(batchDispatchVO.getAssignee())));
         Task task = getTask(taskId);
         if(!task.getTaskDefinitionKey().equals("teamLeaderTask")){
            throw new ServiceException("非[任务分派]节点的任务不能批量派工");
         }
         if (StringUtil.isNoneBlank(processInstanceId, comment)) {
            taskService.addComment(taskId, processInstanceId, comment);
         }
@@ -87,9 +96,16 @@
         taskId = taskIds[i];
         processInstanceId = batchDispatchVO.getProcessInstanceIds()[i];
         variables.put("assignee", getAutoProgrammer(processInstanceId));
         Task task = getTask(taskId);
         if(!task.getTaskDefinitionKey().equals("teamLeaderTask")){
            throw new ServiceException("非[任务分派]节点的任务不能批量派工");
         }
         Object programmerId = getAutoProgrammer(processInstanceId);
         variables.put("assignee", programmerId);
         runtimeService.setVariable(processInstanceId,FlowContants.PROGRAMMER_NAME,userCommonService.getUserNameById(Func.toLong(programmerId)));
         if (StringUtil.isNoneBlank(processInstanceId, batchDispatchVO.getComment())) {
            taskService.addComment(taskId, processInstanceId, batchDispatchVO.getComment());