| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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); |
| | | } |
| | |
| | | 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()); |