瀏覽代碼

修改对账单订单为委外订单的sku数量为0

fgd 1 年之前
父節點
當前提交
593f3119a6

+ 6 - 0
sd-business/src/main/java/com/sd/business/entity/statement/vo/DocumentBySkuVo.java

@@ -51,4 +51,10 @@ public class DocumentBySkuVo {
      */
     private Integer placeholder;
 
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
 }

+ 15 - 0
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountServiceImpl.java

@@ -242,6 +242,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
         List<DocumentBySkuVo> documentBySkuVoList = orderSkuList.stream()
                 .map(item -> DocumentBySkuVo.builder()
                         .skuSpecId(item.getSkuSpecId())
+                        .orderId(item.getOrderId())
                         .quantity(item.getQuantity())
                         .unitPrice(item.getUnitPrice()
                                 .add(item.getCustomProcessingFee())
@@ -254,6 +255,13 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                         .build())
                 .peek(item -> item.setSubtotal(item.getQuantity().multiply(item.getUnitPrice())))
                 .peek(item -> item.setTotal(item.getSubtotal()))
+                .peek(item -> {
+                    // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
+                    OrderInfo orderInfo = orderService.getOne(q -> q.eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2));
+                    if (ObjectUtil.isNotEmpty(orderInfo)) {
+                        item.setQuantity(BigDecimal.ZERO);
+                    }
+                })
                 .collect(Collectors.toList());
 
         // 赋值sku规格品名和品号
@@ -517,6 +525,13 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                         .build())
                 .peek(item -> item.setSubtotal(item.getQuantity().multiply(item.getUnitPrice())))
                 .peek(item -> item.setTotal(item.getSubtotal()))
+                .peek(item -> {
+                    // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
+                    OrderInfo orderInfo = orderService.getOne(q -> q.eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2));
+                    if (ObjectUtil.isNotEmpty(orderInfo)) {
+                        item.setQuantity(BigDecimal.ZERO);
+                    }
+                })
                 .collect(Collectors.toList());
 
         skuSpecService.attributeAssign(skuSpecList, DocumentByOrderVo.SkuSpec::getSkuSpecId, (item, skuSpec) -> {