yangys
2025-09-23 72e6bac02526caebc3797a7c2934d12896805708
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package org.springblade.mdm.utils;
 
import org.apache.commons.lang3.StringUtils;
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 {
    /**
     * 从文件名分析程序名称各段
     * @param filename 文件名
     */
    public static ProgramNameVO parseProgramName(String filename){
        ProgramNameVO pname = new ProgramNameVO();
 
        Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(filename);
        if(matcher.find()){
            pname.setDrawingNo(matcher.group(1));
            pname.setProcessNo(matcher.group(2));
 
            pname.setProcessEdition(matcher.group(3));
            pname.setSegmentCount(Func.toInt(matcher.group(4)));
            pname.setSegmentNo(Func.toInt(matcher.group(5)));
            pname.setLgPart(matcher.group(6));
        }
 
        return pname;
    }
 
}