Parcourir la source

修复对账单bom金额

fgd il y a 1 an
Parent
commit
cb11af6e19

+ 32 - 16
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountServiceImpl.java

@@ -302,23 +302,39 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
 
         // 主材bom
         List<DocumentByBomVo> result = orderSkuList.stream()
-                .map(item -> DocumentByBomVo.builder()
-                        .bomSpecId(item.getBomSpecId())
+                .map(item -> {
+                    OrderInfo orderInfo = orderService.getOne(q -> q.eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2));
+                    if (ObjectUtil.isNotEmpty(orderInfo)) {
                         // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
-                        .quantity(ObjectUtil.isNotEmpty(
-                                orderService.getOne(q -> q
-                                        .eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2)))
-                                ? BigDecimal.ZERO : item.getQuantity())
-                        .unitPrice(item.getUnitPrice())
-                        .laserLogoSummary((Objects.equals(item.getCustomProcessingType(), "20")
-                                ? item.getCustomProcessingFee().multiply(item.getQuantity()) : BigDecimal.ZERO))
-                        .laserMitochondrialSummary((Objects.equals(item.getCustomProcessingType(), "10")
-                                ? item.getCustomProcessingFee().multiply(item.getQuantity()) : BigDecimal.ZERO))
-                        .lssueFeeSummary(item.getLssueFee().multiply(item.getQuantity()))
-                        .deliveryMaterialsFeeSummary(item.getDeliveryMaterialsFee().multiply(item.getQuantity()))
-                        .packingLaborSummary(item.getPackingLabor().multiply(item.getQuantity()))
-                        .managementFeeSummary(item.getManagementFee().multiply(item.getQuantity()))
-                        .build())
+                        return DocumentByBomVo.builder()
+                                .bomSpecId(item.getBomSpecId())
+                                .quantity(BigDecimal.ZERO)
+                                .unitPrice(item.getUnitPrice())
+                                .laserLogoSummary((Objects.equals(item.getCustomProcessingType(), "20")
+                                        ? item.getCustomProcessingFee() : BigDecimal.ZERO))
+                                .laserMitochondrialSummary((Objects.equals(item.getCustomProcessingType(), "10")
+                                        ? item.getCustomProcessingFee() : BigDecimal.ZERO))
+                                .lssueFeeSummary(item.getLssueFee())
+                                .deliveryMaterialsFeeSummary(item.getDeliveryMaterialsFee())
+                                .packingLaborSummary(item.getPackingLabor())
+                                .managementFeeSummary(item.getManagementFee())
+                                .build();
+                    } else {
+                        return DocumentByBomVo.builder()
+                                .bomSpecId(item.getBomSpecId())
+                                .quantity(item.getQuantity())
+                                .unitPrice(item.getUnitPrice())
+                                .laserLogoSummary((Objects.equals(item.getCustomProcessingType(), "20")
+                                        ? item.getCustomProcessingFee().multiply(item.getQuantity()) : BigDecimal.ZERO))
+                                .laserMitochondrialSummary((Objects.equals(item.getCustomProcessingType(), "10")
+                                        ? item.getCustomProcessingFee().multiply(item.getQuantity()) : BigDecimal.ZERO))
+                                .lssueFeeSummary(item.getLssueFee().multiply(item.getQuantity()))
+                                .deliveryMaterialsFeeSummary(item.getDeliveryMaterialsFee().multiply(item.getQuantity()))
+                                .packingLaborSummary(item.getPackingLabor().multiply(item.getQuantity()))
+                                .managementFeeSummary(item.getManagementFee().multiply(item.getQuantity()))
+                                .build();
+                    }
+                })
                 .peek(item -> item.setSubtotal(
                         item.getUnitPrice()
                                 .multiply(item.getQuantity())