yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmBidAwardServiceImpl.java
@@ -181,11 +181,7 @@
        if (CollUtil.isEmpty(quotes)) {
            throw ServiceExceptionUtil.exception(ErrorCodeConstants.AWARD_QUOTE_NOT_EXISTS);
        }
        Map<Long, SrmSupplierQuoteDO> quoteMap = quotes.stream()
                .collect(Collectors.toMap(
                        SrmSupplierQuoteDO::getTenderMaterialId,
                        Function.identity(),
                        (a, b) -> a));
        Map<Long, SrmSupplierQuoteDO> quoteMap = SrmPurchaseQuoteValidator.validate(materials, quotes);
        // 5. 批量查 MDM 物料,获取计量单位
        Set<Long> productIds = materials.stream()
@@ -193,6 +189,9 @@
                .collect(Collectors.toSet());
        Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemList(productIds).getCheckedData()
                .stream().collect(Collectors.toMap(MdmItemRespDTO::getId, Function.identity()));
        if (productIds.stream().anyMatch(productId -> !itemMap.containsKey(productId))) {
            throw ServiceExceptionUtil.invalidParamException("存在无法匹配的物料,请先维护物料后再生成采购订单");
        }
        // 6. 构建订单项(报价为“单价”口径:行金额 = 报价单价 × 数量;
        //    定标金额与报价合计不一致时按行金额比例分摊,订单行单价仍取报价单价)