From 4c7296d45efe849dc70a3b2e2240c905481a91c9 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 29 九月 2025 17:44:46 +0800
Subject: [PATCH] 工控网涉密网联调

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java |   93 ++++++++--------------------------------------
 1 files changed, 16 insertions(+), 77 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
index 75c8c24..6f91428 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
@@ -1,11 +1,9 @@
 
 package org.springblade.mdm.program.service;
 
-import jodd.util.annotation.AnnotationParser;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BizServiceImpl;
@@ -16,7 +14,6 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.commons.contants.RegExpConstants;
 import org.springblade.mdm.commons.contants.ZipConstants;
 import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
 import org.springblade.mdm.gkw.task.entity.MachineBackTask;
@@ -43,7 +40,6 @@
 import java.time.Duration;
 import java.util.*;
 import java.nio.file.*;
-import java.util.regex.Matcher;
 import java.util.stream.Stream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
@@ -260,8 +256,8 @@
 		MdmProgramImportVO vo = new MdmProgramImportVO();
 		vo.setFilename(path.getFileName().toString());
 
-		ProgramNameVO pnmameVO = tryParseProgramName(vo.getFilename());
-		vo.setDrawingNo(pnmameVO.getDrawingNo());
+		ProgramNameVO progNmameVO = tryParseProgramName(vo.getFilename());
+		vo.setDrawingNo(progNmameVO.getDrawingNo());
 
 		try (InputStream inputStream = Files.newInputStream(path)) {
 			// 浣跨敤杈撳叆娴佽鍙栨枃浠跺唴瀹�
@@ -286,7 +282,7 @@
 			Machine matchedMachine = machineService.getMachineBySendPathAnnotation(sendPathLine);
 
 			if (matchedMachine != null) {
-				vo.setName(pnmameVO.logicProgramName());
+				vo.setName(progNmameVO.logicProgramName());
 				vo.setMachineCode(matchedMachine.getCode());
 
 				vo.setFullPath(path.toString());//鏂囦欢鍦板潃
@@ -300,68 +296,7 @@
 		}
 		return vo;
 	}
-	/**
-	 * 瑙f瀽鍑洪浂缁勪欢濂�
-	 * @param filename
-	 * @return
-	 */
-	/*
-	String parseDrawingNo(String filename){
 
-		/*
-		String drawingNo = "";
-		int idx = filename.lastIndexOf("-");
-		String temp;
-		if(idx != -1){
-			temp = filename.substring(0,idx);
-
-			idx = temp.lastIndexOf("-");
-			if(idx != -1){
-				temp = temp.substring(0,idx);
-
-				//鍘绘帀宸ュ簭鐗堟
-				idx = temp.lastIndexOf("-");
-				if(idx != -1){
-					temp = temp.substring(0,idx);
-
-					//鍘绘帀宸ュ簭鍙�
-					idx = temp.lastIndexOf("-");
-					if(idx != -1){
-						drawingNo = temp.substring(0,idx);
-					}
-				}
-			}
-			//浠ヤ笂鍘绘帀浜嗘渶鍚�2娈垫鏁板拰娈靛彿
-
-
-		}
-		return drawingNo;
-
-
-	}
-
-	String parseProgramName(String filename){
-		String programName = "";
-		int idx = filename.lastIndexOf("-");
-		String temp;
-		if(idx != -1){
-			temp = filename.substring(0,idx);
-
-			idx = temp.lastIndexOf("-");
-			if(idx != -1){
-				temp = temp.substring(0,idx);
-
-				//鍘绘帀宸ュ簭鐗堟
-				idx = temp.lastIndexOf("-");
-				if(idx != -1){
-					programName = temp.substring(0,idx);
-				}
-			}
-			//浠ヤ笂鍘绘帀浜嗘渶鍚�2娈垫鏁板拰娈靛彿
-		}
-		return programName;
-	}
-*/
 	/**
 	 * 鍏ュ簱mdm娑夊瘑缃戞枃浠�
 	 * @param ids id鍒楄〃閫楀彿鍒嗛殧
@@ -378,7 +313,7 @@
 		Path extractDir = Paths.get(dictStr);
 		List<MdmProgramImportVO> list = readTempDir(extractDir);
 
-		List<DictBiz> annoDictList = programAnnotationService.getAnnotionDictList();
+		//List<DictBiz> annoDictList = programAnnotationService.getAnnotionDictList();
 		String destFileFull;
 		for(String str : idList){
 			Optional<MdmProgramImportVO> optVO = list.stream().filter(vo -> vo.getId().equals(str)).findFirst();
@@ -391,6 +326,7 @@
 
 			destFileFull = vo.getSendPath()+File.separator+vo.getFilename();
 			File destFile = new File(destFileFull);
+
 			FileUtils.forceMkdirParent(destFile);
 			FileUtils.copyFile(new File(str),destFile);
 
@@ -410,11 +346,11 @@
 				Machine machine = this.machineService.getByCode(record.getMachineCode());
 				AnnotationProcessor processor = annotationProcessorHelper.getProcessor(machine.getControlSystem());
 				AnnotationData annotationData = processor.readAnnotationData(inputStream);
-				/*
+
+				record.setDeviation(annotationData.getDeviation());
 				ProgramNameVO nameVO = ProgramFileNameParser.parseProgramName(record.getName());
-				if(StringUtils.isNotBlank(nameVO.getLgPart())) {
-					record.setDeviation(annotationData.getDeviation());
-				}*/
+				record.setDeviationSerial(nameVO.lgSerial());
+
 				record.setProgramStatus(annotationData.getProgramStatus());
 			}
 			fileSendRecordService.save(record);
@@ -427,17 +363,17 @@
 
 	/**
 	 * 鍒涘缓鏈哄簥鍥炰紶浠诲姟
-	 * @param importedRecords
+	 * @param importedRecords 瀵煎叆璁板綍鍒楄〃
 	 */
 	List<MachineBackTask> parseMachineBackTask(List<FileSendRecord>  importedRecords){
-		List<FileSendRecord> recList = importedRecords.stream().filter(r ->{
-			return AnnotationUtil.SQ.equals(r.getProgramStatus())
-				|| AnnotationUtil.LG.equals(r.getProgramStatus());}).toList();
+		List<FileSendRecord> recList = importedRecords.stream().filter(r -> AnnotationUtil.SQ.equals(r.getProgramStatus())
+			|| AnnotationUtil.LG.equals(r.getProgramStatus())).toList();
 
 		Map<String,FileSendRecord> map = new HashMap<>();
 		for(FileSendRecord record : recList){
 			ProgramNameVO nameVO = ProgramFileNameParser.parseProgramName(record.getName());
 			String key = record.getMachineCode()+","+nameVO.logicProgramName();
+
 			map.put(key,record);
 		}
 
@@ -450,6 +386,9 @@
 			task.setMachineCode(record.getMachineCode());
 
 			ProgramNameVO nameVO = ProgramFileNameParser.parseProgramName(record.getName());
+			task.setDeviation(record.getDeviation());
+			task.setDeviationSerial(record.getDeviationSerial());
+
 			task.setProgramName(nameVO.logicProgramName());
 			task.setSegCount(nameVO.getSegmentCount());
 			backTasks.add(task);

--
Gitblit v1.9.3