yangys
2025-09-15 d4ca3871c18474768c924fcbfd6e8d3178040092
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java
@@ -1,6 +1,7 @@
package org.springblade.mdm.basesetting.machine.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.MybatisUtils;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BizServiceImpl;
@@ -321,4 +322,27 @@
      return lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list();
    }
   public String escapeSqlWildcard(String value) {
      if (StringUtils.isBlank(value)) {
         return value;
      }
      return value.replace("\\", "\\\\")
         .replace("%", "\\%")
         .replace("_", "\\_");
   }
   /**
    * 根据下发路径的注释查询机床
    * @param sendPathLine 下发路径注释文本
    */
    public Machine getMachineBySendPathAnnotation(String sendPathLine) {
      //去掉首位括号,排除发那科机床注释
      String sendPath = escapeSqlWildcard(StringUtils.trim(StringUtils.removeEnd(StringUtils.removeStart(sendPathLine,"("),")")));
      List<Machine> machines = lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).likeLeft(Machine::getProgSendDir,sendPath).list();
      if(machines.isEmpty()){
         return null;
      }else{
         return machines.get(0);
      }
    }
}