yangys
8 天以前 f4c6e0e1308bccb943ca1cddfdf7f643b6b6a1aa
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -7,16 +7,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipFile;
import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
import org.apache.commons.lang3.StringUtils;
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;
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.utils.FileUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -27,12 +23,10 @@
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
import org.springblade.mdm.program.vo.DncSendBackData;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -46,6 +40,7 @@
@Service
@AllArgsConstructor
public class NcProgramExportDNCService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
   private final NcProgramService progService;
   private final NcProgramApprovedService approvedService;
   private final ApproveRecordService approveRecordService;
@@ -53,6 +48,17 @@
   private final OssTemplate ossTemplate;
   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";
   /**
    * 是否压缩包内的数据文件
    * @param filename 文件名称
    * @return
    */
   public static boolean isDataFile(String filename){
      return StringUtils.equals(filename, PROGRAM_JSON_FILE) || StringUtils.equals(filename, NODE_JSON_FILE) || StringUtils.equals(filename, APPROVE_RECORD_JSON_FILE);
   }
   /**
    * 分页查询
    * @param query 查询参数
@@ -92,6 +98,8 @@
         addDataJson(zipOut, programIdList);
      }
      os.close();
   }
@@ -122,11 +130,13 @@
         recObj.put("code", program.getCode());
         recObj.put("ossName",program.getOssName());
         recObj.put("isTextFile",program.getIsTextFile());
         recObj.put("isLastEdition",program.getIsLastEdition());
         recObj.put("category",program.getCategory());
         recObj.put("description",program.getDescription());
         recObj.put("name",program.getName());
         recObj.put("partNo",program.getPartNo());
         recObj.put("drawingNo",program.getDrawingNo());
         recObj.put("ncNodeId",program.getNcNodeId());
         recObj.put("bindNcNodeId",program.getBindNcNodeId());
         recObj.put("url",program.getUrl());
         recObj.put("isCured",program.getIsCured());
         recObj.put("isLocked",program.getIsLocked());
@@ -187,11 +197,11 @@
      ArrayList<Long> exportNodeIdList    = new ArrayList<>();
      for(NcProgram program : programs){
         JSONObject recObj = new JSONObject();
         if(!exportNodeIdList.contains(program.getNcNodeId())){
            exportNodeIdList.add(program.getNcNodeId());
         //JSONObject recObj = new JSONObject();
         if(!exportNodeIdList.contains(program.getBindNcNodeId())){
            exportNodeIdList.add(program.getBindNcNodeId());
         }
         NcNode ncNode = ncNodeService.getById(program.getNcNodeId());
         NcNode ncNode = ncNodeService.getById(program.getBindNcNodeId());//从绑定的节点本身开始导出
         if(StringUtils.isNotEmpty(ncNode.getParentIds())){
            List<Long> pids = Func.toLongList(ncNode.getParentIds());
@@ -218,7 +228,7 @@
         recObj.put("description",node.getDescription());
         recObj.put("name",node.getName());
         recObj.put("remark",node.getRemark());
         recObj.put("partNo",node.getPartNo());
         recObj.put("drawingNo",node.getDrawingNo());
         recObj.put("parentIds",node.getParentIds());
         recObj.put("processName",node.getProcessName());