yangys
2025-09-19 9a5abe507d6602f2311ffbe1d7bf25e2b58d3a7a
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
@@ -51,28 +51,31 @@
      String operateResult = this.getApproveResult(variables);
      FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId);
      if(!variables.containsKey("assignee")) {
      if (!variables.containsKey("assignee")) {
         throw new ServiceException("请指定流程下一步处理人");
      }
      if(task.getTaskDefinitionKey().equals("programmingTask") ) {//编制节点
      if (task.getTaskDefinitionKey().equals("programmingTask")) {//编制节点
         //记录实际编程员
         variables.put(FlowVariableConstant.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
         variables.put(FlowVariableConstant.ACT_PROGRAMMER, Func.toStr(AuthUtil.getUserId()));
         String programOnMachine = Func.toStr(variables.getOrDefault(FlowVariableConstant.PROGRAM_ON_MACHINE, FlowConstant.N));//是否现场编程
         if(this.needUploadProgramFile(props.getMachineCode()) && programOnMachine.equals(FlowConstant.N)) {
         //variables.put(FlowVariableConstant.PROGRAM_ON_MACHINE, programOnMachine);
         if (this.needUploadProgramFile(props.getMachineCode()) && programOnMachine.equals(FlowConstant.N)) {
            flowProgramFileService.checkProgramFiles(processInstanceId, FlowConstant.Y.equals(operateResult));
         }
      }else if(task.getTaskDefinitionKey().equals("teamLeaderTask")){
         if(FlowConstant.Y.equals(operateResult)) {
            runtimeService.setVariable(task.getExecutionId(), FlowConstant.PROGRAMMER_NAME,userCommonService.getUserNameById(Func.toLong(variables.get("assignee"))));
      } else if (task.getTaskDefinitionKey().equals("teamLeaderTask")) {
         if (FlowConstant.Y.equals(operateResult)) {
            runtimeService.setVariable(task.getExecutionId(), FlowConstant.PROGRAMMER_NAME, userCommonService.getUserNameById(Func.toLong(variables.get("assignee"))));
         }
      }else if(task.getTaskDefinitionKey().equals("check")){
         variables.put(FlowVariableConstant.ACT_CHECKER,Func.toStr(AuthUtil.getUserId()));
      }else if(task.getTaskDefinitionKey().equals("approveTask")){
         variables.put(FlowVariableConstant.ACT_SENIOR,Func.toStr(AuthUtil.getUserId()));
      } else if (task.getTaskDefinitionKey().equals("check")) {
         variables.put(FlowVariableConstant.ACT_CHECKER, Func.toStr(AuthUtil.getUserId()));
      } else if (task.getTaskDefinitionKey().equals("approveTask")) {
         variables.put(FlowVariableConstant.ACT_SENIOR, Func.toStr(AuthUtil.getUserId()));
      }
      variables.remove(FlowVariableConstant.PROGRAM_ON_MACHINE);//其他节点,忽略现场编程标记
      if (!task.getTaskDefinitionKey().equals("programmingTask")){
         variables.remove(FlowVariableConstant.PROGRAM_ON_MACHINE);//其他节点,忽略现场编程标记
      }
      if (StringUtil.isNoneBlank(processInstanceId, comment)) {
         taskService.addComment(taskId, processInstanceId, comment);
      }