From a3048fa6fa72fa3cc5da2c43c59bd000e00c9599 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 18 九月 2025 23:13:32 +0800
Subject: [PATCH] 工控网分析程序状态问题修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java | 135 ++++++++++++++++----------------------------
1 files changed, 50 insertions(+), 85 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
index 5bcd37e..741715b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
@@ -7,6 +7,7 @@
import org.jetbrains.annotations.NotNull;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
+import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
import org.springblade.mdm.program.vo.ProgramAnnotation;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.feign.IDictBizClient;
@@ -33,26 +34,24 @@
@Autowired
private IDictBizClient bizDictClient;
- private static final String DEFAULT_ANNOTATION_SETTING = "(,)";
+ //private static final String DEFAULT_ANNOTATION_SETTING = "(,)";
public static final String ANNOTATION_DICT = "machine_annotation";
/**
* 鍙戦�佺洰褰曡绱㈠紩锛堢2琛岋級 0 based
*/
- public static final int SENDPATH_LINE_INDEX = 1;
+ ///public static final int SENDPATH_LINE_INDEX = 2;
/**
* 鐘舵�佽绱㈠紩锛堢涓夎锛� 0 based
*/
- public static final int STATUS_LINE_INDEX = 2;
+ //public static final int STATUS_LINE_INDEX = 3;
/**
* 鍋忕鍗曟敞閲婅绱㈠紩鍙� 0 based
*/
- public static final int STATUS_DEVIATION_INDEX = 3;
+ //public static final int STATUS_DEVIATION_INDEX = 4;
- public static final String SQ = "SQ";
- public static final String GH = "GH";
- public static final String PL = "PL";
+
public List<DictBiz> getAnnotionDictList(){
List<DictBiz> annotationList;
@@ -74,10 +73,9 @@
* @param annotationList 娉ㄩ噴娉ㄩ噴瀛楀吀椤瑰垪琛�
* @return
*/
- public boolean isAnnotation(String line,String machineGroupCode,List<DictBiz> annotationList){
- boolean isAnno = false;
-
- ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
+ /*
+ public boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
+ ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
line = StringUtils.trim(line);//鍘婚灏剧┖鏍�
return progAnnotation.isAnnotation(line);
@@ -85,100 +83,65 @@
- public String generateAnnotation(String oriTest,String machineGroupCode,List<DictBiz> annotationList) {
- /*
- String annotation = oriTest;
- String begin = "(";
- String end = ")";
- Optional<DictBiz> dictOpt = annotationList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
- String annotationSetting = DEFAULT_ANNOTATION_SETTING;
- if(dictOpt.isPresent()) {
- annotationSetting = dictOpt.get().getRemark();
- }
- String[] arr = StringUtils.split(annotationSetting,",");
- if(arr.length == 2){
- begin = arr[0];
- end = arr[1];
- }else if(arr.length == 1){
- begin = arr[0];
- end = "";
- }
- */
- ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
+ public String generateAnnotation(String oriTest,String systemDictVal,List<DictBiz> annotationList) {
+ ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
return progAnnotation.addAnnotation(oriTest);
- }
- /*
- public String[] getAnnotationStartAndEnd(String machineGroupCode,List<DictBiz> annotationList) {
-
- String begin = "(";
- String end = ")";
-
- Optional<DictBiz> dictOpt = annotationList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
- String annotationSetting = DEFAULT_ANNOTATION_SETTING;
- if(dictOpt.isPresent()) {
- annotationSetting = dictOpt.get().getRemark();
- }
- String[] arr = StringUtils.split(annotationSetting,",");
- if(arr.length == 2){
- begin = arr[0];
- end = arr[1];
- }else if(arr.length == 1){
- begin = arr[0];
- end = "";
- }
- ProgramAnnotation progAnno = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
- return new String[]{begin,end};
- }
-*/
+ }*/
/**
* 鎻愬彇娉ㄩ噴涓殑鏂囨湰
- * @param machineGroupCode 鏈哄簥缁勪唬鐮�
+ * @param systemDictVal 鏈哄簥缁勪唬鐮�
* @param text 娓呴櫎娉ㄩ噴鏍囪
* @return 娓呴櫎鍚庣殑鏂囨湰
*/
- public String removeAnnotation(String machineGroupCode,String text){
- List<DictBiz> annoDicts = getAnnotionDictList();
- ProgramAnnotation panno = this.getProgramAnnotationFormat(machineGroupCode,annoDicts);
- //String[] arr = getAnnotationStartAndEnd(machineGroupCode,annoDicts);
- return panno.cleanAnnotation(text);
- }
+
+ public String removeAnnotation(String systemDictVal,String text){
+ List<DictBiz> annoDicts = getAnnotionDictList();
+ return removeAnnotation(systemDictVal,text,annoDicts);
+ }
+ public String removeAnnotation(String systemDictVal,String text,List<DictBiz> annotatiionList){
+ ProgramAnnotation panno = AnnotationUtil.getProgramAnnotationFormat(systemDictVal,annotatiionList);
+ return panno.cleanAnnotation(text);
+ }
/**
* 璁剧疆鍥哄寲娉ㄩ噴琛�
* @param inputStream 杈撳叆妗�
- * @param machineGroup 鏈哄簥缁勭紪鐮�
+ * @param systemDictVal 鏈哄簥缁勭紪鐮�
* @param annoDictList 娉ㄩ噴瀛楀吀閰嶇疆
* @return 鍔犲ソ娉ㄩ噴鐨�
* @throws IOException
*/
- public InputStream setGHAnnotation(InputStream inputStream, String machineGroup,List<DictBiz> annoDictList) throws IOException {
- return setAnnotationAndGetInputStream(inputStream, machineGroup, annoDictList, GH, STATUS_LINE_INDEX);
- }
+ /*
+ public InputStream setGHAnnotation(InputStream inputStream, String systemDictVal,List<DictBiz> annoDictList) throws IOException {
+ return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, GH, STATUS_LINE_INDEX);
+ }*/
/**
* 璁剧疆鍋忕鍗曟敞閲�
* @param inputStream 鏂囨湰杈撳叆娴�
- * @param machineGroup 鏈哄簥缁勪唬鐮�
+ * @param systemDictVal 鎺у埗绯荤粺瀛楀吀鍊�
* @param annoDictList 娉ㄩ噴瀛楀吀閰嶇疆
* @return 鍔犲ソ娉ㄩ噴鐨勮緭鍏ユ祦
* @throws IOException 璁块棶娴佸彲鑳芥姏鍑哄紓甯�
*/
- public InputStream setPldAnnotation(String deviation,InputStream inputStream,String machineGroup,List<DictBiz> annoDictList) throws IOException {
- return setAnnotationAndGetInputStream(inputStream, machineGroup, annoDictList, deviation, STATUS_DEVIATION_INDEX);
+ /*
+ public InputStream setPldAnnotation(String deviation,InputStream inputStream,String systemDictVal,List<DictBiz> annoDictList) throws IOException {
+ return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, deviation, STATUS_DEVIATION_INDEX);
}
-
+ */
+ /*
@NotNull
- private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String machineGroup, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
+ private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String systemDictVal, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
InputStream finishedStream;
try(inputStream){
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
- String annoTxt = generateAnnotation(text,machineGroup,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+ String annoTxt = generateAnnotation(text,systemDictVal,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
String lineText = FileContentUtil.readLineAt(byteInputStream, lineIndex);
byteInputStream.reset();
- if(isAnnotation(lineText,machineGroup,annoDictList)){
+ if(isAnnotation(lineText,systemDictVal,annoDictList)){
finishedStream = FileContentUtil.replaceAtLine(byteInputStream, lineIndex,annoTxt);
}else{
finishedStream = FileContentUtil.insertLine(byteInputStream, lineIndex,annoTxt);
@@ -189,17 +152,19 @@
return finishedStream;
}
+ */
/**
* 涓鸿緭鍏ユ祦璁剧疆鍙戦�佺洰褰�(绗簩琛�)鍜岀姸鎬侊紙绗笁琛岋級
* @param sendPath 鍙戦�佽矾寰�
* @param statusText 鐘舵�佹枃鏈�
* @param inputStream 杈撳叆娴�
- * @param machineGroup 鏈哄簥缁勪唬鐮�
+ * @param systemDictVal 鎺у埗绯荤粺浠g爜
* @return 鍔犲ソ鍙戦�佽矾寰勫拰鐘舵�佹枃鏈殑杈撳叆娴�
* @throws IOException
*/
- public InputStream setSendDirAndStatusAnnotation(String sendPath,String statusText,InputStream inputStream, String machineGroup) throws IOException {
+ /*
+ public InputStream setSendDirAndStatusAnnotation(String sendPath,String statusText,InputStream inputStream, String systemDictVal) throws IOException {
List<DictBiz> annoDicts = getAnnotionDictList();
InputStream finishedStream;
@@ -207,8 +172,7 @@
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
//1鍔犲叆鍙戦�佽矾寰勭殑娉ㄩ噴
- String sendPathAnnotation = generateAnnotation(sendPath,machineGroup,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
-
+ String sendPathAnnotation = generateAnnotation(sendPath,systemDictVal,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
String sendDirLine = FileContentUtil.readLineAt(byteInputStream,SENDPATH_LINE_INDEX);//绗�2琛屾槸鍙戦�佽矾寰�
byteInputStream.reset();
@@ -216,7 +180,7 @@
byteInputStream.reset();
InputStream insAfterSetSendDir ;
- if(isAnnotation(sendDirLine,machineGroup,annoDicts)){
+ if(isAnnotation(sendDirLine,systemDictVal,annoDicts)){
insAfterSetSendDir = FileContentUtil.replaceAtLine(byteInputStream,SENDPATH_LINE_INDEX,sendPathAnnotation);
}else{
insAfterSetSendDir = FileContentUtil.insertLine(byteInputStream,SENDPATH_LINE_INDEX,sendPathAnnotation);
@@ -224,8 +188,8 @@
insAfterSetSendDir.reset();
//鍔犲叆鐘舵�佹敞閲婅
- String statusAnnotation = generateAnnotation(statusText,machineGroup,annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
- if(isAnnotation(statusLine,machineGroup,annoDicts)){
+ String statusAnnotation = generateAnnotation(statusText,systemDictVal,annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
+ if(isAnnotation(statusLine,systemDictVal,annoDicts)){
finishedStream = FileContentUtil.replaceAtLine(insAfterSetSendDir,STATUS_LINE_INDEX,statusAnnotation);
}else{
finishedStream = FileContentUtil.insertLine(insAfterSetSendDir,STATUS_LINE_INDEX,statusAnnotation);
@@ -233,19 +197,20 @@
}
return finishedStream;
- }
+ }*/
/**
* 瑙f瀽鍑烘満搴婄▼搴忔敞閲婄殑鏍煎紡
- * @param machineGroupCode 鏈哄簥缁�
+ * @param systemDictVal 鏁版帶绯荤粺瀛楀吀鍊�
* @param annoDictList 閰嶇疆鐨勬敞閲婂瓧鍏告暟鎹�
* @return
*/
- ProgramAnnotation getProgramAnnotationFormat(String machineGroupCode,List<DictBiz> annoDictList){
+ /*
+ ProgramAnnotation getProgramAnnotationFormat(String systemDictVal,List<DictBiz> annoDictList){
String begin;
String end;
- Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
+ Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(systemDictVal);}).findFirst();
String annotationSetting = DEFAULT_ANNOTATION_SETTING;
if(dictOpt.isPresent()) {
annotationSetting = dictOpt.get().getRemark();
@@ -265,7 +230,7 @@
programAnnotation.setBegin(begin);
programAnnotation.setEnd(end);
return programAnnotation;
- }
+ }*/
}
--
Gitblit v1.9.3