From a638cb450abb78346ecf19754b639fc945bc486b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 10 八月 2025 19:21:16 +0800
Subject: [PATCH] zip包判断修复

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java |   25 +++++++++++++++++++------
 1 files changed, 19 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 cfb9dc0..bf874c4 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
@@ -15,6 +15,7 @@
 import org.springframework.stereotype.Component;
 
 import java.time.LocalDate;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -49,13 +50,19 @@
 		//绋嬪簭鍖呰妭鐐瑰拰涓嬪睘绋嬪簭鑺傜偣(鍖呮嫭鍘嗗彶鑺傜偣闈炴渶鏂扮増鏈殑)浠庤瘯鍒囨尓鍒板浐鍖栦笅闈�
 		//绋嬪簭鍖呰妭鐐� 璁剧疆鏈凡鍥哄寲
 		NcNode pkgNode =  nodeService.lambdaQuery().eq(NcNode::getProcessInstanceId, processInstanceId).one();
-		pkgNode.setIsCured(1);
-		//璁剧疆杩囨湡鏃ユ湡
-		pkgNode.setExpireDate(calculateExpireDate());
-		nodeService.updateById(pkgNode);
+		if(pkgNode.isDeviation()){
+			//鍋忕鐨勭▼搴忕洿鎺ラ攣瀹�
+			pkgNode.setIsLocked(1);
+			nodeService.updateById(pkgNode);
+		}else {
+			pkgNode.setIsCured(1);
+			//璁剧疆杩囨湡鏃ユ湡
+			pkgNode.setExpireDate(calculateExpireDate());
+			nodeService.updateById(pkgNode);
 
-		List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
-		moveNodeToCuredTree(pkgNode,historyNodes,flowCommonService.getProgramProperties(processInstanceId));
+			List<NcNode> historyNodes = nodeService.getNodeHistory(pkgNode);
+			moveNodeToCuredTree(pkgNode, historyNodes, flowCommonService.getProgramProperties(processInstanceId));
+		}
 	}
 
 	/**
@@ -68,6 +75,12 @@
 
 		//绉诲姩鍒板浐鍖栨爲涓嬬殑鏈哄簥鑺傜偣涓嬪眰
 		String newParentIds = machineNode.getParentIds()+","+machineNode.getId();
+
+		//鏇存柊鏈哄簥 涓嬪睘鑺傜偣鐨勬暟鎹� 涓烘棫鐗堟湰锛岄攣瀹�(鏈�鏂扮増鏈�=0锛宭ock=1)
+		this.nodeService.lambdaUpdate().likeRight(NcNode::getParentIds, newParentIds)
+			.in(NcNode::getNodeType, Arrays.asList(NcNode.TYPE_PROGRAM_PACKAGE,NcNode.TYPE_PROGRAM_FILE))
+			.set(NcNode::getIsLastEdition,0).set(NcNode::getIsLocked,1).update();
+
 		for(NcNode hisNode : historyNodes){
 			if(!hisNode.getId().equals(pkgNode.getId())){
 				hisNode.setIsLastEdition(0);

--
Gitblit v1.9.3