From 0ef4cc755bddd87799b8bfdd65c8123df6e149d0 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 17 八月 2025 23:52:51 +0800
Subject: [PATCH] 锁定流程完成

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
index a3152e3..6965f41 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -3,7 +3,6 @@
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
-import org.checkerframework.checker.units.qual.N;
 import org.flowable.engine.delegate.DelegateExecution;
 import org.springblade.core.oss.OssTemplate;
 import org.springblade.core.oss.model.BladeFile;
@@ -47,8 +46,6 @@
 	private final ProgramAnnotationService programAnnotationService;
 	private final MachineService machineService;
 
-	public static final String GH = "GH";
-
 
 	/**
 	 * 榛樿鏈夋晥鏈熼棿锛堟湀鏁帮級,2骞�
@@ -77,13 +74,15 @@
 		NcNode pkgNode =  nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, processInstanceId).one();
 		if(pkgNode.isDeviationProgram()){
 			//鍋忕鐨勭▼搴忕洿鎺ラ攣瀹�
-			pkgNode.setIsLocked(1);
+			//pkgNode.setIsLocked(1);
+			pkgNode.lock();
 			nodeService.updateById(pkgNode);
 		}else {
 			//璇曞垏鐨�
 			pkgNode.setIsCured(1);
+			pkgNode.setIsLocked(NcNode.UNLOCK);
 			//璁剧疆杩囨湡鏃ユ湡
-			pkgNode.upgradeVersionNUmber();
+			pkgNode.upgradeVersionNumber();
 			pkgNode.setExpireDate(calculateExpireDate());
 			nodeService.updateById(pkgNode);
 
@@ -101,9 +100,13 @@
 		//鍒涘缓鑺傜偣鍒版満搴婄骇鍒�.(鍥哄寲鏍�)
 		NcNode machineNode = ncNodeAutoCreateService.createNodeTreeToMachine(programProperties);
 
+		pkgNode.setParentId(machineNode.getParentId());
+		pkgNode.setParentIds(machineNode.getParentIds());//鏇存柊涓婄骇鑺傜偣锛屼笅闈㈣繕瑕佺敤搴斾负鍦╤istoryProgramPackageNodes涓殑鍜岃繖涓笉鏄竴涓疄渚�
 		//鏈哄簥涓嬬幇鍦ㄦ病鏈夋枃浠朵簡锛岀▼搴忓寘鍚嶅崌绾т笌鏈哄簥鍚岀骇浜嗭紝鏀逛负鎵惧埌鏈哄簥鍚岀骇绋嬪簭鍖呭悕鏇存柊浜�
+		//TODO 杩欎釜parentIds鏄笉鏄笉澶燂紵锛屼笉澶燂紝涓�涓満搴婁笅澶氫釜绋嬪簭鍖呯殑鎯呭喌涓嶈鍚э紝浣嗘槸鎸夌収鏍戯紝澶氫釜绋嬪簭鍖呬笉澶幇瀹�
 		this.nodeService.lambdaUpdate().likeRight(NcNode::getParentIds, machineNode.getParentIds())
 			.in(NcNode::getNodeType, Arrays.asList(NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE))
+			.ne(NcNode::getId,pkgNode.getId())//涓嶈鏇存柊鏂板浐鍖栫殑鑺傜偣new
 			.set(NcNode::getIsLastEdition,0).set(NcNode::getIsLocked,1).update();
 
 		for(NcNode hisPackageNode : historyProgramPackageNodes){
@@ -113,7 +116,7 @@
 			hisPackageNode.setParentId(machineNode.getParentId());
 			hisPackageNode.setParentIds(machineNode.getParentIds());//绋嬪簭鍖呬笌鏈哄簥鑺傜偣鍚岀骇
 
-			//澶勭悊绋嬪簭鍖呬笅灞傜殑绋嬪簭鑺傜偣
+			//澶勭悊绋嬪簭鍖呬笅灞傜殑绋嬪簭鑺傜偣111
 			List<NcNode> programNodes = nodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list();
 			for(NcNode programNode : programNodes){
 				programNode.setIsLastEdition(0);
@@ -132,6 +135,12 @@
 			newProgNode.setName(flowProgramFile.getName());
 			newProgNode.setNodeType(NcNode.TYPE_PROGRAM_FILE);
 			newProgNode.setParentId(pkgNode.getId());
+			newProgNode.setDrawingNo(pkgNode.getDrawingNo());
+			newProgNode.setDrawingNoEdition(pkgNode.getDrawingNoEdition());
+			newProgNode.setMachineCode(pkgNode.getMachineCode());
+			newProgNode.setProcessEdition(pkgNode.getProcessEdition());
+			newProgNode.setProcessName(pkgNode.getProcessName());
+			newProgNode.setProcessNo(pkgNode.getProcessNo());
 			newProgNode.setParentIds(pkgNode.getParentIds()+","+pkgNode.getId());
 			newProgNode.setIsLastEdition(1);
 			newProgNode.setVersionNumber(pkgNode.getVersionNumber());

--
Gitblit v1.9.3