From 72e6bac02526caebc3797a7c2934d12896805708 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 23 九月 2025 00:47:18 +0800
Subject: [PATCH] 修复文件状态读取问题
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java | 54 +++++++++++++++++++++++++++++-------------------------
1 files changed, 29 insertions(+), 25 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 3ff7c54..4be1c27 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
@@ -4,7 +4,6 @@
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;
@@ -12,8 +11,8 @@
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.service.ParamService;
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.constants.FlowConstant;
+import org.springblade.mdm.flow.constants.FlowVariableConstant;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
@@ -44,48 +43,53 @@
@Override
public void completeTask(String taskId, String processInstanceId, String comment, Map<String, Object> variables) {
Task task = currentTask(taskId);
- String operateResult = this.getApproveResult(variables);
-
- FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId);
- if(!variables.containsKey("assignee")) {
- throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
- }
// 闈炵┖鍒ゆ柇
if (Func.isEmpty(variables)) {
variables = Kv.create();
}
+ String operateResult = this.getApproveResult(variables);
- if(task.getTaskDefinitionKey().equals("programmingTask") ) {//缂栧埗鑺傜偣
+ FlowProgramProperties props = flowCommonService.getProgramProperties(processInstanceId);
+ if (!variables.containsKey("assignee")) {
+ throw new ServiceException("璇锋寚瀹氭祦绋嬩笅涓�姝ュ鐞嗕汉");
+ }
+
+ if (task.getTaskDefinitionKey().equals("programmingTask")) {//缂栧埗鑺傜偣
//璁板綍瀹為檯缂栫▼鍛�
- variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
+ variables.put(FlowVariableConstant.ACT_PROGRAMMER, Func.toStr(AuthUtil.getUserId()));
- if(this.needUploadProgramFile(props.getMachineCode())) {
- flowProgramFileService.checkProgramFiles(processInstanceId, FlowContants.Y.equals(operateResult));
+ String programOnMachine = Func.toStr(variables.getOrDefault(FlowVariableConstant.PROGRAM_ON_MACHINE, 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(FlowContants.Y.equals(operateResult)) {
- runtimeService.setVariable(task.getExecutionId(),FlowContants.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()));
+ }
+ if (!task.getTaskDefinitionKey().equals("programmingTask")){
+ variables.remove(FlowVariableConstant.PROGRAM_ON_MACHINE);//鍏朵粬鑺傜偣锛屽拷鐣ョ幇鍦虹紪绋嬫爣璁�
}
if (StringUtil.isNoneBlank(processInstanceId, comment)) {
taskService.addComment(taskId, processInstanceId, comment);
}
- variables.put(FlowContants.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
+ variables.put(FlowVariableConstant.LAST_STEP_USER_NICKNAME, AuthUtil.getNickName());
-
- addApproveRecord(taskId,comment,variables);
-
- variables.remove(FlowContants.PROCESS_EDITION);//涓嶈鍗囩増浜�
+ variables.remove(FlowVariableConstant.PROCESS_EDITION);//涓嶈鍗囩増浜�
if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
- variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
+ variables.put(FlowConstant.CURE_PROGRAM_USEABLE,operateResult);
- if(FlowContants.Y.equals(operateResult)) {
+ if(FlowConstant.Y.equals(operateResult)) {
//鍒ゅ畾鍙敤锛岃褰曚负瀹為檯缂栫▼鍛�
- variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
+ variables.put(FlowVariableConstant.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
}
}
taskService.complete(taskId, variables);
--
Gitblit v1.9.3