From 79e81a02076cdd1e828eb06029cd51eb37522f42 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 18 九月 2025 09:11:37 +0800
Subject: [PATCH] 首页下载问题修复

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java |   83 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 68 insertions(+), 15 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 55aff67..5ec9172 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
@@ -180,17 +180,7 @@
 		}
 	}
 
-	/**
-	 * 鏌ヨ鑺傜偣鐨勫巻鍙插垪琛紙鑺傜偣鐨勪笂绾ц妭鐐光�濈▼搴忓寘鍚嶁�滃洜涓哄瓨鍦ㄥ涓増鏈紝鎵�浠ュ巻鍙茶褰曚篃闇�瑕佹牴鎹笉鍚岀増鏈▼搴忓寘鍚嶈繘琛屾煡璇級
-	 * @param id
-	 * @return
-	 */
-	@Transactional(readOnly = true)
-    public List<NcNodeVO> historyByNodeId(Long id) {
-		NcNode node = this.getById(id);
-		NcNode parentNode = this.getById(node.getParentId());
-		return this.baseMapper.historyByParentIdAndName(node.getName(),parentNode);
-    }
+
 
 	/**
 	 * 鑾峰彇鈥滅▼搴忓寘鍚嶁�濊瘯鍒囩殑鏈�鏂扮増鏈�
@@ -229,15 +219,52 @@
 	}
 
 	/**
-	 * 鑾峰彇node鐨勫巻鍙插垪琛�(鍚屼竴涓埗鑺傜偣涓嬶紝鍚屽悕鐨勬墍鏈夎妭鐐癸級
+	 * 鑾峰彇璇曞垏鑺傜偣node鐨勫巻鍙插垪琛�(闆剁粍浠跺彿锛屽伐搴忓彿锛屽伐搴忕増鏈紝鏈哄簥缁勶級
 	 * @param pkgNode node
 	 * @return 鍘嗗彶鍒楄〃锛屾姤閿欒妭鐐规湰韬�
 	 */
-    public List<NcNode> getNodeHistory(NcNode pkgNode) {
+    public List<NcNode> getTryNodeHistory(NcNode pkgNode) {
+		return this.lambdaQuery().eq(NcNode::getDrawingNo,pkgNode.getDrawingNo())
+			.eq(NcNode::getProcessNo,pkgNode.getProcessNo())
+			.eq(NcNode::getProcessEdition,pkgNode.getProcessEdition())
+			.eq(NcNode::getMachineGroupCode,pkgNode.getMachineGroupCode())
+			.likeLeft(NcNode::getParentIds,"0,1,")
+			.list();//.ne(NcNode::getId,pkgNode.getId())
+		/*
 		return this.lambdaQuery().eq(NcNode::getParentId,pkgNode.getParentId())
 			.eq(NcNode::getName,pkgNode.getName()).list();//.ne(NcNode::getId,pkgNode.getId())
+
+		 */
     }
 
+	/**
+	 * 璁$畻鍘嗗彶搴忓彿锛屾牴鎹浂缁勪欢鍙凤紝宸ュ簭鍙凤紝宸ュ簭鐗堟锛屾満搴婄粍鏌ヨ锛屾煡璇㈤亾鍒欎娇鐢ㄨ鍘嗗彶缂栧彿锛屾煡璇笉鍒颁娇鐢ㄦ柊鐢熸垚鐨�
+	 */
+	public long calculateHistorySerial(NcNode pkgNode) {
+		NcNode node = this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).eq(NcNode::getDrawingNo,pkgNode.getDrawingNo())
+			.eq(NcNode::getProcessNo,pkgNode.getProcessNo()).eq(NcNode::getProcessEdition,pkgNode.getProcessEdition())
+			.eq(NcNode::getMachineGroupCode,pkgNode.getMachineGroupCode()).last("limit 1").one();
+
+		if(node != null && node.getHisSerial()!=null){
+			return node.getHisSerial();
+		}else{
+			//浠ュ線娌℃湁锛岀敓鎴愪竴涓柊鐨�
+			return System.currentTimeMillis();//浣跨敤褰撳墠姣鏁�
+		}
+	}
+
+	public int calculateVersionNumber(NcNode pkgNode) {
+		NcNode node = this.lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE).eq(NcNode::getDrawingNo,pkgNode.getDrawingNo())
+			.eq(NcNode::getProcessNo,pkgNode.getProcessNo()).eq(NcNode::getProcessEdition,pkgNode.getProcessEdition())
+			.eq(NcNode::getMachineGroupCode,pkgNode.getMachineGroupCode()).last("limit 1").one();
+
+		if(node != null && node.getVersionNumber()!=null){
+			return node.getVersionNumber()+1;
+		}else{
+			//浠ュ線娌℃湁锛岀敓鎴愪竴涓柊鐨�
+			return 1;
+		}
+	}
 	/**
 	 * 鐢熸垚绋嬪簭鍖呭悕/绋嬪簭鍚嶇О
 	 * @param drawingNo 闆剁粍浠跺彿
@@ -400,6 +427,7 @@
 	 * @param programPkgNode 鍋忕鍗曠殑绋嬪簭鍖呭悕鑺傜偣
 	 * @return 搴忓彿
 	 */
+	/*
     public long getDeviationSerialForNode(NcNode programPkgNode) {
 		return lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_PROGRAM_PACKAGE)
 			.eq(NcNode::getName,programPkgNode.getName())
@@ -412,12 +440,37 @@
 			.le(NcNode::getCreateTime,programPkgNode.getCreateTime())  //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
 			.count();
     }
+	*/
 
 	/**
 	 * 鏍规嵁涓婄骇鑺傜偣id锛岀Щ鍔ㄤ笅闈㈢殑鍔犲伐鏈哄簥鑺傜偣
 	 * @param parentId 涓婄骇鑺傜偣id
 	 */
-	public void deleteMachineNodeByParentId(Long parentId) {
-		baseMapper.deleteMachineNodeByParentId(parentId);
+	/*
+	public void deleteMachineGroupNodeByParentId(Long parentId) {
+		baseMapper.deleteMachineGroupNodeByParentId(parentId);
+	}*/
+
+	/**
+	 * 鍒犻櫎鎵�鍋堕潪鏈�鏂扮増鏈殑鏁版嵁锛坔odeHIs閲岄潰宸茬粡淇濆瓨杩囷級
+	 */
+	public void deleteOldEditionNodeData() {
+		baseMapper.deleteOldEditionNodeData();
 	}
+
+	/**
+	 * //鏇存柊宸插浐鍖栫殑锛屽悓鍚嶃�佷笉鍚屾満搴婄粍鐨勭▼搴忎负閿佸畾鐘舵��
+	 * @param packageNode
+	 */
+    public void lockSameNameOtherMachineGroupProgramPackage(NcNode packageNode) {
+		lambdaUpdate().eq(NcNode::getDrawingNo,packageNode.getDrawingNo())
+			.eq(NcNode::getProcessNo,packageNode.getProcessNo())
+			.eq(NcNode::getName,packageNode.getName())
+			.ne(NcNode::getMachineGroupCode,packageNode.getMachineGroupCode())
+			.eq(NcNode::getIsCured,1)
+			.eq(NcNode::getIsLastEdition,1)
+			.set(NcNode::getIsLocked,NcNode.LOCKED)
+			.set(NcNode::getRemark,"鍥炰紶鍥哄寲鍚屽悕绋嬪簭閿佸畾")
+			.update();
+    }
 }

--
Gitblit v1.9.3