From 8b829bfb8646454fa435c319eacda055d53ed2ba Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 02 九月 2025 22:45:24 +0800
Subject: [PATCH] 首页零组件号加入防抖处理

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 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 62d36d6..05a0e8a 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
@@ -5,7 +5,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.mapper.NcNodeMapper;
@@ -18,7 +18,6 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
-import java.util.stream.Collectors;
 
 /**
  * 绋嬪簭鑺傜偣
@@ -292,6 +291,29 @@
 	}
 
 	/**
+	 * 鑾峰彇鏈�鏂扮殑鍥哄寲绋嬪簭锛屼笉鐢ㄥ伐搴忕増娆″尮閰�
+	 * @param programPkgName
+	 * @param machineCode
+	 * @return
+	 */
+	public NcNode getLastCuredProgramPackageWithoutProcessEdition(String programPkgName,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)
+			.in(!machineCodesInGroup.isEmpty(),NcNode::getMachineCode,machineCodesInGroup)
+			.eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
+
+		if(nodes.isEmpty()){
+			return null;
+		}else {
+			return nodes.get(0);
+		}
+	}
+
+	/**
 	 * 鑾峰彇鏈�鏂扮増鏈殑 鍋忕鑺傜偣
 	 * @param programPkgName 绋嬪簭鍖呭悕
 	 * @return 鍋忕鐨勭▼搴忚妭鐐�
@@ -337,7 +359,6 @@
 		return this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_FILE)
 			.eq(NcNode::getParentId,packageNodeId).eq(NcNode::getIsLastEdition,1).list();
 	}
-
 	/**
 	 * 鍗囩骇鐗堟湰鍙凤紙+1锛�
 	 * @param nodeId 鑺傜偣id
@@ -360,6 +381,12 @@
 		node.lock();
 		this.updateById(node);
     }
+	@Transactional
+	public void lock(Long id,String remark) {
+		NcNode node = this.getById(id);
+		node.lock(remark);
+		this.updateById(node);
+	}
 	@Transactional
 	public void unlock(Long id) {
 		NcNode node = this.getById(id);
@@ -384,4 +411,12 @@
 			.le(NcNode::getCreateTime,programPkgNode.getCreateTime())  //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
 			.count();
     }
+
+	/**
+	 * 鏍规嵁涓婄骇鑺傜偣id锛岀Щ鍔ㄤ笅闈㈢殑鍔犲伐鏈哄簥鑺傜偣
+	 * @param parentId 涓婄骇鑺傜偣id
+	 */
+	public void deleteMachineNodeByParentId(Long parentId) {
+		baseMapper.deleteMachineNodeByParentId(parentId);
+	}
 }

--
Gitblit v1.9.3