From 1e2b04fabbbc4b1ae37d7951068d7ab235f5b5f9 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 17 九月 2025 15:29:38 +0800
Subject: [PATCH] 现场编制功能适配

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
index 29385e6..85f0557 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/BatchDispatchService.java
@@ -6,6 +6,7 @@
 import org.flowable.engine.runtime.ProcessInstance;
 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.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
@@ -160,7 +161,6 @@
 				//椹冲洖锛屾煡璇㈠疄闄呯紪绋嬩汉鍛� 椹冲洖
 				variables.put(FlowVariableContants.ASSIGNEE, getActualProgrammer(processInstanceId));
 			}
-			//approveRecordService.saveApproveRecords(task,FlowContants.Y,batchDispatchVO.getComment());
 
 			taskService.complete(taskId, variables);
 		}
@@ -198,4 +198,37 @@
 			throw new ServiceException("浠诲姟id涓庢祦绋嬪疄渚媔d鏁伴噺涓嶄竴鑷�");
 		}
 	}
+
+	/**
+	 * 鎺掔粌閫氳繃鐜板満缂栧埗
+	 * @param batchDispatchVO
+	 */
+    public void batchProgramOnMachine(BatchDispatchVO batchDispatchVO) {
+		checkBatchParameter(batchDispatchVO);
+		String[] taskIds = batchDispatchVO.getTaskIds();
+		String taskId;
+		String processInstanceId;
+
+		//瀹℃壒缁撴灉鍜屽鐞嗕汉閮戒竴鏍风殑
+		Map<String, Object> variables = Kv.create();
+		variables.put(FlowVariableContants.APPROVE, FlowContants.Y);
+		variables.put(FlowVariableContants.COMMENT, batchDispatchVO.getComment());
+		variables.put(FlowVariableContants.PROGRAM_ON_MACHINE, FlowContants.Y);//鐜板満缂栧埗:鏄�
+		variables.put(FlowVariableContants.ACT_PROGRAMMER, AuthUtil.getUserId()+"");//瀹為檯缂栧埗
+		variables.put(FlowVariableContants.ASSIGNEE,batchDispatchVO.getAssignee());
+		for(int i=0;i<taskIds.length;i++) {
+			taskId = taskIds[i];
+			processInstanceId = batchDispatchVO.getProcessInstanceIds()[i];
+
+			Task task = getTask(taskId);
+			if(!task.getTaskDefinitionKey().equals("programmingTask")){
+				throw new ServiceException("闈炵紪鍒朵换鍔★紝涓嶈兘鎸囧畾鐜板満缂栧埗");
+			}
+			if (StringUtil.isNoneBlank(processInstanceId, batchDispatchVO.getComment())) {
+				taskService.addComment(taskId, processInstanceId, batchDispatchVO.getComment());
+			}
+
+			taskService.complete(taskId, variables);
+		}
+    }
 }

--
Gitblit v1.9.3