From 76c5b07b6f1dd66e1eaf777bf3f6770b6ac85925 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 31 八月 2025 17:16:40 +0800
Subject: [PATCH] 修复工控网导出涉密网功能

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java |    3 -
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileHandleExcelVO.java                |    3 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java             |    1 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineAcceptedFileMapper.xml                |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java            |   40 +++++++++----------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineAcceptedFileVO.java                       |    4 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineAcceptedFile.java                     |    8 +++-
 7 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
index a37e995..22691fc 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
@@ -36,7 +36,6 @@
 public class MachineAcceptedFileHandleController {
 
 	private final MachineAcceptedFileService acceptedFileService;
-	private final MachineFileService machineFileService;
 	private final NcProgramExportInnerService ncProgramExportInnerService;
 	/**
 	 * 鍒嗛〉
@@ -51,7 +50,7 @@
 	@GetMapping("export-to-inner")
 	@ApiOperationSupport(order = 13)
 	@Operation(summary = "瀵煎嚭鍒版秹瀵嗙綉", description = "瀵煎嚭鍒版秹瀵嗙綉")
-	public void exportToInner(@Parameter(description = "瀹℃壒琛╥d鏁扮粍") String ids, HttpServletResponse response) {
+	public void exportToInner(@Parameter(description = "鏈哄簥鎺ユ敹鏂囦欢id鏁扮粍") String ids, HttpServletResponse response) {
 
 		if(Func.isBlank(ids)) {
 			throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭");
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineAcceptedFile.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineAcceptedFile.java
index 734b948..45c1710 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineAcceptedFile.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineAcceptedFile.java
@@ -14,15 +14,19 @@
 @Getter
 @TableName("mdm_machine_accepted_file")
 public class MachineAcceptedFile extends BizEntity {
+	/**
+	 * 鏂囦欢鍚�
+	 */
+	private String name;
 
 	/**
 	 * 鏈哄簥鏂囦欢鐨刬d
 	 */
 	private Long machineFileId;
 	/**
-	 * 纭鏃堕棿
+	 * 瀵煎嚭鏃堕棿
 	 */
-	private Date confirmTime;
+	private Date exportTime;
 	/**
 	 * 瀵硅薄瀛樺偍鏂囦欢鍚�
 	 */
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineAcceptedFileMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineAcceptedFileMapper.xml
index 473882e..a9d4414 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineAcceptedFileMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineAcceptedFileMapper.xml
@@ -22,7 +22,7 @@
 -->
     <!--鏈哄簥鍥炰紶绋嬪簭澶勭悊鍒嗛〉-->
     <select id="handlePageQuery" resultType="org.springblade.mdm.machinefile.vo.MachineAcceptedFileVO">
-        select f.id,mf.name,f.create_time,m.code machine_code, m.name machine_name,f.create_time,mf.program_status,mf.file_create_time
+        select f.id,f.name,f.create_time,m.code machine_code, m.name machine_name,f.create_time,mf.program_status,mf.file_create_time,f.export_time,f.create_time
         from mdm_machine_accepted_file f
             left join mdm_machine_file mf on f.machine_file_id=mf.id
         left join mdm_machine m on mf.machine_code=m.code
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
index a75669e..c217601 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
@@ -82,6 +82,7 @@
 		//鏂板缓涓�涓猰achineaceptedfile瀵硅薄锛屽瓨鍌ㄦ帴鏀跺悗鐨勬暟鎹�
 		MachineAcceptedFile machineAcceptedFile = new MachineAcceptedFile();
 		machineAcceptedFile.setMachineFileId(machineFileId);
+		machineAcceptedFile.setName(machineFile.getName());
 		String fullPath = machineFileService.getFilePath(machineFile);
 		try(InputStream inputStream = Files.newInputStream(Paths.get(fullPath));){
 			BladeFile bfile = ossTemplate.putFile(machineFile.getName(),inputStream);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
index 25aa000..e59e601 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
@@ -6,13 +6,13 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.oss.OssTemplate;
-import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.mdm.machinefile.entity.MachineAcceptedFile;
 import org.springblade.mdm.program.entity.NcProgramExchange;
 import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
-import org.springblade.mdm.program.service.NcNodeService;
-import org.springblade.mdm.program.service.NcProgramService;
 import org.springblade.mdm.utils.ProgramFileNameParser;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -30,41 +30,39 @@
 @Service
 @AllArgsConstructor
 public class NcProgramExportInnerService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
-	private final MachineAcceptedFileService machineBackFileService;
-	private final NcProgramService progService;
-	private final MachineFileService machineFileService;
-	private final NcNodeService ncNodeService;
+	private final MachineAcceptedFileService machineAcceptedService;
 	private final OssTemplate ossTemplate;
-
-	public static final String PROGRAM_JSON_FILE = "exp_mdm_nc_program.json";
-	public static final String NODE_JSON_FILE = "exp_mdm_nc_node.json";
-	public static final String APPROVE_RECORD_JSON_FILE = "exp_mdm_approve_record.json";
 
 
 	/**
 	 * 瀵煎嚭鍒版秹瀵嗙綉
-	 * @param machineFileIds
+	 * @param acceptedFileIds
 	 * @param os
 	 * @throws IOException
 	 */
-	public void exportToInner(List<Long> machineFileIds, ServletOutputStream os) throws IOException {
-		//FileOutputStream fos = new FileOutputStream("d:/exportDnc.zip");
+	@Transactional
+	public void exportToInner(List<Long> acceptedFileIds, ServletOutputStream os) throws IOException {
+
 		try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os
 
-			List<MachineFile>  machineFiles = machineFileService.lambdaQuery().in(MachineFile::getId,machineFileIds).list();
-			Map<String,List<MachineFile>> map =  machineFiles.stream()
+			List<MachineAcceptedFile>  acceptedFiles = machineAcceptedService.lambdaQuery().in(MachineAcceptedFile::getId,acceptedFileIds).list();
+			Map<String,List<MachineAcceptedFile>> map =  acceptedFiles.stream()
 				.collect(Collectors.groupingBy(s -> ProgramFileNameParser.parseProgramName(s.getName()).logicProgramName()));
 
-			for (Map.Entry<String, List<MachineFile>> entry : map.entrySet()) {
+			List<MachineAcceptedFile> exportedFiles = new ArrayList<>();
+			for (Map.Entry<String, List<MachineAcceptedFile>> entry : map.entrySet()) {
 				String programName = entry.getKey();
-				List<MachineFile> progMachineFiles = entry.getValue();
-				for (MachineFile mf : progMachineFiles) {
-					try(InputStream ins = machineFileService.getInputStream(mf)) {
-						addInputStreamToZip(zipOut,ins , programName + "/" + mf.getName());
+				List<MachineAcceptedFile> acceptedFileList = entry.getValue();
+				for (MachineAcceptedFile acceptedFile : acceptedFileList) {
+					try(InputStream ins = ossTemplate.statFileStream(acceptedFile.getOssName()) ) {
+						addInputStreamToZip(zipOut,ins , programName + "/" + acceptedFile.getName());
 					}
+					acceptedFile.setExportTime(DateUtil.now());
 				}
 
 			}
+
+			machineAcceptedService.updateBatchById(acceptedFiles);
 		}
 
 		os.close();
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineAcceptedFileVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineAcceptedFileVO.java
index 094b63d..d26857c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineAcceptedFileVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineAcceptedFileVO.java
@@ -21,8 +21,8 @@
 	private Integer programStatus;
 	@Schema(description = "鏂囦欢鍒拌揪鏃堕棿")
 	private Date fileCreateTime;
-	@Schema(description = "纭鏃堕棿")
-	private Date determineTime;
+	@Schema(description = "瀵煎嚭鏃堕棿")
+	private Date exportTime;
 
 
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileHandleExcelVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileHandleExcelVO.java
index ac8c40a..48049a2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileHandleExcelVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineBackFileHandleExcelVO.java
@@ -33,4 +33,7 @@
 	@ExcelProperty("鏂囦欢鍒拌揪鏃堕棿")
 	private Date fileCreateTime;
 
+	@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+	@ExcelProperty("瀵煎嚭鏃堕棿")
+	private Date exportTime;
 }

--
Gitblit v1.9.3