From 6b7db6b11ebcc2e8e1eff86443e77fe63e5d8080 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 20 九月 2025 21:38:52 +0800
Subject: [PATCH] 优化程序名解析
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java | 56 +++++++++++---------------------------------------------
1 files changed, 11 insertions(+), 45 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java
index 45ac997..bdb1c7f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java
@@ -4,9 +4,12 @@
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.IResultCode;
import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.commons.contants.RegExpConstants;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
import org.springblade.mdm.program.service.NcNodeService;
+
+import java.util.regex.Matcher;
public class ProgramFileNameParser {
/**
@@ -15,55 +18,18 @@
*/
public static ProgramNameVO parseProgramName(String filename){
ProgramNameVO pname = new ProgramNameVO();
- int idx = filename.lastIndexOf(".");
- String tempstr = filename.substring(0,idx);//鍘绘帀鎵╁睍鍚�
- idx = tempstr.lastIndexOf("-");
+ Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(filename);
+ if(matcher.find()){
+ pname.setDrawingNo(matcher.group(1));
+ pname.setProcessNo(matcher.group(2));
- if(idx != -1){
-
- String segNo = tempstr.substring(idx+1);
- int idx2 = StringUtils.indexOfIgnoreCase(segNo,"P");
- if(idx2!= -1){
- //甯锛屾槸鍋忕鍗曞彿
- pname.setPldPart(segNo.substring(idx+1));
-
- tempstr = segNo.substring(0, idx2);//鍘绘帀鍋忕鍗曢儴鍒�
- }
- idx = tempstr.lastIndexOf("-");
- if(idx != -1) {
- idx = tempstr.lastIndexOf("-");
- pname.setSegmentNo(Func.toInt(segNo));
-
- tempstr = tempstr.substring(0,idx);
- }
-
-
- }
- idx = tempstr.lastIndexOf("-");
- if(idx != -1){
- String seg = tempstr.substring(idx+1);
- pname.setSegmentCount(Func.toInt(seg));
- tempstr = tempstr.substring(0,idx);
+ pname.setProcessEdition(matcher.group(3));
+ pname.setSegmentCount(Func.toInt(matcher.group(4)));
+ pname.setSegmentNo(Func.toInt(matcher.group(5)));
+ pname.setLgPart(matcher.group(6));
}
- //瑙f瀽宸ュ簭鐗堟
- idx = tempstr.lastIndexOf("-");
- if(idx != -1){
- String processEdition = tempstr.substring(idx+1);
- pname.setProcessEdition(processEdition);
- tempstr = tempstr.substring(0,idx);
- }
-
- //瑙f瀽宸ュ簭鍙�
- String processNo = "";
- idx = tempstr.lastIndexOf("-");
- if(idx != -1){
- processNo = tempstr.substring(idx+1);
- tempstr = tempstr.substring(0,idx);
- }
- pname.setProcessNo(processNo);
- pname.setDrawingNo(tempstr);
return pname;
}
--
Gitblit v1.9.3