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