瀏覽代碼

修改对账单

fgd 1 年之前
父節點
當前提交
be33cced20

+ 11 - 6
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountServiceImpl.java

@@ -242,12 +242,14 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
         // 获取订单sku
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, orderIdList));
 
+        // 查询委外订单
+        Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
+
         // 生成结果集
         List<DocumentBySkuVo> documentBySkuVoList = orderSkuList.stream()
                 .map(item -> DocumentBySkuVo.builder()
                         .skuSpecId(item.getSkuSpecId())
                         .orderId(item.getOrderId())
-                        // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
                         .quantity(item.getQuantity())
                         .unitPrice(item.getUnitPrice()
                                 .add(item.getCustomProcessingFee())
@@ -262,7 +264,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                 .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));
+                    OrderInfo orderInfo = map.get(item.getOrderId());
                     if (ObjectUtil.isNotEmpty(orderInfo)) {
                         item.setQuantity(BigDecimal.ZERO);
                     }
@@ -301,6 +303,8 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
         if (orderIdList.size() == 0) {
             return Collections.emptyList();
         }
+        // 查询委外订单
+        Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
 
         // 获取订单sku
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, orderIdList));
@@ -334,7 +338,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                 .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));
+                    OrderInfo orderInfo = map.get(item.getOrderId());
                     if (ObjectUtil.isNotEmpty(orderInfo)) {
                         item.setQuantity(BigDecimal.ZERO);
                     }
@@ -526,6 +530,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
     private List<DocumentByOrderVo.SkuSpec> getSkuSpecList(List<OrderSku> orderSkuList) {
 
         List<Long> orderIdList = orderSkuList.stream().map(OrderSku::getOrderId).collect(Collectors.toList());
+        // 查询委外订单
         Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
 
         List<DocumentByOrderVo.SkuSpec> skuSpecList = orderSkuList.stream()
@@ -566,15 +571,15 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
      * 获取订单bom
      */
     private List<DocumentByOrderVo.BomSpec> getBomSpecList(List<Long> orderIdList, List<OrderSku> orderSkuList) {
+        // 查询委外订单
+        Map<Long, OrderInfo> orderMap = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
 
         List<DocumentByOrderVo.BomSpec> bomSpecList = orderSkuList.stream()
                 .map(item -> DocumentByOrderVo.BomSpec.builder()
                         .orderSkuId(item.getId())
                         .bomSpecId(item.getBomSpecId())
                         // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
-                        .quantity(ObjectUtil.isNotEmpty(
-                                orderService.getOne(q -> q
-                                        .eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2)))
+                        .quantity(ObjectUtil.isNotEmpty(orderMap.get(item.getOrderId()))
                                 ? BigDecimal.ZERO : item.getQuantity())
                         .unitPrice(item.getUnitPrice())
                         .laserLogoSummary((Objects.equals(item.getCustomProcessingType(), "20")