| | |
| | | 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.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | |
| | | @Override |
| | | public void completeTask(String taskId, String processInstanceId, String comment, Map<String, Object> variables) { |
| | | Task task = currentTask(taskId); |
| | | |
| | | // 非空判断 |
| | | if (Func.isEmpty(variables)) { |
| | | variables = Kv.create(); |
| | | } |
| | | String operateResult = this.getApproveResult(variables); |
| | | |
| | | FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId); |
| | |
| | | throw new ServiceException("请指定流程下一步处理人"); |
| | | } |
| | | |
| | | // 非空判断 |
| | | if (Func.isEmpty(variables)) { |
| | | variables = Kv.create(); |
| | | } |
| | | |
| | | if(task.getTaskDefinitionKey().equals("programmingTask") ) {//编制节点 |
| | | //记录实际编程员 |
| | | variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId())); |
| | | String programOnMachine = Func.toStr(variables.getOrDefault("programOnMachine",FlowContants.N));//是否现场编程 |
| | | |
| | | String programOnMachine = Func.toStr(variables.getOrDefault(FlowVariableContants.PROGRAM_ON_MACHINE,FlowContants.N));//是否现场编程 |
| | | if(this.needUploadProgramFile(props.getMachineCode()) && programOnMachine.equals(FlowContants.N)) { |
| | | flowProgramFileService.checkProgramFiles(processInstanceId, FlowContants.Y.equals(operateResult)); |
| | | } |
| | |
| | | }else if(task.getTaskDefinitionKey().equals("approveTask")){ |
| | | variables.put(FlowVariableContants.ACT_SENIOR,Func.toStr(AuthUtil.getUserId())); |
| | | } |
| | | variables.remove("programOnMachine");//其他节点,忽略现场编程标记 |
| | | variables.remove(FlowVariableContants.PROGRAM_ON_MACHINE);//其他节点,忽略现场编程标记 |
| | | if (StringUtil.isNoneBlank(processInstanceId, comment)) { |
| | | taskService.addComment(taskId, processInstanceId, comment); |
| | | } |
| | | |
| | | variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName()); |
| | | variables.put(FlowVariableContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName()); |
| | | |
| | | addApproveRecord(taskId,comment,variables); |
| | | |
| | | variables.remove(FlowContants.PROCESS_EDITION);//不要升版了 |
| | | variables.remove(FlowVariableContants.PROCESS_EDITION);//不要升版了 |
| | | |
| | | if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){ |
| | | variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult); |