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/flow/excution/dispatch/NormalFinishDataHandler.java |   60 +++++++++++++++++-------------------------------------------
 1 files changed, 17 insertions(+), 43 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 64ac2f0..6cd2f89 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
@@ -8,7 +8,7 @@
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
-import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.constants.FlowConstant;
 import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.excution.ListenerHelper;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -16,12 +16,10 @@
 import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeAutoCreateService;
+import org.springblade.mdm.program.service.NcNodeHisService;
 import org.springblade.mdm.program.service.NcNodeService;
-import org.springblade.mdm.program.service.NcProgramApprovedService;
-import org.springblade.mdm.program.service.ProgramAnnotationService;
 import org.springblade.mdm.program.service.programannotation.*;
 import org.springblade.mdm.utils.ProgramFileNameParser;
-import org.springblade.system.pojo.entity.DictBiz;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -29,7 +27,6 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -49,11 +46,11 @@
 	@Autowired
 	private NcNodeAutoCreateService ncNodeAutoCreateService;
 	@Autowired
-	private ProgramAnnotationService programAnnotationService;
-	@Autowired
 	private ListenerHelper listenerHelper;
 	@Autowired
 	private OssTemplate ossTemplate;
+	@Autowired
+	private NcNodeHisService ncNodeHisService;
 
 	/**
 	 * DispatchFinishListener涓皟鐢�
@@ -61,35 +58,34 @@
 	 */
 	public void handleData(FlowProgramProperties props) throws IOException {
 		// 鎵ц涓氬姟閫昏緫
-		LocalDateTime now = LocalDateTime.now();
 		NcNode packageNode;
-		if(FlowContants.Y.equals(props.getHasCuredProgram())){
+		if(FlowConstant.Y.equals(props.getHasCuredProgram())){
 			//鏈夊浐鍖�
 			packageNode = ncNodeService.getById(props.getCuredNodeId());
 
-			if(FlowContants.N.equals(props.getCureProgramUseable())) {
+			if(FlowConstant.N.equals(props.getCureProgramUseable())) {
 				//绋嬪簭涓嶅彲鐢紝鍘熸潵鐨勫浐鍖栬妭鐐归攣瀹�
 				packageNode.lock();
 				ncNodeService.updateById(packageNode);
 
 				//鐗堟湰鍙锋牴鎹浂缁勪欢鍙�+宸ュ簭鍙凤紝宸ュ簭鐗堟锛屾満搴婄粍 鐩存帴鏌ヨ鏁伴噺锛�+1鑾峰彇
-				Integer newVersion = ncNodeService.calculateVersionNumber(packageNode);
-				//Integer newVersion = packageNode.genNewVersionNumber();
-
-				packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,newVersion);
+				Integer newVersion = ncNodeHisService.calculateVersionNumber(packageNode);
+				packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
+				packageNode.setVersionNumber(newVersion);
+				ncNodeService.updateById(packageNode);
 			}else{
-				//String oriProcessEdition = packageNode.getProcessEdition();
 				//鍙敤锛岀┖鍗囩増锛堜慨鏀瑰叾宸ュ簭鐗堟锛夛紝鍘熸潵鐨勮妭鐐规竻闄�
 				moveToNewProcessEdition(packageNode,props);
-
 				//鏇存柊宸插浐鍖栫殑锛屽悓鍚嶃�佷笉鍚屾満搴婄粍鐨勭▼搴忎负閿佸畾鐘舵��
 				ncNodeService.lockSameNameOtherMachineGroupProgramPackage(packageNode);
 			}
 		}else{
-			//鏅�氳瘯鍒�
-			packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props,1);
+			//鏅�氳瘯鍒�/涓存椂鏇存敼鍗�
+			packageNode = ncNodeAutoCreateService.createNodeTreeWithProgram(props);
+			Integer newVersion = ncNodeHisService.calculateVersionNumber(packageNode);
 			long hisSerial = ncNodeService.calculateHistorySerial(packageNode);
 			packageNode.setHisSerial(hisSerial);
+			packageNode.setVersionNumber(newVersion);
 			ncNodeService.updateById(packageNode);
 		}
 
@@ -109,25 +105,9 @@
 
 		FlowProgramProperties tempProps = new FlowProgramProperties();
 		BeanUtils.copyProperties(props,tempProps);
-		tempProps.setProcessDefinitionKey(FlowContants.CURE_PROCESS_KEY);//涓存椂淇敼鍏朵负鍥哄寲,鍦ㄥ浐鍖栦笅鍒涘缓鑺傜偣
+		tempProps.setProcessDefinitionKey(FlowConstant.CURE_PROCESS_KEY);//涓存椂淇敼鍏朵负鍥哄寲,鍦ㄥ浐鍖栦笅鍒涘缓鑺傜偣
 		NcNode machineGroupNode = ncNodeAutoCreateService.createNodeTreeToMachineGroup(tempProps);
 
-		//绉诲姩鍘嗗彶鑺傜偣鍒版柊鐨勭増娆¤妭鐐逛笅
-		/*
-		List<NcNode> packageHisNodes = ncNodeService.getTryNodeHistory(packageNode);//璇ュ寘鐨勫巻鍙茶妭鐐瑰垪琛�
-		for(NcNode hisPackageNode : packageHisNodes){
-			hisPackageNode.setParentId(machineGroupNode.getId());
-			hisPackageNode.setParentIds(machineGroupNode.getParentIds()+","+machineGroupNode.getId());
-
-			List<NcNode> oriProgramNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId,hisPackageNode.getId()).list();
-
-			for(NcNode oldProgramNode : oriProgramNodes){
-				oldProgramNode.setParentIds(hisPackageNode.getParentIds()+","+hisPackageNode.getId());
-			}
-			ncNodeService.updateBatchById(oriProgramNodes);
-		}
-		ncNodeService.updateBatchById(packageHisNodes);
-		*/
 		//绉诲姩绋嬪簭鍖呭悕鑺傜偣
 		packageNode.setProcessEdition(tempProps.getProcessEdition());
 		packageNode.setParentId(machineGroupNode.getId());
@@ -137,7 +117,6 @@
 		this.ncNodeService.updateById(packageNode);
 		Machine machine = machineService.getByCode(packageNode.getMachineCode());
 		//绉诲姩绋嬪簭鑺傜偣
-		//List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
 		List<NcNode> programNodes = ncNodeService.getProgramFilesByPackageId(packageNode.getId());
 		for(NcNode programNode : programNodes){
 			FlowProgramFile progFile = this.flowProgramFileService.getById(programNode.getFlowProgramFileId());
@@ -180,15 +159,10 @@
 		try(InputStream ins = ossTemplate.statFileStream(flowProgramFile.getOssName());){
 			ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(IOUtils.toByteArray(ins));
 
-			//List<DictBiz> annoDictList = programAnnotationService.getAnnotionDictList();
 
 			AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(controlSystem,this.annotationConfig);
-			/*
-			AnnotationProperties annoProps = annotationConfig.getConfigMap().get(controlSystem);
-			if(annoProps == null){
-				annoProps = AnnotationProperties.getDefault();
-			}*/
-			InputStream finishedStream = annoProcessor.setFilenameAnnotation(filename,byteInputStream);
+
+			InputStream finishedStream = annoProcessor.putFilenameAnnotation(filename,byteInputStream);
 			//InputStream finishedStream = AnnotationUtil.setAnnotationAndGetInputStream(byteInputStream, "GH", annoProps.getStatusLineIndex(), controlSystem, annoDictList);
 			try(finishedStream) {
 				finishedStream.reset();

--
Gitblit v1.9.3