lyh
12 小时以前 6d3c8e9c8800becec33e714c2ec42703bb1cef50
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/FileFerryService.java
@@ -1,18 +1,23 @@
package org.jeecg.modules.dnc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import liquibase.pro.packaged.S;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.dnc.dto.ComponentHierarchy;
import org.jeecg.modules.dnc.dto.TransferPackage;
import org.jeecg.modules.dnc.entity.*;
import org.jeecg.modules.dnc.exception.ExceptionCast;
import org.jeecg.modules.dnc.mapper.DocRelativeMapper;
import org.jeecg.modules.dnc.response.ActivitiCode;
import org.jeecg.modules.dnc.response.DocumentCode;
import org.jeecg.modules.dnc.service.IDocClassificationService;
import org.jeecg.modules.dnc.service.IDocFileService;
import org.jeecg.modules.dnc.service.IDocInfoService;
import org.jeecg.modules.dnc.service.IDocRelativeService;
import org.jeecg.modules.dnc.utils.CompressionUtils;
import org.jeecg.modules.dnc.utils.JsonUtils;
import org.jeecg.modules.dnc.utils.file.FileUtilS;
import org.jeecg.modules.dncFlow.service.IAssignFileStreamService;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper;
import org.jeecg.modules.system.service.IMdcProductionService;
@@ -35,9 +40,6 @@
@Service
public class FileFerryService {
    private final DataPackageService dataPackageService;
    private final SecurityService securityService;
    private static final Logger logger = LoggerFactory.getLogger(FileFerryService.class);
    @Value("${deploy.secretFolder}")
@@ -46,6 +48,9 @@
    @Value("${fileHomePath}")
    private String fileHomePath;
    @Value("${jeecg.path.upload}")
    private String upLoadPath;
    @Autowired
    private MdcEquipmentMapper mdcEquipmentMapper;
@@ -53,19 +58,15 @@
    private IMdcProductionService mdcProductionService;
    @Autowired
    private IDocInfoService docInfoService;
    @Autowired
    private IDocClassificationService classificationService;
    @Autowired
    private IDocRelativeService docRelativeService;
    @Autowired
    private IDocInfoService docInfoService;
    @Autowired
    public FileFerryService(DataPackageService dataPackageService, SecurityService securityService) {
        this.dataPackageService = dataPackageService;
        this.securityService = securityService;
    }
    private DataPackageService dataPackageService;
    public String exportData(TransferPackage.DataType type, String id,String fileName) {
        // 1. 获取封装数据
@@ -93,6 +94,8 @@
            throw new RuntimeException("文件写入失败", e);
        }
    }
    public TransferPackage importData(String filePath) {
        try {
@@ -201,10 +204,34 @@
                throw new RuntimeException("文件传输路径获取失败");
            }
            // 10.删除临时NC文件与json文件
            // 计算后一个文件名
            long nextNumber = Long.parseLong(numericPart);
            nextNumber++;
            //获取序列化的程序确认表数据
            GuideCardBatch guideCardBatch=pkg.getTraceChain().getGuideCardBatch();
            //获取文件路径
            String pictureUrl=guideCardBatch.getPicture();
            // 保持相同位数格式
            String nextNumeric = String.format("%0" + numericPart.length() + "d", nextNumber);
            String nextFileName = prefix + nextNumeric + "_" + equipmentId+"."+pictureUrl.split("\\.")[1];
            String nextFilePath = path.getParent().resolve(nextFileName).toString();
            //拼接现有路径
            String picturePtah=upLoadPath+"/"+pictureUrl;
            // 9. 复制文件并重命名
            logger.info("复制文件: {} → {}", nextFilePath,picturePtah);
            Path PicSource= Paths.get(nextFilePath);
            Files.copy(PicSource, Paths.get(picturePtah), StandardCopyOption.REPLACE_EXISTING);
            // 删除文件
            logger.info("删除临时文件: {}", ncFilePath);
            Files.delete(source);
            Files.delete(path);
            Files.delete(PicSource);
            return JsonUtils.fromJson(json, TransferPackage.class);