From 0bdfd76339bb58be09927b8c2fe268175c3a7cc8 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 22 九月 2025 10:11:33 +0800
Subject: [PATCH] 优化现场编制导出

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 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 d27d9f4..05f06fa 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
@@ -3,6 +3,7 @@
 import com.qiniu.util.IOUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
@@ -73,13 +74,13 @@
 				//闈炴枃鏈�
 				excepType = MachineFile.EXCEPTION_NOT_TEXT;
 			}else{
-				Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(machineFile.getName());
-
-				boolean filenameValid = matcher.find();
+				//Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(machineFile.getName());
+				ProgramNameVO progNameVO =  ProgramFileNameParser.parseProgramName(machineFile.getName());
+				boolean filenameValid = progNameVO.isValidFilename();
 				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()){//鏂囦欢娈垫暟缂哄け
@@ -102,6 +103,8 @@
 							if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
 								//娈垫暟涓嶅尮閰嶄笅鍙戣褰�
 								excepType = MachineFile.EXCEPTION_NOT_MATCH_SEND_SEG_COUNT;
+							}else if(!StringUtils.equals(sendProgNameVO.getLgPart(),progNameVO.getLgPart())){
+								excepType = MachineFile.EXCEPTION_NOT_MATCH_SEND_LG;
 							}
 						}else{
 							matchSendRecord = false;
@@ -109,6 +112,7 @@
 
 						if(!matchSendRecord){//濡傛灉鏂囦欢鏈笅鍙戣繃锛屾煡鐪嬫槸鍚︽湁鐜板満缂栫▼璁板綍
 							byteStream.reset();
+							//TODO 涓嬮潰杩欎簺搴旇閮芥病鏈夛紝鍥犱负鏃剁幇鍦虹紪绋�
 							String planStatusLine = AnnotationUtil.removeAnnotation(machine.getControlSystem(),FileContentUtil.readLineAt(byteStream,annoProps.getStatusLineIndex()),programAnnotationService.getAnnotionDictList());
 
 							String lgNo;//鏇存敼鍗曞彿
@@ -123,7 +127,7 @@
 								.eq(ProgramOnMachine::getDrawingNo,progNameVO.getDrawingNo())
 								.eq(ProgramOnMachine::getProcessNo,progNameVO.getProcessNo())
 								.eq(ProgramOnMachine::getProcessEdition,progNameVO.getProcessEdition())
-								.eq(lgNo != null,ProgramOnMachine::getDeviation,lgNo)//涓存椂鏇存敼鍗曞尮閰�
+								.eq(lgNo != null,ProgramOnMachine::getDeviation,lgNo)//TODO 涓存椂鏇存敼鍗曞簭鍙峰尮閰�
 
 								.eq(ProgramOnMachine::getMachineCode,machineFile.getMachineCode()).count();
 

--
Gitblit v1.9.3