From 44b55dd34d09090fe6fdeb7d2428efe9e775424c Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 13 八月 2025 22:54:14 +0800
Subject: [PATCH] 增加流程文件下载接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
index a5f6008..0aa3b52 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java
@@ -40,7 +40,6 @@
 	 */
 	@Transactional
 	public NcNode createNodeTreeToMachine(FlowProgramProperties programProperties) {
-
 		NcNode root;
 		if(programProperties.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY)){
 			if(Func.isEmpty(programProperties.getDeviation())){
@@ -69,9 +68,9 @@
 		//闆剁粍浠跺彿鑺傜偣
 		NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,programProperties);
 		//宸ヨ壓鐗堟鑺傜偣
-		NcNode craftEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_CRAFT_EDITION, drawingNoNode,programProperties);
+		//NcNode craftEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_CRAFT_EDITION, drawingNoNode,programProperties);
 		//宸ュ簭鍙疯妭
-		NcNode processNoNode = createNodeIfNotExists(programProperties.getProcessNo(),NcNode.TYPE_PROCESS_NO, craftEditionNode,programProperties);
+		NcNode processNoNode = createNodeIfNotExists(programProperties.getProcessNo(),NcNode.TYPE_PROCESS_NO, drawingNoNode,programProperties);
 		//宸ュ簭鐗堟鑺傜偣
 		NcNode processEditionNode = createNodeIfNotExists(programProperties.getProcessEdition(),NcNode.TYPE_PROCESS_EDITION, processNoNode,programProperties);
 		//鍔犲伐鏈哄簥鑺傜偣
@@ -132,8 +131,17 @@
 	@Transactional
 	public NcNode createTreeToPackage(FlowProgramProperties programProperties) {
 		NcNode machineCodeNode = createNodeTreeToMachine(programProperties);
+		NcNode processEditionNode = this.ncNodeService.getById(machineCodeNode.getParentId());
+		//鑾峰彇宸ュ簭鐗堟涓嬪叾浠栨満搴婂悕锛屽瓨鍦ㄥ垯鍒犻櫎
+		ncNodeService.lambdaUpdate().eq(NcNode::getNodeType,NcNode.TYPE_MACHINE_CODE)
+			.eq(NcNode::getParentId,processEditionNode.getId()).eq(NcNode::getIsLastEdition,1)
+			.ne(NcNode::getName,machineCodeNode.getName()).remove();
+
+		//淇濇寔鍔犲伐鏈哄簥鏄渶鏂颁笅鍙戜换鍔$殑鏈哄簥锛屼笉鏄柊寤轰竴涓満搴婅妭鐐癸紝鎻掑彊宸ュ簭鐗堟涓嬫槸鍚︽湁鍏朵粬鐨勬満搴婏紙闆朵欢鍙蜂竴鑷达紝宸ュ簭鍙凤紝宸ュ簭鐗堟涓�鑷达級
+		//鑾峰彇
+		//鍔犲伐鏈哄簥鍜岀▼搴忓寘鍚嶅湪鍚屼竴绾ц妭鐐�,鍚屽湪宸ュ簭鐗堟涓嬬骇
 		String programPkgName = NcNodeService.genProgramName(programProperties.getDrawingNo(),programProperties.getProcessNo());
-		return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineCodeNode,programProperties);
+		return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, processEditionNode,programProperties);
 
 	}
 
@@ -143,7 +151,7 @@
 	 * @param nodeType 鑺傜偣绫诲瀷
 	 * @param parentNode 鐖惰妭鐐�
 	 * @param programProperties 娴佺▼绋嬪簭灞炴��
-	 * @return
+	 * @return 鍒涘缓鎴栧凡瀛樺湪鐨勮妭鐐规垨
 	 */
 	NcNode createNodeIfNotExists(String name,String nodeType,NcNode parentNode,FlowProgramProperties programProperties) {
 		Optional<NcNode>  nodeOpt = this.ncNodeService.lambdaQuery().eq(NcNode::getName,name).eq(NcNode::getNodeType,nodeType)

--
Gitblit v1.9.3