From 3baca21e0e6563f8379359ef2ba78c224eb4bc80 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 23 九月 2025 22:45:51 +0800
Subject: [PATCH] 修复审批表,确认表内容

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeAutoCreateService.java |  112 ++++++++++++++++++++++---------------------------------
 1 files changed, 45 insertions(+), 67 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 22c012b..1536d58 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
@@ -80,63 +80,21 @@
 		//鍔犲伐鏈哄簥鑺傜偣
 		return createNodeIfNotExists(programProperties.getMachineGroupCode(),NcNode.TYPE_MACHINE_GROUP, processEditionNode,programProperties,null);
 	}
-	/*
-	@Transactional
-	public NcNode createNodeTreeToProcessEdition(FlowProgramProperties programProperties) {
-		NcNode root;
-		if(programProperties.getProcessDefinitionKey().equals(FlowContants.TRY_PROCESS_KEY)){
-			if(Func.isEmpty(programProperties.getDeviation()) ||
-				(FlowContants.Y.equals(programProperties.getHasCuredProgram()) &&  FlowContants.N.equals(programProperties.getCureProgramUseable()))){
-				//鏅�氳瘯鍒囷紝鎴栬�呮湁鍥哄寲涓嶅彲鐢紝寤虹珛璇曞垏鑺傜偣
-				//璇曞垏鏍硅妭鐐�
-				root = rootNodeByName(TRY_NAME);
-				if (root == null) {
-					root = createTryNode();
-				}
-			}else{
-				//鏈夊亸绂�
-				root = rootNodeByName(DEVIATION_NAME);
-				if(root == null){
-					root = createDeviationNode();
-				}
-			}
-		}else if(programProperties.getProcessDefinitionKey().equals(FlowContants.CURE_PROCESS_KEY)){
-			root = rootNodeByName(CURE_NAME);
-			if(root == null){
-				root = createCureNode();
-			}
-		}else{
-			throw new ServiceException("娴佺▼瀹氫箟涓嶅湪鑼冨洿鍐�");
-		}
-		//鍒涘缓浜у搧鍨嬪彿鑺傜偣
-		NcNode productModelNode = createNodeIfNotExists(programProperties.getProductModel(),NcNode.TYPE_PRODUCT_MODEL, root,programProperties,null);
-		//闆剁粍浠跺彿鑺傜偣
-		NcNode drawingNoNode = createNodeIfNotExists(programProperties.getDrawingNo(),NcNode.TYPE_DRAWING_NO, productModelNode,programProperties,null);
-		//宸ヨ壓鐗堟鑺傜偣
-		//NcNode craftEditionNode = createNodeIfNotExists(programProperties.getCraftEdition(),NcNode.TYPE_CRAFT_EDITION, drawingNoNode,programProperties);
-		//宸ュ簭鍙疯妭
-		NcNode processNoNode = createNodeIfNotExists(programProperties.getProcessNo(),NcNode.TYPE_PROCESS_NO, drawingNoNode,programProperties,null);
-		//宸ュ簭鐗堟鑺傜偣
-		NcNode processEditionNode = createNodeIfNotExists(programProperties.getProcessEdition(),NcNode.TYPE_PROCESS_EDITION, processNoNode,programProperties,null);
-		//鍔犲伐鏈哄簥鑺傜偣
-		return createNodeIfNotExists(programProperties.getMachineCode(),NcNode.TYPE_MACHINE_CODE, processEditionNode,programProperties,null);
-	}
-	*/
+
 	/**
 	 * 鏍规嵁娴佺▼淇℃伅锛岃嚜鍔ㄥ垱寤哄悇涓妭鐐�,鍖呮嫭绋嬪簭鑺傜偣
 	 * @param programProperties 绋嬪簭灞炴��
 	 * @return 绋嬪簭鍖呰妭鐐瑰疄渚�
 	 */
 	@Transactional
-	public NcNode createNodeTreeWithProgram(FlowProgramProperties programProperties,Integer versionNumber) {
-		//,int rootNodeCatgory = 1:璇曞垏锛�2鍥哄寲锛�3鍋忕
-		NcNode programPkdNode = createTreeToPackage(programProperties,versionNumber);
+	public NcNode createNodeTreeWithProgram(FlowProgramProperties programProperties) {
+		NcNode programPkdNode = createTreeToPackage(programProperties);
 		//鍒犻櫎涔嬪墠鍒涘缓杩囩殑绋嬪簭鏂囦欢鑺傜偣(鍥犱负閲嶅鍦ㄧ紪鍒惰妭鐐瑰鎵�)锛岄伩鍏嶉噸澶嶆暟鎹�
-		ncNodeService.deleteSubNodes(programPkdNode.getId());
+		//ncNodeService.deleteSubNodes(programPkdNode.getId());//del 0923 18:07
 
-		List<FlowProgramFile> programFiles = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, programProperties.getProcessInstanceId()).list();
+		List<FlowProgramFile> programFiles = flowProgramFileService.listByProcessInstanceId(programProperties.getProcessInstanceId());
 		for (FlowProgramFile programFile : programFiles) {
-			createProgramFileNode(programFile, programPkdNode,versionNumber);//鎵�鏈夋枃浠跺寘鎷▼搴忓拰鍏朵粬锛岄兘闇�瑕佸缓绔嬭妭鐐�
+			createProgramFileNode(programFile, programPkdNode);//鎵�鏈夋枃浠跺寘鎷▼搴忓拰鍏朵粬锛岄兘闇�瑕佸缓绔嬭妭鐐�
 		}
 
 		return programPkdNode;
@@ -148,7 +106,7 @@
 	 * @param programPkdNode 绋嬪簭鍖呭悕 鑺傜偣锛岀▼搴忚妭鐐圭殑 涓婄骇
 	 * @param versionNumber 鐗堟湰鍙�
 	 */
-	private void createProgramFileNode(FlowProgramFile programFile, NcNode programPkdNode, Integer versionNumber) {
+	private void createProgramFileNode(FlowProgramFile programFile, NcNode programPkdNode) {
 		//姝ゅ搴旈伩鍏嶉噸澶嶅垱寤�
 
 		NcNode node = new NcNode();
@@ -161,11 +119,7 @@
 		node.setIsLastEdition(1);
 
 		node.setFlowProgramFileId(programFile.getId());
-		if(versionNumber == null){
-			node.setVersionNumber(1);
-		}else {
-			node.setVersionNumber(versionNumber);
-		}
+
 		node.setParentId(programPkdNode.getId());
 		node.setParentIds(programPkdNode.getParentIds()+","+programPkdNode.getId());
 
@@ -179,26 +133,50 @@
 	 * @return 绋嬪簭鍖呭悕鑺傜偣锛堟渶鏈骇锛�
 	 */
 	@Transactional
-	public NcNode createTreeToPackage(FlowProgramProperties programProperties,Integer versionNumber) {
+	public NcNode createTreeToPackage(FlowProgramProperties programProperties) {
 		NcNode machineGroupNode = createNodeTreeToMachineGroup(programProperties);
-		//NcNode processEditionNode = this.ncNodeService.getById(machineCodeNode.getParentId());
-		//鑾峰彇宸ュ簭鐗堟涓嬪叾浠栨満搴婂悕锛屽瓨鍦ㄥ垯鍒犻櫎
-		/*
-		ncNodeService.lambdaUpdate().eq(NcNode::getNodeType,NcNode.TYPE_MACHINE_GROUP)
-			.eq(NcNode::getParentId,processEditionNode.getId()).eq(NcNode::getIsLastEdition,1)
-			.ne(NcNode::getName,machineCodeNode.getName()).remove();
-
-		 */
 
 		//淇濇寔鍔犲伐鏈哄簥鏄渶鏂颁笅鍙戜换鍔$殑鏈哄簥锛屼笉鏄柊寤轰竴涓満搴婅妭鐐癸紝鎻掑彊宸ュ簭鐗堟涓嬫槸鍚︽湁鍏朵粬鐨勬満搴婏紙闆朵欢鍙蜂竴鑷达紝宸ュ簭鍙凤紝宸ュ簭鐗堟涓�鑷达級
-		//鑾峰彇
-		//绋嬪簭鍖呭悕鍦ㄦ満搴婄粍涓嬬骇 20250913
-		String programPkgName = NcNodeService.genProgramName(programProperties.getDrawingNo(),programProperties.getProcessNo(),programProperties.getProcessEdition());
-		return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineGroupNode,programProperties,versionNumber);
+		return createProgramPackageNode(programProperties,machineGroupNode);
+
+		//return createNodeIfNotExists(programPkgName ,NcNode.TYPE_PROGRAM_PACKAGE, machineGroupNode,programProperties,versionNumber);
 
 	}
 
 	/**
+	 * 鍒涘缓绋嬪簭鍖呭悕鑺傜偣
+	 * @param programProperties
+	 * @param parentNode
+	 * @return
+	 */
+	NcNode createProgramPackageNode(FlowProgramProperties programProperties,NcNode parentNode){
+		NcNode node = new NcNode();
+
+		node.setNodeType(NcNode.TYPE_PROGRAM_PACKAGE);
+		node.setName(NcNodeService.genProgramName(programProperties.getDrawingNo(),programProperties.getProcessNo(),programProperties.getProcessEdition()));
+		node.setProcessInstanceId(programProperties.getProcessInstanceId());
+		node.setDrawingNo(programProperties.getDrawingNo());
+		node.setDrawingNoEdition(programProperties.getDrawingNoEdition());
+		node.setCraftEdition(programProperties.getCraftEdition());
+		node.setProcessNo(programProperties.getProcessNo());
+		node.setProcessEdition(programProperties.getProcessEdition());
+		node.setProcessName(programProperties.getProcessName());
+		node.setMachineCode(programProperties.getMachineCode());
+		node.setMachineGroupCode(programProperties.getMachineGroupCode());
+		node.setProductModel(programProperties.getProductModel());
+
+		node.setDeviation(programProperties.getDeviation());
+		node.setProgramNo(programProperties.getProgramNo());
+		//node.setVersionNumber(versionNumber);
+
+		node.setParentId(parentNode.getId());
+		node.setParentIds(parentNode.subNodeParentIds());
+
+		ncNodeService.save(node);
+
+		return node;
+	}
+	/**
 	 * 涓嶅瓨鍦ㄥ垯鍒涘缓鑺傜偣
 	 * @param name 鑺傜偣鍚嶇О
 	 * @param nodeType 鑺傜偣绫诲瀷

--
Gitblit v1.9.3