package org.springblade.mdm.flow.service.execute; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; 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.FlowCommonService; import org.springblade.mdm.flow.vo.BatchDispatchVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Map; /** * 试切流程完成任务的实现 */ @Service public class BatchDispatchService { @Autowired private TaskService taskService; @Autowired 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 if(StringUtils.isBlank(batchDispatchVO.getAssignee())){ throw new ServiceException("缺少处理人参数"); } checkBatchParameter(batchDispatchVO); Map variables = Kv.create(); variables.put("assignee", batchDispatchVO.getAssignee()); variables.put("approve", FlowContants.Y);//默认就是通过 String taskId; String processInstanceId; String comment = batchDispatchVO.getComment(); String[] taskIds = batchDispatchVO.getTaskIds(); for(int i=0;i variables = Kv.create(); //variables.put("assignee", batchDispatchVO.getAssignee()); variables.put("approve", FlowContants.Y);//自动分派默认就是通过 variables.put(FlowVariableContants.COMMENT,batchDispatchVO.getComment()); ProcessInstance processInstance; Object programmer; for(int i=0;i variables = Kv.create(); variables.put(FlowVariableContants.APPROVE, batchDispatchVO.getApprove()); variables.put(FlowVariableContants.COMMENT, batchDispatchVO.getComment()); for(int i=0;i