package org.springblade.mdm.flow.service.execute; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.TaskService; 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.StringUtil; import org.springblade.mdm.flow.constants.FlowContants; import org.springblade.mdm.flow.service.ApproveRecordService; import org.springblade.mdm.flow.service.FlowProgramFileService; import org.springblade.mdm.program.service.NcNodeAutoCreateService; 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 ApproveRecordService approveRecordService; @Autowired private TaskService taskService; @Transactional public void batchCompleteTask(String[] taskIds, String[] processInstanceIds, String comment,String assignee) { if(StringUtils.isBlank(assignee)){ throw new ServiceException("缺少处理人参数"); } if(taskIds == null || taskIds.length == 0){ throw new ServiceException("任务id组为空"); } if(processInstanceIds == null || processInstanceIds.length == 0){ throw new ServiceException("流程实例id组为空"); } if(taskIds.length != processInstanceIds.length){ throw new ServiceException("任务id与流程实例id数量不一致"); } Map variables = Kv.create(); variables.put("assignee", assignee); variables.put("approve", FlowContants.Y);//默认就是通过 String taskId; String processInstanceId; for(int i=0;i