| | |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.flowable.task.api.Task; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | |
| | | //驳回,查询实际编程人员 驳回 |
| | | variables.put(FlowVariableContants.ASSIGNEE, getActualProgrammer(processInstanceId)); |
| | | } |
| | | //approveRecordService.saveApproveRecords(task,FlowContants.Y,batchDispatchVO.getComment()); |
| | | |
| | | taskService.complete(taskId, variables); |
| | | } |
| | |
| | | throw new ServiceException("任务id与流程实例id数量不一致"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 排练通过现场编制 |
| | | * @param batchDispatchVO |
| | | */ |
| | | public void batchProgramOnMachine(BatchDispatchVO batchDispatchVO) { |
| | | checkBatchParameter(batchDispatchVO); |
| | | String[] taskIds = batchDispatchVO.getTaskIds(); |
| | | String taskId; |
| | | String processInstanceId; |
| | | |
| | | //审批结果和处理人都一样的 |
| | | Map<String, Object> variables = Kv.create(); |
| | | variables.put(FlowVariableContants.APPROVE, FlowContants.Y); |
| | | variables.put(FlowVariableContants.COMMENT, batchDispatchVO.getComment()); |
| | | variables.put(FlowVariableContants.PROGRAM_ON_MACHINE, FlowContants.Y);//现场编制:是 |
| | | variables.put(FlowVariableContants.ACT_PROGRAMMER, AuthUtil.getUserId()+"");//实际编制 |
| | | variables.put(FlowVariableContants.ASSIGNEE,batchDispatchVO.getAssignee()); |
| | | for(int i=0;i<taskIds.length;i++) { |
| | | taskId = taskIds[i]; |
| | | processInstanceId = batchDispatchVO.getProcessInstanceIds()[i]; |
| | | |
| | | Task task = getTask(taskId); |
| | | if(!task.getTaskDefinitionKey().equals("programmingTask")){ |
| | | throw new ServiceException("非编制任务,不能指定现场编制"); |
| | | } |
| | | if (StringUtil.isNoneBlank(processInstanceId, batchDispatchVO.getComment())) { |
| | | taskService.addComment(taskId, processInstanceId, batchDispatchVO.getComment()); |
| | | } |
| | | |
| | | taskService.complete(taskId, variables); |
| | | } |
| | | } |
| | | } |