From 4988082dcafba6a928aab186ae18a8da3e16795e Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 18 八月 2025 12:00:55 +0800
Subject: [PATCH] 替换流程发起,增加文件校验

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
index bb90ce4..f91092c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -78,21 +78,24 @@
 	 */
 	public void exportDnc(Long[] approvedIdArray, OutputStream os) throws IOException {
 		//FileOutputStream fos = new FileOutputStream("d:/exportDnc.zip");
-		try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os
+		try (ZipOutputStream zipOut = new ZipOutputStream(os);os) {//os
 
 			for (Long approvedId : approvedIdArray) {
 				NcProgramApproved approved = approvedService.getById(approvedId);
 				addProgramPackageToZip(zipOut,approved);
+
+				approved.setStatus(NcProgramApproved.STATUS_EXPORTED);
+				approvedService.updateById(approved);
 			}
 
 			//鐘舵�佷慨鏀逛负宸插鍑�
+			/*
 			approvedService.lambdaUpdate().in(NcProgramApproved::getId, Arrays.asList(approvedIdArray))
-				.set(NcProgramApproved::getStatus,NcProgramApproved.STATUS_EXPORTED).update();
+				.set(NcProgramApproved::getStatus,NcProgramApproved.STATUS_EXPORTED).update();*/
 		}catch(Exception e){
+			Throwable [] err = e.getSuppressed();
 			throw new ServiceException("瀵煎嚭宸ユ帶缃戦敊璇�"+e.getMessage());
 		}
-
-		os.close();
 
 	}
 
@@ -106,6 +109,9 @@
 		ZipEntry zipEntry = new ZipEntry(packageFolder);// "/"缁撳熬琛ㄧず鏂囦欢澶�
 		zipOut.putNextEntry(zipEntry);
 		zipOut.closeEntry();
+
+		NcNode packageNode = ncNodeService.getById(approved.getNcNodeId());
+		Machine machine = machineService.getByCode(packageNode.getMachineCode());//绋嬪簭鍖呰妭鐐癸紝鑾峰彇娉ㄩ噴鐢�
 
 		List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getIsLastEdition,1).eq(NcNode::getParentId, approved.getNcNodeId()).list();
 
@@ -123,7 +129,6 @@
 			programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
 			if(programFile.isProgram()) {//绋嬪簭鏂囦欢锛屾墠浼氬姞鍏ュ帇缂╁寘
 				InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
-				Machine machine = machineService.getByCode(node.getMachineCode());
 				InputStream addedIns1 = addSendDirAnnotation(inputStream, machine, annotationList);
 				InputStream addedIns2 = addProgramStatusAnnotation(addedIns1, status, machine, annotationList);
 				this.addInputStreamToZip(zipOut, addedIns2, filePathInZip);

--
Gitblit v1.9.3