yangys
2025-08-16 87895ab581b2f44e3492e4395dce5fc7e8341363
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/cure/CureFinishOperateTask.java
@@ -2,6 +2,7 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.checkerframework.checker.units.qual.N;
import org.flowable.engine.delegate.DelegateExecution;
import org.springblade.core.oss.OssTemplate;
@@ -25,6 +26,7 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDate;
@@ -154,14 +156,18 @@
      String ossName = flowProgramFile.getOssName();
      //
      try(InputStream ins = ossTemplate.statFileStream(ossName);){
         byte[] bytes = IOUtils.toByteArray(ins);
         ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(bytes);
         String annoTxt = programAnnotationService.generateAnnotation("GH",machineGroup,annoDicts);
         int statusLineIndex = 2;
         String line2 = FileContentUtil.readLineAt(ins,statusLineIndex);//第三行应该是状态注释
         String line2 = FileContentUtil.readLineAt(byteInputStream,statusLineIndex);//第三行应该是状态注释
         byteInputStream.reset();
         InputStream finishedStream;
         if(programAnnotationService.isAnnotation(line2,machineGroup,annoDicts)){
            finishedStream = FileContentUtil.replaceAtLine(ins,statusLineIndex,annoTxt);
            finishedStream = FileContentUtil.replaceAtLine(byteInputStream,statusLineIndex,annoTxt);
         }else{
            finishedStream = FileContentUtil.insertLine(ins,statusLineIndex,annoTxt);
            finishedStream = FileContentUtil.insertLine(byteInputStream,statusLineIndex,annoTxt);
         }
         try(finishedStream) {
            finishedStream.reset();