| | |
| | | package org.springblade.mdm.machinefile.service; |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.codec.digest.DigestUtils; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.mdm.basesetting.machine.service.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.commons.service.ParamService; |
| | | import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO; |
| | | 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.program.service.programannotation.*; |
| | | import org.springblade.mdm.utils.FileContentUtil; |
| | | import org.springblade.mdm.utils.ProgramFileNameParser; |
| | | import org.springblade.system.pojo.entity.DictBiz; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | |
| | | @Autowired |
| | | private MachineService machineService; |
| | | @Autowired |
| | | private ParamService paramService; |
| | | @Autowired |
| | | private ProgramAnnotationService programAnnotationService; |
| | | @Autowired |
| | | private MachineAnnotationConfig annoConfig; |
| | | |
| | | @Autowired |
| | | private AnnotationProcessorHelper annotationProcessorHelper; |
| | | /** |
| | | * 扫描所有机床的配置目录 |
| | | */ |
| | |
| | | mf.setName(filePath.toFile().getName()); |
| | | mf.setDirType(dirType); |
| | | mf.setMachineCode(machine.getCode()); |
| | | mf.setProgramStatus(readProgramStatus(filePath,machine.getMachineGroupCode(),annotatiionList)); |
| | | |
| | | |
| | | BasicFileAttributes attrs = Files.readAttributes( |
| | | filePath, |
| | |
| | | log.error("读取文件md5失败",e); |
| | | throw new ServiceException("读取文件md5失败"+e.getMessage()); |
| | | } |
| | | try (InputStream inputStream = Files.newInputStream(filePath)) { |
| | | AnnotationProcessor annoProcessor = annotationProcessorHelper.getProcessor(machine.getMachineGroupCode()); |
| | | AnnotationData annoData = annoProcessor.readAnnotationData(inputStream); |
| | | mf.setProgramStatus(annoData.getProgramStatus()); |
| | | |
| | | ProgramNameVO progVO = ProgramFileNameParser.parseProgramName(mf.getName()); |
| | | if(StringUtils.isNotBlank(progVO.getLgPart())) { |
| | | mf.setDeviation(annoData.getDeviation()); |
| | | } |
| | | } |
| | | return mf; |
| | | } |
| | | /** |