From fc588c6e5ccac038cab378931d9bac3033e28f98 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期五, 04 七月 2025 11:29:16 +0800 Subject: [PATCH] 增加产品型号 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeService.java | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 11 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeService.java index 3cfc5de..d4c2b6a 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeService.java @@ -11,21 +11,25 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.utils.FileUtil; -import org.springblade.mdm.basesetting.machine.vo.MachineVO; import org.springblade.mdm.program.entity.NcProgramExchange; import org.springblade.mdm.program.mapper.NcProgramExchangeMapper; import org.springblade.mdm.program.vo.DncSendBackData; +import org.springblade.mdm.utils.CustomBinaryReader; +import org.springblade.mdm.utils.FileExchangeUtil; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.List; /** - * 涓嬪彂/鍥炰紶绋嬪簭缁熻 + * 绋嬪簭浜ゆ崲锛坉nc瀵煎叆/瀵煎嚭锛� * * @author yangys */ @@ -36,16 +40,16 @@ /** * dnc鍥炰紶鏂囦欢涓婁紶 - * @param file + * @param file 鏂囦欢 * @return */ - public void dncSendBackUpload(MultipartFile file) { - List<DncSendBackData> list=new ArrayList<>(); + public List<DncSendBackData> dncSendBackUpload(MultipartFile file) { + List<DncSendBackData> list ; try { String fileName = file.getOriginalFilename(); - InputStream fileInputStream = file.getInputStream(); - - byte[] bytes = FileUtil.copyToByteArray(fileInputStream); + //InputStream fileInputStream = file.getInputStream(); + InputStream zipFileInputStream = FileExchangeUtil.convertFileToZip(file.getInputStream()); + byte[] bytes = FileUtil.copyToByteArray(zipFileInputStream); list = parseDncZipFromByteArray(bytes); for(DncSendBackData dncSendBackData:list){ NcProgramExchange exchange=new NcProgramExchange(); @@ -57,10 +61,36 @@ } catch (IOException e) { log.error("涓婁紶dnc鏂囦欢澶辫触",e); + list = Collections.emptyList(); } - + return list; } + InputStream convertFileToZip(InputStream inputStream) throws IOException { + + File tempFile = createTempFile(); + FileOutputStream fos = new FileOutputStream(tempFile); + CustomBinaryReader.read(inputStream,fos); + + + FileInputStream dInstream = new FileInputStream(tempFile); + + return dInstream; + } + + /** + * 鍒涘缓涓�涓复鏃舵枃浠� + * @return + * @throws IOException + */ + File createTempFile() throws IOException { + Path tempDir = Paths.get(System.getProperty("java.io.tmpdir")); + // 鍦ㄤ复鏃剁洰褰曚腑鍒涘缓鏂囦欢 + String tfilename = "t"+System.currentTimeMillis(); + Path tempFile = Files.createTempFile(tempDir, tfilename, ".tmp"); + System.out.println("鍒涘缓鐨勪复鏃舵枃浠�: " + tempFile); + return tempFile.toFile(); + } public static List<DncSendBackData> parseDncZipFromByteArray(byte[] zipData) throws IOException { //List<DncSendBackData> datas = new ArrayList<>(); List<DncSendBackData> datas = ZipFileDirectoryScanner.getFilesInDirectoryRecursive(zipData, ""); @@ -107,6 +137,7 @@ * @param query 鏌ヨ鍙傛暟 * @return */ + public IPage<DncSendBackData> dncSendBackPageQuery(Query query) { IPage<DncSendBackData> page = this.getBaseMapper().dncSendBackpageQuery(Condition.getPage(query),query); -- Gitblit v1.9.3