From b0d0191a88912b352385349461b500a4964d693b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 19 九月 2025 22:51:24 +0800
Subject: [PATCH] 机床加字段
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
index 38b5d53..6fcc498 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
@@ -8,9 +8,14 @@
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;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.io.BufferedInputStream;
@@ -35,11 +40,13 @@
private ParamService paramService;
@Autowired
private ProgramAnnotationService programAnnotationService;
-
+ @Autowired
+ private MachineAnnotationConfig annoConfig;
/**
* 鎵弿鎵�鏈夋満搴婄殑閰嶇疆鐩綍
*/
+ @Async
public void scanMachineFile() {
List<Machine> machines = machineService.getEnableMachines();
for (Machine machine : machines) {
@@ -103,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);
@@ -174,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)){
@@ -184,14 +187,16 @@
return MachineFile.PROGRAM_STATUS_UNKNOWN;
}
bis.reset();
- String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
- if(programAnnotationService.isAnnotation(statusLine,controlSystem,annotatiionList)){
- String progStatusTxt = programAnnotationService.removeAnnotation(controlSystem,statusLine,annotatiionList);
- if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
+
+ AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(controlSystem,annoConfig);
+ String statusLine = FileContentUtil.readLineAt(ins, annoProcessor.getAnnotationProperties().getStatusLineIndex());
+ if(AnnotationUtil.isAnnotation(statusLine,controlSystem,annotatiionList)){
+ 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;
}
}
--
Gitblit v1.9.3