From 3d558e1bb5091b76a6525f6fab015574e1755200 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 09 九月 2025 18:27:30 +0800
Subject: [PATCH] 确认单下载增加容错

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
index 7fb183e..79478a4 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
@@ -17,8 +17,6 @@
 import org.springblade.mdm.flow.service.FlowCommonService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
 import org.springblade.mdm.flow.service.FlowProgramProperties;
-import org.springblade.system.feign.IUserClient;
-import org.springblade.system.pojo.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -61,22 +59,25 @@
 		if(task.getTaskDefinitionKey().equals("programmingTask") ) {//缂栧埗鑺傜偣
 			//璁板綍瀹為檯缂栫▼鍛�
 			variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
-
-			if(this.needUploadProgramFile(props.getMachineCode())) {
+			String programOnMachine = Func.toStr(variables.getOrDefault("programOnMachine",FlowContants.N));//鏄惁鐜板満缂栫▼
+			if(this.needUploadProgramFile(props.getMachineCode()) && programOnMachine.equals(FlowContants.N)) {
 				flowProgramFileService.checkProgramFiles(processInstanceId, FlowContants.Y.equals(operateResult));
 			}
 		}else if(task.getTaskDefinitionKey().equals("teamLeaderTask")){
 			if(FlowContants.Y.equals(operateResult)) {
 				runtimeService.setVariable(task.getExecutionId(),FlowContants.PROGRAMMER_NAME,userCommonService.getUserNameById(Func.toLong(variables.get("assignee"))));
 			}
-
+		}else if(task.getTaskDefinitionKey().equals("check")){
+			variables.put(FlowVariableContants.ACT_CHECKER,Func.toStr(AuthUtil.getUserId()));
+		}else if(task.getTaskDefinitionKey().equals("approveTask")){
+			variables.put(FlowVariableContants.ACT_SENIOR,Func.toStr(AuthUtil.getUserId()));
 		}
+		variables.remove("programOnMachine");//鍏朵粬鑺傜偣锛屽拷鐣ョ幇鍦虹紪绋嬫爣璁�
 		if (StringUtil.isNoneBlank(processInstanceId, comment)) {
 			taskService.addComment(taskId, processInstanceId, comment);
 		}
 
 		variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
-
 
 		addApproveRecord(taskId,comment,variables);
 
@@ -84,6 +85,11 @@
 
 		if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
 			variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
+
+			if(FlowContants.Y.equals(operateResult)) {
+				//鍒ゅ畾鍙敤锛岃褰曚负瀹為檯缂栫▼鍛�
+				variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
+			}
 		}
 		taskService.complete(taskId, variables);
 	}

--
Gitblit v1.9.3