From 86c8efdb19a2f4be79a947650ef62ed79382011b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 30 八月 2025 20:55:31 +0800
Subject: [PATCH] 重构机床回传文件;撤回后禁用撤回按钮

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
index b1edf91..1638ab2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
@@ -10,6 +10,7 @@
 import org.flowable.engine.history.HistoricProcessInstanceQuery;
 import org.flowable.engine.task.Comment;
 import org.flowable.task.api.Task;
+import org.flowable.task.api.TaskInfo;
 import org.flowable.task.api.TaskInfoQuery;
 import org.flowable.task.api.TaskQuery;
 import org.flowable.task.api.history.HistoricTaskInstance;
@@ -44,11 +45,19 @@
 public class DoneQueryService {
 	private final FlowProgramFileService flowProgramFileService;
 	private final HistoryService historyService;
-	private final IUserClient userClient;
 	private final FlowCommonService flowCommonService;
 	private final DoneMapper doneMapper;
-	//
-	public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, String s, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
+	private final TaskService taskService;
+	/**
+	 * 鏌ヨ鐢ㄦ埛宸插姙浠诲姟鍒嗛〉鍒楄〃
+	 * @param page
+	 * @param s
+	 * @param createTimeBegin
+	 * @param createTimeEnd
+	 * @param keyword
+	 * @return
+	 */
+	public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
 		//宸插姙鏂版煡璇�
 		String userId = "" + AuthUtil.getUserId();
 		DoneQueryVO queryVO = new DoneQueryVO();
@@ -79,6 +88,9 @@
 
 				boolean active = flowCommonService.isProcessInstanceActive(flowVO.getProcessInstanceId());
 				flowVO.setProcessIsFinished((Func.toStr(!active)));
+				if(active){
+					flowVO.setFlag(getCurrentTaskDefKeys(flowVO.getProcessInstanceId()));
+				}
 			});
 		}
 		return pageDta;
@@ -101,4 +113,13 @@
 
 		return result;
 	}
+
+	String getCurrentTaskDefKeys(String processInstanceId) {
+		List<Task> tasks = taskService.createTaskQuery()
+			.processInstanceId(processInstanceId) // 鏍规嵁娴佺▼瀹炰緥ID鏌ヨ
+			.active() // 鏌ヨ娲诲姩鐨勪换鍔�
+			.list();
+		return tasks.stream().map(TaskInfo::getTaskDefinitionKey).collect(Collectors.joining(","));
+
+	}
 }

--
Gitblit v1.9.3