yangys
2025-08-22 9810791a41d381a10451f3e9770cfcfedf98e886
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -2,14 +2,10 @@
package org.springblade.mdm.program.service;
import com.alibaba.csp.sentinel.util.StringUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BizEntity;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -18,7 +14,6 @@
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;
import org.springblade.mdm.flow.service.FlowProgramFileService;
@@ -27,13 +22,10 @@
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.springblade.system.feign.IDictClient;
import org.springblade.system.pojo.entity.Dict;
import org.springframework.stereotype.Service;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -52,14 +44,10 @@
   private final IDictClient dictClient;
   private final MachineService machineService;
   private final NcProgramApprovedService approvedService;
   private final ApproveRecordService approveRecordService;
   private final NcNodeService ncNodeService;
   private final OssTemplate ossTemplate;
   private final FlowProgramFileService flowProgramFileService;
   private final ProgramAnnotationService programAnnotationService;
   //public static final String PROGRAM_JSON_FILE = "exp_mdm_nc_program.json";
   //public static final String NODE_JSON_FILE = "exp_mdm_nc_node.json";
   //public static final String APPROVE_RECORD_JSON_FILE = "exp_mdm_approve_record.json";
   public static final String ANNOTATION_DICT = "machine_annotation";
@@ -100,12 +88,14 @@
    * @param approved
    */
   private void addProgramPackageToZip(ZipOutputStream zipOut, NcProgramApproved approved) throws IOException{
      String packageFolder = approved.getProgramName()+"/";
      NcNode packageNode = ncNodeService.getById(approved.getNcNodeId());
      String packageFolder = packageNode.getName()+"-"+packageNode.getProcessEdition()+"/";
      ZipEntry zipEntry = new ZipEntry(packageFolder);// "/"结尾表示文件夹
      zipOut.putNextEntry(zipEntry);
      zipOut.closeEntry();
      NcNode packageNode = ncNodeService.getById(approved.getNcNodeId());
      Machine machine = machineService.getByCode(packageNode.getMachineCode());//程序包节点,获取注释用
      List<NcNode> programNodes = ncNodeService.lambdaQuery().eq(NcNode::getIsLastEdition,1).eq(NcNode::getParentId, approved.getNcNodeId()).list();
@@ -124,8 +114,6 @@
         programFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
         if(programFile.isProgram()) {//程序文件,才会加入压缩包
            InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
            //InputStream addedIns1 = addSendDirAnnotation(inputStream, machine, annotationList);
            //InputStream addedIns2 = addProgramStatusAnnotation(addedIns1, status, machine, annotationList);
            String sendDir = machine.getProgSendDir()==null? StringUtil.EMPTY:machine.getProgSendDir();
            InputStream addedIns2 = programAnnotationService.setSendDirAndStatusAnnotation(sendDir,status,inputStream,machine.getMachineGroupCode());
            this.addInputStreamToZip(zipOut, addedIns2, filePathInZip);