From 5f714d1dfafa201ac52da4ebb2cc3ff7a5e3a31f Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 05 八月 2025 17:36:15 +0800
Subject: [PATCH] 机床新增数据库逐渐重复报错

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
index 6b89979..18a6aa9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -132,8 +132,8 @@
 		NcProgramExchange exchange;
 		String pkgFileName = bladeRedis.get(getFileKey());
 
-		Map<Long,List<FlowProgramFile>> programPackageFileMap = new HashMap<>();
-		List<NcNode> newProgramPckageList = updateNodeDataByDNCBackData(pkgFileName,idList,programPackageFileMap);
+		Map<Long,List<NcNode>> programPackageSubMap = new HashMap<>();
+		List<NcNode> newProgramPckageList = updateNodeDataByDNCBackData(pkgFileName,idList,programPackageSubMap);
 
 		for(NcNode pkgNode :newProgramPckageList){
 			exchange = new NcProgramExchange();
@@ -144,17 +144,17 @@
 			this.save(exchange);
 		}
 
-		cureFlowService.startCure(newProgramPckageList,programPackageFileMap);
+		cureFlowService.startCure(newProgramPckageList,programPackageSubMap);
 	}
 
 	/**
 	 * 鏇存柊鑺傜偣锛屼富瑕佹槸鍒涘缓 绋嬪簭鍖呭悕 鐨勬柊鐗堟湰銆�
 	 * @param pkgFileName zip鏂囦欢鍚�
 	 * @param programPackageIdList 绋嬪簭鍖呭悕 鑺傜偣鐨刬d鍒楄〃
-	 * @param programPackageFileMap 鏂扮殑 绋嬪簭鍖呰妭鐐筰d -> =鏂囦欢鍒楄〃 map锛岀敤浜庡洖浼犳暟鎹�
+	 * @param programPackageSubMap 鏂扮殑 绋嬪簭鍖呰妭鐐筰d -> =鏂囦欢鍒楄〃 map锛岀敤浜庡洖浼犳暟鎹�
 	 * @throws IOException 璁块棶鏂囦欢寮傚父
 	 */
-	List<NcNode> updateNodeDataByDNCBackData(String pkgFileName, List<Long> programPackageIdList,Map<Long,List<FlowProgramFile>> programPackageFileMap) throws IOException {
+	List<NcNode> updateNodeDataByDNCBackData(String pkgFileName, List<Long> programPackageIdList,Map<Long,List<NcNode>> programPackageSubMap) throws IOException {
 		InputStream inputStream = this.ossTemplate.statFileStream(pkgFileName);
 		Path tempZipFile = createTempFile(inputStream);
 		List<NcNode> newProgramPackageNodeList = new ArrayList<>();
@@ -194,7 +194,8 @@
 				oriProgramPkg.setIsLastEdition(0);;
 				ncNodeService.updateById(oriProgramPkg);
 
-				List<FlowProgramFile> newFlowFiles = new ArrayList<>();
+				//List<FlowProgramFile> newFlowFiles = new ArrayList<>();
+				List<NcNode> newProgramNodes = new ArrayList<>();
 				//鏌ユ壘鍖呬笅鐨勬枃浠舵暟鎹�,
 				entryNameList.stream().filter(s -> s.startsWith(dir)).forEach(entryName -> {
 					log.info("{}涓嬬殑鏂囦欢锛歿}",dir,entryName);
@@ -211,9 +212,9 @@
 						BeanUtils.copyProperties(oldProgramNode, newProgramNode);
 						clearBaseProperties(newProgramNode);
 						newProgramNode.setIsLastEdition(1);
-						newProgramNode.setParentId(newProgramPkg.getParentId());
+						newProgramNode.setParentId(newProgramPkg.getId());
 						newProgramNode.setParentIds(newProgramPkg.getParentIds()+","+newProgramPkg.getId());
-						ncNodeService.save(newProgramNode);
+						//ncNodeService.save(newProgramNode);
 						//灏嗗洖浼犳枃浠朵笂浼狅紝骞惰褰曞埌鏁版嵁搴�
 
 						FlowProgramFile oldFlowFile = flowProgramFileService.getById(newProgramNode.getFlowProgramFileId());
@@ -230,16 +231,16 @@
 						} catch (IOException e) {
 							throw new RuntimeException(e);
 						}
-
-						newFlowFiles.add(newFlowFile);
-
+						newProgramNode.setFlowProgramFile(newFlowFile);
+						newProgramNode.setVersionNumber(oldProgramNode.genNewVersionNumber());
+						newProgramNodes.add(newProgramNode);
 						oldProgramNode.setIsLastEdition(0);
 						oldProgramNode.setIsLocked(1);
 						ncNodeService.updateById(oldProgramNode);
 					}
 				});
 
-				programPackageFileMap.put(newProgramPkg.getId(),newFlowFiles);
+				programPackageSubMap.put(newProgramPkg.getId(),newProgramNodes);
 			}
 
 		}

--
Gitblit v1.9.3