From 813f0f6d391b7f24682204c22c059ef69b124fa6 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 30 六月 2025 23:59:15 +0800
Subject: [PATCH] 增加流程与程序关联查询

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java
new file mode 100644
index 0000000..0942561
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/DispatchFinishListener.java
@@ -0,0 +1,48 @@
+package org.springblade.mdm.flow.excution;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.RuntimeService;
+import org.flowable.engine.delegate.DelegateExecution;
+import org.flowable.engine.history.HistoricProcessInstance;
+import org.springblade.mdm.program.entity.NcProgramApproved;
+import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.service.NcProgramApprovedService;
+import org.springblade.mdm.program.service.ProcessProgRefService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 娲惧伐瀹℃壒瀹屾垚鎵ц鐨勪簨浠讹紝鍔熻兘锛氭彃鍏ュ鎵硅〃鏁版嵁
+ */
+@Slf4j
+@Component("dispatchFinishListener")
+public class DispatchFinishListener {
+	@Autowired
+	RuntimeService runtimeService;
+	@Autowired
+	ProcessProgRefService processProgRefService;
+	@Autowired
+	NcProgramApprovedService approvedService;
+	public void handle(DelegateExecution execution) {
+		String instId = execution.getProcessInstanceId();
+		log.info("{}锛宨nstid={}" , runtimeService,instId);
+		//灏嗗叧鑱旇〃涓殑鏁版嵁鎻掑叆瀹℃壒琛�
+		LambdaQueryWrapper<ProcessProgRef> wrapper = new LambdaQueryWrapper<>();
+		wrapper.eq(ProcessProgRef::getProcessInstanceId, instId);
+		List<ProcessProgRef> reflist = processProgRefService.list(wrapper);
+		for (ProcessProgRef ref : reflist) {
+			NcProgramApproved approved = new NcProgramApproved();
+			approved.setNcProgramId(ref.getNcProgramId());
+
+			approvedService.save(approved);
+		}
+
+		// 鎵ц涓氬姟閫昏緫
+		System.out.println("娴佺▼宸插畬鎴�");
+	}
+}

--
Gitblit v1.9.3