yangys
2025-09-18 a3048fa6fa72fa3cc5da2c43c59bd000e00c9599
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
@@ -8,7 +8,10 @@
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.program.service.ProgramAnnotationService;
import org.springblade.mdm.program.service.programannotation.AnnotationProcessor;
import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
import org.springblade.mdm.program.service.programannotation.ProcessorHelper;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,7 +40,8 @@
   private ParamService paramService;
   @Autowired
   private ProgramAnnotationService programAnnotationService;
   @Autowired
   private MachineAnnotationConfig annoConfig;
   /**
    * 扫描所有机床的配置目录
@@ -106,15 +110,11 @@
      List<Path> files = Files.list(dirPath)
         .filter(Files::isRegularFile).toList();
      byte[] buffer = new byte[2048];
      //byte[] buffer = new byte[2048];
      List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
      //boolean exists;//文件是否存在于数据库中
      for (Path filePath : files) {
         try {
            MachineFile mf = readFileToMachineFile(filePath,machine,dirType,annotatiionList);
            machineFileService.refreshFileData(mf);
@@ -177,7 +177,7 @@
    * @return 状态的整数之和
    * @throws IOException
    */
   int readProgramStatus(Path filePath,String controlSystem,List<DictBiz> annotatiionList) throws IOException {
   public int readProgramStatus(Path filePath,String controlSystem,List<DictBiz> annotatiionList) throws IOException {
      int programStatus = MachineFile.PROGRAM_STATUS_UNKNOWN;
      try(InputStream ins = Files.newInputStream(filePath);
         BufferedInputStream bis = new BufferedInputStream(ins)){
@@ -187,14 +187,16 @@
            return MachineFile.PROGRAM_STATUS_UNKNOWN;
         }
         bis.reset();
         String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
         AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(controlSystem,annoConfig);
         String statusLine = FileContentUtil.readLineAt(ins, annoProcessor.getAnnotationProperties().getStatusLineIndex());
         if(AnnotationUtil.isAnnotation(statusLine,controlSystem,annotatiionList)){
            String progStatusTxt = programAnnotationService.removeAnnotation(controlSystem,statusLine,annotatiionList);
            if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
            String progStatusTxt = AnnotationUtil.removeAnnotation(controlSystem,statusLine,annotatiionList);
            if(AnnotationUtil.SQ.equals(progStatusTxt)){
               programStatus = MachineFile.PROGRAM_STATUS_TRY;
            }else if(ProgramAnnotationService.GH.equals(progStatusTxt)){
            }else if(AnnotationUtil.GH.equals(progStatusTxt)){
               programStatus = MachineFile.PROGRAM_STATUS_CURED;
            }else if(ProgramAnnotationService.PL.equals(progStatusTxt)){
            }else if(AnnotationUtil.LG.equals(progStatusTxt)){
               programStatus = MachineFile.PROGRAM_STATUS_DIVIASTION;
            }
         }