From edd4eb1d5eed4085bbe80cb65116fe585a13c42f Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期一, 23 六月 2025 22:49:34 +0800 Subject: [PATCH] dnc导入完善 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java | 131 ++++++++----------------------------------- 1 files changed, 25 insertions(+), 106 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java index b95dd4c..cfe41ef 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java @@ -34,8 +34,13 @@ import org.apache.commons.compress.utils.IOUtils; import org.apache.commons.compress.utils.SeekableInMemoryByteChannel; import org.flowable.engine.*; +import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.FileUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.mdm.flow.service.CureFlowService; +import org.springblade.mdm.program.entity.NcProgram; +import org.springblade.mdm.program.entity.NcProgramExchange; +import org.springblade.mdm.program.mapper.NcProgramExchangeMapper; import org.springblade.mdm.program.vo.DncSendBackData; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -58,81 +63,16 @@ @AllArgsConstructor public class DncSendBackService { - private final RepositoryService repositoryService; - private final RuntimeService runtimeService; - private final HistoryService historyService; - private final ProcessEngine processEngine; - - /** - * dnc鍥炰紶鏂囦欢涓婁紶 - * @param file - * @return - */ - public List<DncSendBackData> dncSendBackUpload(MultipartFile file) { - List<DncSendBackData> list=new ArrayList<>(); - try { - String fileName = file.getOriginalFilename(); - InputStream fileInputStream = file.getInputStream(); - - byte[] bytes = FileUtil.copyToByteArray(fileInputStream); - list = parseDncZipFromByteArray(bytes); - //TODO 瑙f瀽涓哄垪琛ㄦ枃浠� - - DncSendBackData dt = new DncSendBackData(); - dt.setId(1L); - dt.setProgramName("test.nc"); - dt.setProgramNo("001"); - - list.add(dt); - - } catch (IOException e) { - log.error("涓婁紶dnc鏂囦欢澶辫触",e); - } - - return list; - } - - public static List<DncSendBackData> parseDncZipFromByteArray(byte[] zipData) throws IOException { - //List<DncSendBackData> datas = new ArrayList<>(); - List<DncSendBackData> datas = ZipFileDirectoryScanner.getFilesInDirectoryRecursive(zipData, ""); + //private final RepositoryService repositoryService; + //private final RuntimeService runtimeService; + //private final HistoryService historyService; + //private final ProcessEngine processEngine; + private final NcProgramService ncProgramService; + private final CureFlowService cureFlowService; + private final NcProgramExchangeMapper ncProgramExchangeMapper; - /* - try (ByteArrayInputStream bis = new ByteArrayInputStream(zipData); - ZipArchiveInputStream zis = new ZipArchiveInputStream(bis)) { - - - ZipArchiveEntry entry; - while ((entry = zis.getNextZipEntry()) != null) { - DncSendBackData prog = new DncSendBackData(); - prog.setProgramName(entry.getName()); - if (!entry.isDirectory()) { - System.out.println("鏂囦欢鍚�: " + entry.getName()); - System.out.println("澶у皬: " + entry.getSize()); - - // 璇诲彇鏂囦欢鍐呭鍒板瓧鑺傛暟缁� - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - IOUtils.copy(zis, outputStream); - byte[] fileContent = outputStream.toByteArray(); - - // 澶勭悊鏂囦欢鍐呭... - System.out.println("鍐呭闀垮害: " + fileContent.length); - }else{ - //鏂囦欢澶癸紝璇诲唴閮ㄦ枃浠讹紝鑾峰彇鏂囦欢鍒楄〃 - - System.out.println("鏂囦欢澶圭▼搴忥細"+entry.getName()); - List<String> children = new ArrayList<>(); - prog.setChildren(children); - } - - datas.add(prog); - } - - - }*/ - return datas; - } /** * 鍏ュ簱鍥炰紶鏂囦欢,骞跺惎鍔ㄥ浐鍖栨祦绋� * @param ids @@ -140,43 +80,22 @@ */ public void dncFileAccept(String ids) { List<Long> idList = Func.toLongList(ids); + NcProgramExchange exchange; + NcProgram program; for (Long id : idList) { + exchange = ncProgramExchangeMapper.selectById(id); + exchange.setStatus(2);//宸插叆搴撶姸鎬� + program = ncProgramService.getLastNcProgram(exchange.getName()); + + //濡傛灉鏄凡缁忓浐鍖栫殑鍒欎笉闇�瑕佸惎鍔ㄦ祦绋� //鍚姩鍥哄寲娴佺▼ - } - - } - - -} - -class ZipFileDirectoryScanner { - - public static List<DncSendBackData> getFilesInDirectoryRecursive(byte[] zipData, String dirPath) throws IOException { - List<DncSendBackData> list = new ArrayList<>(); - - if (!dirPath.endsWith("/")) { - dirPath += "/"; - } - - try (SeekableInMemoryByteChannel channel = new SeekableInMemoryByteChannel(zipData); - ZipFile zipFile = new ZipFile(channel)) { - - Enumeration<ZipArchiveEntry> entries = zipFile.getEntries(); - while (entries.hasMoreElements()) { - ZipArchiveEntry entry = entries.nextElement(); - String entryName = entry.getName(); - DncSendBackData d = new DncSendBackData(); - d.setProgramName(entryName); - if(entry.isDirectory()){ - d.setHasChildren(true); - } - list.add(d); - - //if (entryName.startsWith(dirPath) && !entry.isDirectory()) { - // fileList.add(entryName); - //} + if(program.getIsCured() !=1) {//鏈浐鍖栫殑绋嬪簭锛屽惎鍔ㄥ浐鍖栨祦绋� + cureFlowService.start(program.getId()); } } - return list; + } + + } + -- Gitblit v1.9.3