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/program/service/ProcessProgRefService.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProcessProgRefService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProcessProgRefService.java
new file mode 100644
index 0000000..69cf391
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProcessProgRefService.java
@@ -0,0 +1,104 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * <p>
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ * <p>
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ * <p>
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ * <p>
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ * <p>
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ * <p>
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ * <p>
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.mdm.program.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.oss.OssTemplate;
+import org.springblade.core.oss.model.BladeFile;
+import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.program.entity.NcNode;
+import org.springblade.mdm.program.entity.NcProgram;
+import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.entity.ProgramSeq;
+import org.springblade.mdm.program.mapper.NcProgramMapper;
+import org.springblade.mdm.program.mapper.ProcessProgRefMapper;
+import org.springblade.mdm.program.mapper.ProgramSeqMapper;
+import org.springblade.mdm.program.vo.NcNodeProgramQueryVO;
+import org.springblade.mdm.program.vo.NcProgramUploadVO;
+import org.springblade.mdm.program.vo.NcProgramVO;
+import org.springblade.mdm.utils.FileContentUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 宸ヤ綔娴佹湇鍔″疄鐜扮被
+ *
+ * @author Chill
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class ProcessProgRefService extends BizServiceImpl<ProcessProgRefMapper, ProcessProgRef> {
+
+	/**
+	 * 鏌ヨ鐜版湁鍥哄寲鐨勭▼搴忥紝鏆傚畾鏉′欢锛氶浂缁勪欢鍙风浉鍚岋紝涓旀槸鍚屼竴鏈哄簥缁�
+	 * @param processInstanceId 娴佺▼瀹炰緥id
+	 * @param programIds 绋嬪簭id
+	 * @return
+	 */
+	@Transactional
+	public void addRelations(String processInstanceId, List<Long> programIds) {
+		if(programIds == null || programIds.isEmpty()) {
+			return;
+		}
+
+		this.lambdaUpdate().eq(ProcessProgRef::getProcessInstanceId, processInstanceId).remove();
+		List<ProcessProgRef> entities = new ArrayList<>();
+		for (Long programId : programIds) {
+			ProcessProgRef entity = new ProcessProgRef();
+			entity.setProcessInstanceId(processInstanceId);
+			entity.setNcProgramId(programId);
+
+			entities.add(entity);
+		}
+		this.saveBatch(entities);
+	}
+
+	/**
+	 * 鏌ヨ娴佺▼鍏宠仈鐨勭▼搴廼浜屾爣
+	 * @param processInstanceId
+	 * @return
+	 */
+	public List<NcProgramVO> listByProcess(String processInstanceId) {
+		return this.getBaseMapper().listByProcess(processInstanceId);
+	}
+}

--
Gitblit v1.9.3