From 016f6009aef19985e5e50be497651cb77795c868 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 18:26:42 +0800
Subject: [PATCH] 偏离单审批完成文件内容未更新问题修复
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java | 40 ++++++++++++++++++++++++++++++++--------
1 files changed, 32 insertions(+), 8 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 8a1f63f..ff19e03 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
@@ -4,6 +4,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.system.feign.IDictBizClient;
@@ -41,6 +42,11 @@
* 鐘舵�佽绱㈠紩锛堢涓夎锛� 0 based
*/
public static final int STATUS_LINE_INDEX = 2;
+
+ /**
+ * 鍋忕鍗曟敞閲婅绱㈠紩鍙� 0 based
+ */
+ public static final int STATUS_DEVIATION_INDEX = 3;
public static final String SQ = "SQ";
public static final String GH = "GH";
@@ -152,33 +158,51 @@
* 璁剧疆鍥哄寲娉ㄩ噴琛�
* @param inputStream
* @param machineGroup
- * @param annoDicts
+ * @param annoDictList
* @return
* @throws IOException
*/
- public InputStream setGHAnnotation(InputStream inputStream, String machineGroup,List<DictBiz> annoDicts) throws IOException {
+ public InputStream setGHAnnotation(InputStream inputStream, String machineGroup,List<DictBiz> annoDictList) throws IOException {
+
+ return setAnnotationAndGetInputStream(inputStream, machineGroup, annoDictList, GH, STATUS_LINE_INDEX);
+ }
+
+ /**
+ * 璁剧疆鍋忕鍗曟敞閲�
+ * @param inputStream
+ * @param machineGroup
+ * @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);
+ }
+
+ @NotNull
+ private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String machineGroup, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
InputStream finishedStream;
try(inputStream){
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
- String annoTxt = generateAnnotation(GH,machineGroup,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+ String annoTxt = generateAnnotation(text,machineGroup,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
- String lineText = FileContentUtil.readLineAt(byteInputStream,STATUS_LINE_INDEX);//绗笁琛屽簲璇ユ槸鐘舵�佹敞閲�
+ String lineText = FileContentUtil.readLineAt(byteInputStream, lineIndex);
byteInputStream.reset();
- if(isAnnotation(lineText,machineGroup,annoDicts)){
- finishedStream = FileContentUtil.replaceAtLine(byteInputStream,STATUS_LINE_INDEX,annoTxt);
+ if(isAnnotation(lineText,machineGroup,annoDictList)){
+ finishedStream = FileContentUtil.replaceAtLine(byteInputStream, lineIndex,annoTxt);
}else{
- finishedStream = FileContentUtil.insertLine(byteInputStream,STATUS_LINE_INDEX,annoTxt);
+ finishedStream = FileContentUtil.insertLine(byteInputStream, lineIndex,annoTxt);
}
finishedStream.reset();
-
}
return finishedStream;
}
+
/**
* 涓鸿緭鍏ユ祦璁剧疆鍙戦�佺洰褰�(绗簩琛�)鍜岀姸鎬侊紙绗笁琛岋級
* @param sendPath 鍙戦�佽矾寰�
--
Gitblit v1.9.3