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