From b0d0191a88912b352385349461b500a4964d693b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 19 九月 2025 22:51:24 +0800
Subject: [PATCH] 机床加字段

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
index 0052fa3..dbaaab2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
@@ -5,11 +5,13 @@
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.commons.contants.RegExpConstants;
 import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
 import org.springblade.mdm.machinefile.entity.FileSendRecord;
 import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.program.service.ProgramOnMachineService;
 import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
 import org.springblade.mdm.utils.FileContentUtil;
 import org.springblade.mdm.utils.ProgramFileNameParser;
@@ -31,6 +33,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
+import java.util.regex.Matcher;
 
 @Slf4j
 @Component
@@ -40,7 +43,7 @@
 	@Autowired
 	private MachineService machineService;
 	@Autowired
-	private ParamService paramService;
+	private ProgramOnMachineService programOnMachineService;
 	@Autowired
 	private FileSendRecordService fileSendRecordService;
 	/**
@@ -49,24 +52,30 @@
 	 */
 	@Transactional(rollbackFor = Exception.class)
 	public void check(MachineFile machineFile,List<MachineFile> allFilesInDir,Machine machine) throws IOException {
+
 		String srcFilepath = MachineFileService.getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-		Path source = Paths.get(srcFilepath);
-		if(!source.toFile().exists()){
+		log.info("寮�濮嬫鏌ユ枃浠秢}",srcFilepath);
+		Path checkFilePath = Paths.get(srcFilepath);
+		if(!checkFilePath.toFile().exists()){
 			return;
 		}
-		try(InputStream fileIns = Files.newInputStream(Paths.get(srcFilepath));) {
+		try(InputStream fileIns = Files.newInputStream(checkFilePath);) {
+			int excepType = MachineFile.EXCEPTION_OK;
 			if(!FileContentUtil.isTextFile(fileIns)){
 				//闈炴枃鏈�
-				machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_TEXT);
+				excepType = MachineFile.EXCEPTION_NOT_TEXT;
 			}else{
-				ProgramNameVO progNameVO =  ProgramFileNameParser.parseProgramName(machineFile.getName());
-				if(!progNameVO.isValidFilename()){
-					machineFile.setExceptionType(MachineFile.EXCEPTION_BAD_FILENAME);
+				Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(machineFile.getName());
+
+				boolean filenameValid = matcher.find();
+				if(!filenameValid){
+					excepType = MachineFile.EXCEPTION_BAD_FILENAME;
 				}else {
+					ProgramNameVO progNameVO =  ProgramFileNameParser.parseProgramName(machineFile.getName());
 					String prefix = progNameVO.logicProgramName()+"-";
 					long matchCount = allFilesInDir.stream().filter(file -> file.getName().startsWith(prefix)).count();
 					if(matchCount != progNameVO.getSegmentCount()){//鏂囦欢娈垫暟缂哄け
-						machineFile.setExceptionType(MachineFile.EXCEPTION_LOST_FILES);
+						excepType = MachineFile.EXCEPTION_LOST_FILES;
 					}else{
 						//妫�鏌ユ槸鍚﹀尮閰嶄笅鍙戣褰曠殑娈垫暟
 						//姝h礋3绉掍綔涓烘煡璇㈡椂闂�
@@ -81,16 +90,15 @@
 							FileSendRecord sendFile = optFile.get();
 							ProgramNameVO sendProgNameVO =  ProgramFileNameParser.parseProgramName(sendFile.getName());
 							if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
-								//娈垫暟涓嶅尮閰�
-								machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_MATCH_SEND);
-							}else{
-								machineFile.setExceptionType(MachineFile.EXCEPTION_OK);
+								//娈垫暟涓嶅尮閰嶄笅鍙戣褰�
+								excepType = MachineFile.EXCEPTION_NOT_MATCH_SEND;
 							}
 						}
 					}
 				}
 			}
-
+			machineFile.setExceptionType(excepType);
+			log.info("妫�鏌ユ枃浠剁粨鏉焮}",srcFilepath);
 			machineFileService.updateById(machineFile);
 		}
 	}

--
Gitblit v1.9.3