From 51054f0da5dd4718212064510fff045815388b90 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 20 八月 2025 16:31:03 +0800
Subject: [PATCH] 增加临时流程处理

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
index 2cf990b..5382be2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -26,10 +26,7 @@
 import org.springblade.mdm.flow.service.FlowCommonService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
 import org.springblade.mdm.flow.service.TaskDispatchService;
-import org.springblade.mdm.flow.service.execute.AbstractFlowCompleteService;
-import org.springblade.mdm.flow.service.execute.BatchDispatchService;
-import org.springblade.mdm.flow.service.execute.DefaultFlowCompleteService;
-import org.springblade.mdm.flow.service.execute.TryFlowCompleteService;
+import org.springblade.mdm.flow.service.execute.*;
 import org.springblade.mdm.flow.vo.BatchDispatchVO;
 import org.springblade.mdm.flow.vo.TaskAssignVO;
 import org.springblade.mdm.program.entity.ProcessProgRef;
@@ -42,6 +39,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -56,9 +54,6 @@
 
 	private final TaskService taskService;
 	private final RuntimeService runtimeService;
-	private final ProcessProgRefService processProgRefService;
-
-	private final ApproveRecordService approveRecordService;
 	private final FlowProgramFileService flowProgramFileService;
 
 
@@ -66,7 +61,8 @@
 	private final DefaultFlowCompleteService defaultFlowCompleteService;
 	private final TaskDispatchService taskDispatchService;
 	private final BatchDispatchService dispatchService;
-
+	private final ReplaceFlowCompleteService replaceFlowCompleteService;
+	private final TempFlowCompleteService tempFlowCompleteService;
 	/**
 	 * 鍙戣捣娲惧伐娴佺▼
 	 */
@@ -85,9 +81,17 @@
 	}
 
 	AbstractFlowCompleteService getActualService(String processInstanceId){
-		ProcessInstance inst = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
-		if(inst.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY) || inst.getProcessDefinitionKey().equals(FlowContants.CURE_PROCESS_KEY) || inst.getProcessDefinitionKey().equals(FlowContants.REPLACE_PROCESS_KEY)){
-			return tryFlowCompleteService;
+		ProcessInstance inst = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult();
+		if(inst.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY) || inst.getProcessDefinitionKey().equals(FlowContants.CURE_PROCESS_KEY)
+			|| inst.getProcessDefinitionKey().equals(FlowContants.UNLOCK_PROCESS_KEY)){
+			String isTempFlow = Func.toStr(inst.getProcessVariables().get(FlowContants.IS_TEMP_FLOW));
+			if(FlowContants.N.equals(isTempFlow)){
+				return tryFlowCompleteService;
+			}else{
+				return tempFlowCompleteService;
+			}
+		}else if(inst.getProcessDefinitionKey().equals(FlowContants.REPLACE_PROCESS_KEY)){
+			return replaceFlowCompleteService;
 		}else{
 			return defaultFlowCompleteService;
 		}

--
Gitblit v1.9.3