From f13fcaa8c4b0f413d8ee100adcb67669db183c68 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 16:47:58 +0800
Subject: [PATCH] 固化程序不可用锁定

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java |   97 +++++++-----------------------------------------
 1 files changed, 14 insertions(+), 83 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
index f0efed3..e77b85f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/dispatch/NormalFinishDataHandler.java
@@ -47,100 +47,31 @@
 		String programPkgName = NcNodeService.genProgramName(props.getDrawingNo(),props.getProcessNo());
 		//NcNode packageNode =createProgramNodes(props);
 		NcNode packageNode;// = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
-		if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.Y.equals(props.getCureProgramUseable())){
-			//鏈夊浐鍖栵紝涓旂▼搴忓彲鐢�
+		if(FlowContants.Y.equals(props.getHasCuredProgram())){
+			//鏈夊浐鍖�
 			packageNode = ncNodeService.getById(props.getCuredNodeId());
+
+			if(FlowContants.N.equals(props.getCureProgramUseable())) {
+				//绋嬪簭涓嶅彲鐢�
+				//鍘熸潵鐨勫浐鍖栬妭鐐归攣瀹�
+				packageNode.lock();
+				ncNodeService.updateById(packageNode);
+
+				Integer newVersion = packageNode.genNewVersionNumber();
+				packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
+				packageNode.setVersionNumber(newVersion);
+				ncNodeService.updateById(packageNode);
+			}
 
 		}else{
 			packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
 		}
 
-		if(FlowContants.Y.equals(props.getHasCuredProgram()) && FlowContants.N.equals(props.getCureProgramUseable())){
-			//鏈夊浐鍖� 浣嗕笉鍙敤锛岃瘯鍒囪妭鐐圭殑鏂拌妭鐐� 鐗堟湰鍙蜂负 鍥哄寲鐗堟湰鍙�+1
-			NcNode curedPackageNode = ncNodeService.getById(props.getCuredNodeId());
-			packageNode.setVersionNumber(curedPackageNode.genNewVersionNumber());
-			ncNodeService.updateById(packageNode);
-		}
-		//NcNode packageNode;
-		/*
-		if(FlowContants.Y.equals(props.getHasCuredProgram())){
-			//鏈夊浐鍖栵紝涓旂▼搴忓彲鐢紝浠庡浐鍖栨爲鏌ヨ鑺傜偣.浣跨敤娴佺▼涓繚瀛樼殑鑺傜偣
-			if(FlowContants.Y.equals(props.getCureProgramUseable())) {
-				packageNode = ncNodeService.getById(props.getCuredNodeId());
-			}else{
-				//涓嶅彲鐢紝鍘昏瘯鍒囨壘鏈�鏂拌妭鐐�
-				//packageNode = ncNodeService.getLastEditionCuredProgramPackage(programPkgName,props.getProcessEdition());
-				packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition());
-				//涓嶅彲鐢ㄧ殑鍥哄寲绋嬪簭閿佸畾
-				packageNode.lock();
-				ncNodeService.updateById(packageNode);
-			}
-		}else if(Func.isNotBlank(props.getDeviation())){
-			//鏈夊亸绂诲崟
-			packageNode = ncNodeService.getLastEditionDeviationProgramPackage(programPkgName,props.getProcessEdition());
-		}else{
-			//鏅�氳瘯鍒�
-			packageNode = ncNodeService.getLastEditionTryingProgramPackage(programPkgName,props.getProcessEdition());
-		}
-		*/
 		addApproveTable(packageNode,props);
 		updateApproveRecordNodeId(instId, packageNode.getId());
 		log.info("鏅�氭祦绋嬪凡瀹屾垚in DispatchFinishListener");
 	}
 
-	/**
-	 * 鑷姩鍒涘缓绋嬪簭鑺傜偣
-	 * @param progProperties 娴佺▼灞炴��
-	 */
-	NcNode createProgramNodes(FlowProgramProperties progProperties){
-		NcNode programPkgNode = null;
-		if(FlowContants.N.equals(progProperties.getHasCuredProgram())) {
-			//鏃犲浐鍖�:(璇曞垏鎴栬�呭亸绂�)
-			programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);
-		}else{
-			if(FlowContants.N.equals(progProperties.getCureProgramUseable())) {
-				programPkgNode = ncNodeAutoCreateService.createNodeTreeWithProgram(progProperties);//鏆傛椂涓庝笂闈娇鐢ㄧ浉鍚屼唬鐮侊紝createNodeTreeWithProgram涓尯鍒嗕簡鏅�氳瘯鍒囧拰涓嶅彲鐢ㄧ殑鎯呭喌
-			}
-			//鏈夊浐鍖栵紝绋嬪簭涓嶅彲鐢�,搴旇鍘昏瘯鍒囧缓绔嬭妭鐐�
-			/*
-			if(FlowContants.N.equals(progProperties.getCureProgramUseable())) {
-				//鍥哄寲绋嬪簭涓嶅彲鐢紝闇�瑕侀噸鏂板缓绔嬬▼搴忓寘鍚嶅拰鏂囦欢鑺傜偣;鍙敤鎯呭喌鍦ㄦ祦绋嬪鎵逛腑宸茬粡鍗囩骇杩囪妭鐐逛簡
-				NcNode curedProgramPackage = ncNodeService.getById(progProperties.getCuredNodeId());
-
-				NcNode newCuredPkgNode = new NcNode();
-				BeanUtils.copyProperties(curedProgramPackage, newCuredPkgNode);
-				EntityUtil.clearBaseProperties(newCuredPkgNode);
-				newCuredPkgNode.setIsLastEdition(1);
-				newCuredPkgNode.setIsLocked(0);
-				newCuredPkgNode.upgradeVersionNumber();
-				ncNodeService.save(newCuredPkgNode);
-
-				//鏂扮殑娴佺▼瀵瑰簲鐨勬枃浠舵洿鏂板埌鏂拌妭鐐逛笅
-				List<FlowProgramFile> newFlowFileList = flowProgramFileService.listByProcessInstanceId(progProperties.getProcessInstanceId());
-				for (FlowProgramFile newFlowFile : newFlowFileList) {
-					NcNode newProgramNode = new NcNode();
-					BeanUtils.copyProperties(newCuredPkgNode, newProgramNode);
-					EntityUtil.clearBaseProperties(newProgramNode);
-
-					newProgramNode.setName(newFlowFile.getName());
-					newProgramNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
-					newProgramNode.setParentId(newCuredPkgNode.getId());
-					newProgramNode.setIsLastEdition(1);
-					newProgramNode.setIsLocked(0);
-					newProgramNode.setParentIds(newCuredPkgNode.getParentIds() + "," + newCuredPkgNode.getId());
-					newProgramNode.setFlowProgramFileId(newFlowFile.getId());
-					ncNodeService.save(newProgramNode);
-				}
-
-				//鍘熻妭鐐规洿鏂颁负鑰佺増鏈紝閿佸畾
-				curedProgramPackage.setIsLastEdition(0);
-				curedProgramPackage.setIsLocked(1);
-				ncNodeService.updateById(curedProgramPackage);
-			}*/
-		}
-
-		return programPkgNode;
-	}
 
 	/**
 	 * 淇濆瓨瀹℃壒瀹屾垚鐨勮褰�

--
Gitblit v1.9.3