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/machinefile/service/MachineFileScanService.java |   68 +++++++--------------------------
 1 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
index d4877d2..38ab6d0 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
@@ -6,9 +6,11 @@
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.commons.service.MachineDirTranslator;
 import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
 import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.mapper.MachineFileMapper;
 import org.springblade.mdm.program.service.ProgramAnnotationService;
 import org.springblade.mdm.program.service.programannotation.*;
 import org.springblade.mdm.utils.FileContentUtil;
@@ -37,14 +39,11 @@
 	@Autowired
 	private MachineService machineService;
 	@Autowired
-	private ProgramAnnotationService programAnnotationService;
-	@Autowired
-	private MachineAnnotationConfig annoConfig;
-	@Autowired
 	private AnnotationProcessorHelper annotationProcessorHelper;
-	/**
-	 * 鎵弿鎵�鏈夋満搴婄殑閰嶇疆鐩綍
-	 */
+	@Autowired
+	private MachineDirTranslator machineDirTranslator;
+	@Autowired
+	private MachineFileMapper machineFileMapper;
 	@Async
 	public void scanMachineFile() {
 		List<Machine> machines = machineService.getEnableMachines();
@@ -85,17 +84,17 @@
 			}
 		}
 
+		machineFileMapper.deleteNotUseRecords();
 	}
-
 
 	/**
 	 * 鎵弿鐩綍
 	 * @param machine 鏈哄簥淇℃伅
 	 * @param dirType 鐩綍绫诲瀷
-	 * @throws IOException
+	 * @throws IOException 鏂囦欢鎿嶄綔鍙兘瀵艰嚧鐨勫紓甯�
 	 */
 	public void scanDir(Machine machine,String dirType) throws IOException {
-		String basePath = MachineFileService.getBasePath(machine,dirType);
+		String basePath = machineDirTranslator.trans(MachineFileService.getBasePath(machine,dirType));
 		if(basePath == null) {
 			log.warn("鐩綍绫诲瀷涓嶅尮閰�:{}",dirType);
 			return;
@@ -110,11 +109,11 @@
 			.filter(Files::isRegularFile).toList();
 
 		//byte[] buffer = new byte[2048];
-		List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
+		//List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
 		//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
 		for (Path filePath : files) {
 			try {
-				MachineFile mf = readFileToMachineFile(filePath,machine,dirType,annotatiionList);
+				MachineFile mf = readFileToMachineFile(filePath,machine,dirType);
 
 				machineFileService.refreshFileData(mf);
 
@@ -130,18 +129,16 @@
 	 * @param filePath 鏂囦欢璺緞
 	 * @param machine 鏈哄櫒
 	 * @param dirType 鐩綍绫诲瀷
-	 * @param annotatiionList 娉ㄨВ閰嶇疆瀛楀吀 鐢ㄤ簬璇诲彇绋嬪簭鐘舵��
 	 * @return MachineFile 瀹炰緥
 	 * @throws IOException
 	 */
-	public MachineFile readFileToMachineFile(Path filePath,Machine machine,String dirType,List<DictBiz> annotatiionList) throws IOException {
+	public MachineFile readFileToMachineFile(Path filePath,Machine machine,String dirType) throws IOException {
 		MachineFile mf = new MachineFile();
 
 		mf.setTenantId("000000");
 		mf.setName(filePath.toFile().getName());
 		mf.setDirType(dirType);
 		mf.setMachineCode(machine.getCode());
-
 
 		BasicFileAttributes attrs = Files.readAttributes(
 			filePath,
@@ -177,53 +174,18 @@
 		}
 		return mf;
 	}
-	/**
-	 * 璇诲彇鏂囦欢涓殑绋嬪簭鐘舵��
-	 * @param filePath 鏂囦欢璺緞
-	 * @param controlSystem
-	 * @param annotatiionList 娉ㄩ噴閰嶇疆瀛楀吀
-	 * @return 鐘舵�佺殑鏁存暟涔嬪拰
-	 * @throws IOException
-	 */
-	public int readProgramStatus(Path filePath,String controlSystem,List<DictBiz> annotatiionList) throws IOException {
-		int programStatus = MachineFile.PROGRAM_STATUS_UNKNOWN;
-		try(InputStream ins = Files.newInputStream(filePath);
-			BufferedInputStream byteInsStream = new BufferedInputStream(ins)){
-
-			boolean isText= FileContentUtil.isTextFile(byteInsStream);
-			if(!isText){
-				return MachineFile.PROGRAM_STATUS_UNKNOWN;
-			}
-			byteInsStream.reset();
-
-			AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(controlSystem,annoConfig);
-			String statusLine = FileContentUtil.readLineAt(byteInsStream, annoProcessor.getAnnotationProperties().getStatusLineIndex());
-			if(AnnotationUtil.isAnnotation(statusLine,controlSystem,annotatiionList)){
-				String progStatusTxt = AnnotationUtil.removeAnnotation(controlSystem,statusLine,annotatiionList);
-				if(AnnotationUtil.SQ.equals(progStatusTxt)){
-					programStatus = MachineFile.PROGRAM_STATUS_TRY;
-				}else if(AnnotationUtil.GH.equals(progStatusTxt)){
-					programStatus = MachineFile.PROGRAM_STATUS_CURED;
-				}else if(AnnotationUtil.LG.equals(progStatusTxt)){
-					programStatus = MachineFile.PROGRAM_STATUS_DIVIASTION;
-				}
-			}
-		}
-
-		return programStatus;
-	}
 
 	/**
 	 * 娓呯悊宸茬粡鍒犻櫎浜嗘枃浠剁殑璁板綍
-	 * @param machine
-	 * @param dirType
+	 * @param machine 鏈哄簥
+	 * @param dirType 鐩綍绫诲瀷
 	 * @throws IOException
 	 */
 	void clearDeletedRecords(Machine machine,String dirType) throws IOException {
 		List<MachineFile> machineFiles =  this.machineFileService.lambdaQuery().eq(MachineFile::getDirType,dirType)
 			.eq(MachineFile::getMachineCode,machine.getCode()).list();
 
-		String basePath = MachineFileService.getBasePath(machine,dirType);
+		String basePath = machineDirTranslator.trans(MachineFileService.getBasePath(machine,dirType));
 		if(basePath == null) {
 			log.warn("鐩綍绫诲瀷涓嶅尮閰�:{}",dirType);
 			return;

--
Gitblit v1.9.3