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