From 86c8efdb19a2f4be79a947650ef62ed79382011b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 30 八月 2025 20:55:31 +0800
Subject: [PATCH] 重构机床回传文件;撤回后禁用撤回按钮
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java | 42 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
index a573dd5..0abac7a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
@@ -6,8 +6,11 @@
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.service.MachineFileService;
+import org.springblade.mdm.program.service.ProgramAnnotationService;
+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.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
@@ -32,6 +35,8 @@
private MachineService machineService;
@Autowired
private ParamService paramService;
+ @Autowired
+ private ProgramAnnotationService programAnnotationService;
// 姣�5绉掓墽琛屼竴娆�
//@Scheduled(fixedRate = 1000000)
//@Scheduled(cron = "0 1 0 * * ?") // 姣忓ぉ涓婂崍0鐐�1鍒嗘墽琛�
@@ -117,6 +122,7 @@
byte[] buffer = new byte[2048];
MachineFile existFileInDb;
+ List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
for (Path filePath : files) {
@@ -131,6 +137,9 @@
mf.setMachineCode(machine.getCode());
try {
+ //璇诲彇鍐呭锛岀‘瀹氱▼搴忕姸鎬�
+ int pstatus = readProgramStatus(filePath,machine.getMachineGroupCode(),annotatiionList);
+ mf.setProgramStatus(pstatus);
BasicFileAttributes attrs = Files.readAttributes(
filePath,
BasicFileAttributes.class
@@ -165,7 +174,7 @@
log.info("鏂囦欢宸插瓨鍦ㄦ帬杩�:{}",filePath.getFileName());
//宸插瓨鍦ㄥ拫鏁淬��
existFileInDb.setFileSize(mf.getFileSize());
-
+ existFileInDb.setProgramStatus(mf.getProgramStatus());
existFileInDb.setFileCreateTime(mf.getFileCreateTime());
existFileInDb.setFileModifyTime(mf.getFileModifyTime());
if(!StringUtils.equals(existFileInDb.getMd5(),mf.getMd5())){
@@ -185,6 +194,33 @@
}
/**
+ * 璇诲彇鏂囦欢涓殑绋嬪簭鐘舵��
+ * @param filePath 鏂囦欢璺緞
+ * @param machineGroupCode
+ * @param annotatiionList 娉ㄩ噴閰嶇疆瀛楀吀
+ * @return 鐘舵�佺殑鏁存暟涔嬪拰
+ * @throws IOException
+ */
+ int readProgramStatus(Path filePath,String machineGroupCode,List<DictBiz> annotatiionList) throws IOException {
+ int programStatus = MachineFile.PROGRAM_STATUS_UNKNOWN;
+ try(InputStream ins = Files.newInputStream(filePath)){
+ String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
+ if(programAnnotationService.isAnnotation(statusLine,machineGroupCode,annotatiionList)){
+ String progStatusTxt = programAnnotationService.removeAnnotation(machineGroupCode,statusLine,annotatiionList);
+ if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
+ programStatus = MachineFile.PROGRAM_STATUS_TRY;
+ }else if(ProgramAnnotationService.GH.equals(progStatusTxt)){
+ programStatus = MachineFile.PROGRAM_STATUS_CURED;
+ }else if(ProgramAnnotationService.PL.equals(progStatusTxt)){
+ programStatus = MachineFile.PROGRAM_STATUS_DIVIASTION;
+ }
+ }
+ }
+
+ return programStatus;
+ }
+
+ /**
* 娓呯悊宸茬粡鍒犻櫎浜嗘枃浠剁殑璁板綍
* @param machine
* @param dirType
--
Gitblit v1.9.3