From fcee672452c02cc29e0e17ebc27a8c51698c6d0d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 20 九月 2025 17:28:44 +0800
Subject: [PATCH] 优化程序注释
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
index 937aca5..4288c15 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
@@ -1,8 +1,10 @@
package org.springblade.mdm.machinefile.service;
+import com.qiniu.util.IOUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.contants.RegExpConstants;
@@ -10,8 +12,10 @@
import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
import org.springblade.mdm.machinefile.entity.FileSendRecord;
import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.program.entity.ProgramOnMachine;
import org.springblade.mdm.program.service.ProgramAnnotationService;
-import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
+import org.springblade.mdm.program.service.ProgramOnMachineService;
+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;
@@ -20,10 +24,7 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -42,9 +43,14 @@
@Autowired
private MachineService machineService;
@Autowired
- private ParamService paramService;
+ private ProgramOnMachineService programOnMachineService;
@Autowired
private FileSendRecordService fileSendRecordService;
+ @Autowired
+ private AnnotationProcessorHelper annoProcessHelper;
+ @Autowired
+ private ProgramAnnotationService programAnnotationService;
+
/**
* 鏂囦欢鍚堟硶鎬ф鏌�
* @param machineFile
@@ -58,9 +64,12 @@
if(!checkFilePath.toFile().exists()){
return;
}
+
+ AnnotationProperties annoProps = AnnotationProperties.getDefault();
try(InputStream fileIns = Files.newInputStream(checkFilePath);) {
int excepType = MachineFile.EXCEPTION_OK;
- if(!FileContentUtil.isTextFile(fileIns)){
+ ByteArrayInputStream byteStream = new ByteArrayInputStream(IOUtils.toByteArray(fileIns));
+ if(!FileContentUtil.isTextFile(byteStream)){
//闈炴枃鏈�
excepType = MachineFile.EXCEPTION_NOT_TEXT;
}else{
@@ -89,10 +98,40 @@
FileSendRecord sendFile = optFile.get();
ProgramNameVO sendProgNameVO = ProgramFileNameParser.parseProgramName(sendFile.getName());
if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
- //娈垫暟涓嶅尮閰�
+ //娈垫暟涓嶅尮閰嶄笅鍙戣褰�
excepType = MachineFile.EXCEPTION_NOT_MATCH_SEND;
}
}
+
+ if(excepType == MachineFile.EXCEPTION_NOT_MATCH_SEND){
+ //濡傛灉鏂囦欢鏈笅鍙戣繃锛屾煡鐪嬫槸鍚︽湁鐜板満缂栫▼璁板綍
+ byteStream.reset();
+
+ //AnnotationProcessor processor = annoProcessHelper.getProcessor(machine.getControlSystem());
+
+ String planStatusLine = AnnotationUtil.removeAnnotation(machine.getControlSystem(),FileContentUtil.readLineAt(byteStream,annoProps.getStatusLineIndex()),programAnnotationService.getAnnotionDictList());
+
+ String lgNo;//鏇存敼鍗曞彿
+ if(AnnotationUtil.LG.equals(planStatusLine)) {//鏄洿鏀瑰崟
+ String lgLine = FileContentUtil.readLineAt(byteStream, annoProps.getDeviationLineIndex());
+ lgNo = AnnotationUtil.removeAnnotation(machine.getControlSystem(), lgLine, programAnnotationService.getAnnotionDictList());
+ }else{
+ lgNo = null;
+ }
+
+ long progOnMachineCount = programOnMachineService.lambdaQuery()
+ .eq(ProgramOnMachine::getDrawingNo,progNameVO.getDrawingNo())
+ .eq(ProgramOnMachine::getProcessNo,progNameVO.getProcessNo())
+ .eq(ProgramOnMachine::getProcessEdition,progNameVO.getProcessEdition())
+ .eq(lgNo != null,ProgramOnMachine::getDeviation,lgNo)//涓存椂鏇存敼鍗曞尮閰�
+
+ .eq(ProgramOnMachine::getMachineCode,machineFile.getMachineCode()).count();
+
+ if(progOnMachineCount > 0){//鏈夌幇鍦虹紪绋嬭褰曪紝妫�鏌ラ�氳繃
+ excepType = MachineFile.EXCEPTION_OK;
+ }
+
+ }
}
}
}
--
Gitblit v1.9.3