yangys
2025-09-17 1e2b04fabbbc4b1ae37d7951068d7ab235f5b5f9
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AbstractProcessor.java
@@ -1,5 +1,6 @@
package org.springblade.mdm.program.service.programannotation;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.springblade.mdm.program.service.ProgramAnnotationService;
import org.springblade.mdm.utils.FileContentUtil;
@@ -18,6 +19,24 @@
   protected AnnotationProperties annotationProperties;
   @Override
   public InputStream setFilenameAnnotation(String fileName, InputStream inputStream) throws IOException {
      List<DictBiz> annoDicts = programAnnotationService.getAnnotionDictList();
      ByteArrayInputStream bais = new ByteArrayInputStream(com.qiniu.util.IOUtils.toByteArray(inputStream));
      String line = FileContentUtil.readLineAt(bais, annotationProperties.getProgramNameLineIndex());
      bais.reset();
      boolean isAnnotation = AnnotationUtil.isAnnotation(line,this.getControlSystem(),annoDicts);
      InputStream insAfter;
      //加入程序名注释行
      String proNameLine =  AnnotationUtil.generateAnnotation(FilenameUtils.removeExtension(fileName),getControlSystem(),annoDicts);
      if(isAnnotation){
         insAfter = FileContentUtil.replaceAtLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
      }else{
         insAfter = FileContentUtil.insertLine(bais, annotationProperties.getProgramNameLineIndex(),proNameLine);
      }
      return insAfter;
   }
   @Override
   public InputStream setAnnotation(AnnotationData annoData,InputStream inputStream) throws IOException {