From 0ecd5acd3b9f320a487c68df2ea6234b4dacb12c Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 20 七月 2025 13:24:54 +0800
Subject: [PATCH] 增加流程查询接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
index fa5f0de..eb4769a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -159,6 +159,10 @@
 		node.setDrawingNo(uploadVO.getDrawingNo());
 		node.setProcessName(uploadVO.getProcessName());
 
+		NcNode parentNode = nodeService.getById(uploadVO.getNodeId());
+		node.setParentIds(parentNode.getParentIds()+","+uploadVO.getNodeId());
+		//uploadVO.getre
+		//node.setDescription(uploadVO.getDrawingNo());
 		nodeService.save(node);
 
 		prog.setBindNcNodeId(node.getId());
@@ -318,4 +322,63 @@
 
 		return progOpt.orElse(null);
 	}
+
+	/**
+	 * 鏍规嵁绋嬪簭鍚嶇О鑾峰彇鏈�鏂扮殑绋嬪簭鏁版嵁
+	 * @param name 绋嬪簭鍚嶇О
+	 * @return
+	 */
+	public NcProgram getByName(String name) {
+		LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+		wrapper.eq(NcProgram::getName, name);
+		wrapper.eq(NcProgram::getIsLastEdition,1);
+		Optional<NcProgram> progOpt = this.getOneOpt(wrapper);
+
+		return progOpt.orElse(null);
+	}
+
+	/**
+	 *
+	 * @param nodeId 涓婄骇鑺傜偣id
+	 * @param name 绋嬪簭鍚嶇О
+	 */
+	public boolean programExistsUnderNode(Long nodeId, String name) {
+		LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+		wrapper.eq(nodeId!=null,NcProgram::getNcNodeId, nodeId);
+		wrapper.eq(NcProgram::getName, name);
+		wrapper.eq(NcProgram::getIsLastEdition,1);
+
+		return this.count(wrapper)>0;
+	}
+
+	/**
+	 *
+	 * @param nodeId 涓婄骇鑺傜偣id
+	 * @param name 绋嬪簭鍚嶇О
+	 */
+	public boolean programExistsUnderOtherNode(Long nodeId, String name) {
+		LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
+		wrapper.ne(NcProgram::getNcNodeId, nodeId);
+		wrapper.eq(NcProgram::getName, name);
+		wrapper.eq(NcProgram::getIsLastEdition,1);
+
+		return this.count(wrapper)>0;
+	}
+
+	/**
+	 * 鏄剧ず绋嬪簭鐨勫巻鍙茶褰曞垪琛�
+	 * @param bindNodeId
+	 * @return
+	 */
+	public List<NcProgramVO> historyByBindNode(Long bindNodeId) {
+
+		NcProgram program = this.getByBindNodeId(bindNodeId);
+		List<NcProgram> list = this.lambdaQuery().eq(NcProgram::getName,program.getName())
+			.eq(NcProgram::getNcNodeId,program.getNcNodeId()).orderByDesc(NcProgram::getCreateTime).list();
+
+		return list.stream().map(p -> {
+			NcProgramVO vo = new NcProgramVO();
+			BeanUtils.copyProperties(p,vo);
+			return vo;}).toList();
+	}
 }

--
Gitblit v1.9.3