From 4c7296d45efe849dc70a3b2e2240c905481a91c9 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 29 九月 2025 17:44:46 +0800
Subject: [PATCH] 工控网涉密网联调
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
index 76e468e..b9b522e 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/FanucProcessor.java
@@ -19,27 +19,39 @@
@Autowired
private ProgramAnnotationService programAnnotationService;
private String controlSystem;
- private Pattern PATTERN = Pattern.compile("^[oO]\\d{4}");
- private final int O_LINE = 1;
+ static final Pattern PATTERN = Pattern.compile("^[oO]\\d{4}.*");
+ //private final int O_LINE = 1;
@Override
public InputStream putAnnotation(AnnotationData annoData, InputStream inputStream) throws IOException {
//鍦∣0001 杩欑鏂囧瓧鍚庨潰澧炲姞鏂囦欢鍚嶏紙涓嶅甫鎵╁睍鍚嶏級
- ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
- String line = FileContentUtil.readLineAt(bais,O_LINE);
- bais.reset();
+ ByteArrayInputStream byteStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
+ //String line = FileContentUtil.readLineAt(byteStream,O_LINE);
+ String line = FileContentUtil.readLineAt(byteStream,getAnnotationProperties().getProgramNameLineIndex());
+
+ byteStream.reset();
boolean oMatched = PATTERN.matcher(line).matches();
InputStream ins1;
if(oMatched){
List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
- String newline = line + AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
- ins1 = FileContentUtil.replaceAtLine(bais,O_LINE,newline);
+
+ String programAnno = AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(annoData.getFilename()),getControlSystem(),annoDicts);
+
+ ins1 = FileContentUtil.replaceAtLine(byteStream,getAnnotationProperties().getProgramNameLineIndex(),genProgramNameLine(line,programAnno));
}else{
- ins1 = bais;
+ ins1 = byteStream;
}
return super.putAnnotation(annoData, ins1);
-
}
+ /**
+ * 鐢熸垚绋嬪簭鍚嶇О娉ㄩ噴琛岋紝O[4浣嶆暟瀛梋(绋嬪簭鍚�) 锛岄渶瑕佸皢鐢ㄦ埛鑷繁鐨勭▼搴忓悕鍘绘垨鍏朵粬娉ㄩ噴鎺夋斁鍚庨潰
+ * @param oriLine 鍘熷琛屾枃鏈�
+ * @param programNameAnno 绋嬪簭娉ㄩ噴鏂囨湰锛�(绋嬪簭鍚�)
+ * @return Oxxxx+绋嬪簭娉ㄩ噴鏂囨湰
+ */
+ String genProgramNameLine(String oriLine,String programNameAnno){
+ return oriLine.substring(0,5)+programNameAnno;
+ }
@Override
public void setControlSystem(String controlSystemDictVal) {
--
Gitblit v1.9.3