buhuazhen
2026-04-24 0ca7d78f0e8e8a6984314803aba21ab1d25472b3
src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.production.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -20,6 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -91,6 +93,25 @@
        return productionPrintOrderDto;
    }
    @Override
    public List<ProductionPrintOrder> getListByOrders(List<Long> orderIds) {
        if(CollUtil.isEmpty(orderIds)){
            return new ArrayList<>();
        }
        LambdaQueryWrapper<ProductionPrintOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(ProductionPrintOrder::getProductOrderId, orderIds);
        List<ProductionPrintOrder> productionPrintOrders = productionPrintOrderMapper.selectList(queryWrapper);
        // 去除重复的orderIds的记录只保留id最大的一个
        return productionPrintOrders.stream().collect(Collectors.collectingAndThen(
            Collectors.toMap(
                ProductionPrintOrder::getProductOrderId,
                productionPrintOrder -> productionPrintOrder,
                (existing, replacement) -> existing.getId() > replacement.getId() ? existing : replacement
            ),
            map -> new ArrayList<>(map.values())
        ));
    }
}