From b4d10ff7535002dddb63a0b28ddb37fee7ed1e9d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 03 十二月 2025 16:30:53 +0800
Subject: [PATCH] 增加pdf,xlsx,docx文件预览功能

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/ProgramFileNameParser.java |   42 +++++++++++-------------------------------
 1 files changed, 11 insertions(+), 31 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 fa32049..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,41 +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);
-			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