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.flow.service.FlowProgramProperties; import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO; import org.springblade.mdm.program.service.NcNodeService; public class ProgramFileNameParser { /** * 从文件名分析程序名称各段 * @param filename 文件名 */ public static ProgramNameVO parseProgramName(String filename){ ProgramNameVO pname = new ProgramNameVO(); int idx = filename.lastIndexOf("."); String tempstr = filename.substring(0,idx);//去掉扩展名 idx = tempstr.lastIndexOf("-"); 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); } //解析工序版次 idx = tempstr.lastIndexOf("-"); if(idx != -1){ String processEdition = tempstr.substring(idx+1); pname.setProcessEdition(processEdition); tempstr = tempstr.substring(0,idx); } //解析工序好 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; } }