From ad69cc8396d43fb79105b18270cc5aeec890d56a Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 17:25:11 +0800
Subject: [PATCH] 修复首页查询存在重复节点问题

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index d275a46..80a5ce7 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -165,7 +165,6 @@
 		}
 		List<NcNodeVO> oriList = this.getBaseMapper().searchList2(queryVO);
 
-
 		List<NcNodeVO> allVos = new ArrayList<>();//宸茬粡鍔犲叆杩囩殑鑺傜偣锛岀敤浜庡幓閲�
 		List<NcNodeVO> rootVos = new ArrayList<>();
 
@@ -175,10 +174,13 @@
 			List<NcNodeVO> parents = this.getBaseMapper().searchListInIds(Func.toLongList(vo.getParentIds()));
 
 			for(NcNodeVO pvo : parents){
-				if(pvo.getParentId() == 0L){
+				if(pvo.getParentId() == 0L && !rootVos.contains(pvo)){
 					rootVos.add(pvo);
 				}
-				allVos.add(pvo);
+				if(!allVos.contains(pvo)){
+					allVos.add(pvo);
+				}
+
 			}
 		}
 		for(NcNodeVO root : rootVos){
@@ -201,13 +203,6 @@
 		}
 	}
 
-	NcNodeVO toNodeVO(NcNode node){
-		NcNodeVO vo = new NcNodeVO();
-
-		BeanUtils.copyProperties(node, vo);
-
-		return vo;
-	}
 
 	/**
 	 * 鑾峰彇绋嬪簭鍖呭悕鐨勬暟鎹�
@@ -318,12 +313,14 @@
 	 * @param machineCode 鏈哄簥缂栧彿
 	 * @return
 	 */
-	public NcNode getCuredProgramPackage(String programPkgName,String machineCode) {
+	public NcNode getCuredProgramPackage(String programPkgName,String processEdition,String machineCode) {
 		Machine machine = machineService.getByCode(machineCode);
 		List<Machine> sameGroupMachines = machineService.lambdaQuery().eq(Machine::getMachineGroupCode,machine.getMachineGroupCode()).list();
 		List<String> machineCodesInGroup = sameGroupMachines.stream().map(Machine::getCode).toList();
 		List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
-			.eq(NcNode::getName, programPkgName).likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
+			.eq(NcNode::getName, programPkgName)
+			.eq(NcNode::getProcessEdition,processEdition)
+			.likeRight(NcNode::getParentIds,"0,2,").eq(NcNode::getIsCured,1)
 			.in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
 			.eq(NcNode::getIsLastEdition,1).list();
 

--
Gitblit v1.9.3