yangys
2025-08-04 1130aee058b7f47f2df56ebd0e2934392102c354
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -15,6 +15,8 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -25,6 +27,7 @@
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
import org.springblade.mdm.program.vo.DncSendBackData;
import org.springblade.mdm.utils.FileContentUtil;
import org.springframework.stereotype.Service;
import java.io.*;
@@ -44,7 +47,8 @@
@AllArgsConstructor
public class NcProgramExportDNCService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
   private final NcProgramService progService;
   //private final NcProgramService progService;
   private final MachineService machineService;
   private final NcProgramApprovedService approvedService;
   private final ApproveRecordService approveRecordService;
   private final NcNodeService ncNodeService;
@@ -105,34 +109,29 @@
      List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getParentId, approved.getNcNodeId()).list();
      FlowProgramFile programFile;
      for (NcNode node : programNodes) {
         String filePathInZip = packageFolder + node.getName();
         programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
         InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
         /*
         ZipEntry fileEntry = new ZipEntry(filePathInZip);
         zipOut.putNextEntry(fileEntry);
         programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
         InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
         byte[] buffer = new byte[1024];
         int length;
         while ((length = inputStream.read(buffer)) >= 0) {
            zipOut.write(buffer, 0, length);
         }
         zipOut.closeEntry();
          */
         this.addInputStreamToZip(zipOut,inputStream,filePathInZip);
         Machine machine = machineService.getByCode(node.getMachineCode());
         InputStream addedIns = addSendPath(inputStream,machine.getProgSendDir());
         this.addInputStreamToZip(zipOut,addedIns,filePathInZip);
      }
   }
   /**
    * 加入机床下发路径
    * @param inputStream
    * @return
    */
   InputStream addSendPath(InputStream inputStream,String machineSendPath) throws IOException {
      return FileContentUtil.insertLine(inputStream,1,machineSendPath);
   }
   /**
    * 导入数据文件
    * @param zipOut
    */