From 2f7738d809f1b3e31ec61e97c7be974beda3be30 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 12 八月 2025 16:27:00 +0800
Subject: [PATCH] 新增文件编辑和保存接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 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 935fa7b..dae2753 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
@@ -73,7 +73,7 @@
 	 * @return
 	 */
 	public List<NcNodeVO> lazyList(Long parentId) {
-// 鍒ゆ柇鐐瑰嚮鎼滅储浣嗘槸娌℃湁鏌ヨ鏉′欢鐨勬儏鍐�
+		// 鍒ゆ柇鐐瑰嚮鎼滅储浣嗘槸娌℃湁鏌ヨ鏉′欢鐨勬儏鍐�
 		if (Func.isEmpty(parentId)) {
 			parentId = 0L;
 		}
@@ -101,7 +101,6 @@
 	public List<NcNodeVO> searchList(NcNodeQueryVO queryVO) {
 		//1.鏍规嵁鍏宠繘瀛楀拰鑺傜偣绫诲瀷鏌ヨ鍒濆鍒楄〃,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
 		List<NcNodeVO> oriList = this.getBaseMapper().searchList(queryVO);
-		//List<NcNode> list = this.lambdaQuery().eq(NcNode::getNodeType, queryVO.getNodeType()).like(NcNode::getName, queryVO.getName()).list();
 		if ("10".equals(queryVO.getNodeType())) {
 			//鎼滅储鐨勬牴绾у埆锛岀洿鎺ヨ繑鍥�
 			return oriList;
@@ -159,7 +158,9 @@
 	 * @return 绋嬪簭鎶ュ寘鍚嶇殑鑺傜偣
 	 */
 	public NcNode getProgramPackageByName(String programName) {
-		List<NcNode> pkgs = this.lambdaQuery().eq(NcNode::getName, programName).eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).list();
+		List<NcNode> pkgs = this.lambdaQuery().eq(NcNode::getName, programName)
+			.eq(NcNode::getIsLastEdition,1)
+			.eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).list();
 		if(pkgs.isEmpty()){
 			return null;
 		}else{
@@ -181,13 +182,17 @@
     }
 
 	/**
-	 * 鑾峰彇鈥滅▼搴忓寘鍚嶁�濈殑鏈�鏂扮増鏈�
+	 * 鑾峰彇鈥滅▼搴忓寘鍚嶁�濊瘯鍒囩殑鏈�鏂扮増鏈�
 	 * @param name 鑺傜偣鍚嶇О
 	 * @return 鏈�鏂扮増鏈▼搴忔姤鍚嶈妭鐐�
 	 */
-	public NcNode getLastEditionProgramPackage(String name){
+	public NcNode getLastEditionTryingProgramPackage(String name){
+		//.or(NcNode::getIsCured,0)
 		List<NcNode> pkgList = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
-			.eq(NcNode::getName, name).eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
+			.eq(NcNode::getName, name).and(i->{
+				i.eq(NcNode::getIsCured, 0).or().isNull(NcNode::getIsCured);
+			}).likeRight(NcNode::getParentIds,"0,1,")
+			.eq(NcNode::getIsLastEdition,1).orderByDesc(NcNode::getCreateTime).list();
 
 		if(pkgList.isEmpty()){
 			return null;
@@ -266,4 +271,26 @@
 	public void deleteSubNodes(Long nodeId) {
 		this.baseMapper.deleteSubNodes(nodeId);
 	}
+
+	/**
+	 * 鑾峰彇绋嬪簭鍖呬笅鎵�鏈夊眰搴忔枃浠惰妭鐐�
+	 * @param packageNodeId 绋嬪簭鍖呭悕 鑺傜偣id
+	 * @return 鍖呬笅灞炵殑绋嬪簭鏂囦欢
+	 */
+	public List<NcNode> getProgramFilesByPackageId(Long packageNodeId) {
+		return this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_FILE)
+			.eq(NcNode::getParentId,packageNodeId).eq(NcNode::getIsLastEdition,1).list();
+	}
+
+	/**
+	 * 鍗囩骇鐗堟湰鍙凤紙+1锛�
+	 * @param nodeId 鑺傜偣id
+	 */
+	@Transactional
+	public void upgradeVersionNumber(Long nodeId) {
+		NcNode node = this.getById(nodeId);
+		node.upgradeVersionNUmber();
+		this.updateById(node);
+
+	}
 }

--
Gitblit v1.9.3