Răsfoiți Sursa

订单删除快递包材退料

fgd 1 an în urmă
părinte
comite
b235f09819

+ 3 - 3
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java

@@ -25,7 +25,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -78,7 +78,7 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
 
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
         List<OrderSku> list = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
                 .collect(Collectors.toList());
@@ -316,7 +316,7 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
 
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
         List<OrderSku> list = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
                 .collect(Collectors.toList());

+ 1 - 1
sd-business/src/main/java/com/sd/business/service/order/impl/OrderExchangeServiceImpl.java

@@ -278,7 +278,7 @@ public class OrderExchangeServiceImpl extends ServiceImpl<OrderExchangeMapper, O
 
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
         List<OrderSku> tempOrderSkuList = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
                 .collect(Collectors.toList());

+ 35 - 8
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -913,6 +913,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         // 获取订单商品主材和包材
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.eq(OrderSku::getOrderId, id));
         List<OrderSkuBom> orderSkuBomList = orderSkuBomService.list(q -> q.eq(OrderSkuBom::getOrderId, id));
+        List<OrderPackageBom> orderPackageBomList = orderPackageBomService.list(q -> q.eq(OrderPackageBom::getOrderId, id));
 
         // 成品退料
         if (Objects.equals(orderInfo.getStockType(), StatusConstant.YES)) {
@@ -927,14 +928,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         }
 
         Map<Long, OrderSku> orderSkuMap = orderSkuList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+        // 筛选掉赠品sku
+        List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         // 合并主材和包材
-        List<InOutStorageBom> inOutStorageBomList = orderSkuList.stream().map(item -> {
-            InOutStorageBom inOutStorageBom = new InOutStorageBom();
-            inOutStorageBom.setBomSpecId(item.getBomSpecId());
-            inOutStorageBom.setQuantity(item.getQuantity());
-            return inOutStorageBom;
-        }).collect(Collectors.toList());
+        List<InOutStorageBom> inOutStorageBomList = orderSkuList.stream()
+                .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
+                .map(item -> {
+                    InOutStorageBom inOutStorageBom = new InOutStorageBom();
+                    inOutStorageBom.setBomSpecId(item.getBomSpecId());
+                    inOutStorageBom.setQuantity(item.getQuantity());
+                    return inOutStorageBom;
+                }).collect(Collectors.toList());
 
         for (OrderSkuBom orderSkuBom : orderSkuBomList) {
             OrderSku orderSku = orderSkuMap.get(orderSkuBom.getOrderSkuId());
@@ -944,6 +950,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
             inOutStorageBomList.add(inOutStorageBom);
         }
 
+        for (OrderPackageBom orderPackageBom : orderPackageBomList) {
+            InOutStorageBom inOutStorageBom = new InOutStorageBom();
+            inOutStorageBom.setBomSpecId(orderPackageBom.getBomSpecId());
+            inOutStorageBom.setQuantity(orderPackageBom.getQuantity());
+            inOutStorageBomList.add(inOutStorageBom);
+        }
+
         // 合并数量
         Map<Long, InOutStorageBom> map = inOutStorageBomList.stream().collect(Collectors.toMap(
                 InOutStorageBom::getBomSpecId,
@@ -1154,14 +1167,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         }
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.eq(OrderSku::getOrderId, id));
         List<OrderSkuBom> orderSkuBomList = orderSkuBomService.list(q -> q.eq(OrderSkuBom::getOrderId, id));
+        List<OrderPackageBom> orderPackageBomList = orderPackageBomService.list(q -> q.eq(OrderPackageBom::getOrderId, id));
         Map<Long, OrderSku> orderSkuMap = orderSkuList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
         if (Objects.equals(orderInfo.getClassify(), OrderClassifyEnum.OUTSOURCE_ORDER.getKey())) {
             orderSkuList = Collections.emptyList();
         }
+        // 筛选掉赠品sku
+        List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
-        Map<Long, OutBomVo> map = Stream.concat(
+        Map<Long, OutBomVo> map = Stream.of(
                         // 主材
                         orderSkuList.stream()
+                                .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
                                 .map(item -> {
                                     OutBomVo outBomVo = new OutBomVo();
                                     outBomVo.setBomSpecId(item.getBomSpecId());
@@ -1176,8 +1194,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
                             outBomVo.setBomSpecId(item.getBomSpecId());
                             outBomVo.setOutQuantity(item.getQuantity().multiply(orderSku.getQuantity()));
                             return outBomVo;
+                        }),
+
+                        // 快递包材
+                        orderPackageBomList.stream().map(item -> {
+                            OutBomVo outBomVo = new OutBomVo();
+                            outBomVo.setBomSpecId(item.getBomSpecId());
+                            outBomVo.setOutQuantity(item.getQuantity());
+                            return outBomVo;
                         })
                 )
+                .flatMap(stream -> stream)
                 .collect(Collectors.toMap(
                         OutBomVo::getBomSpecId,
                         Function.identity(),
@@ -1491,7 +1518,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         Map<Long, BomSpecBo> bomSpecBoMap = skuSpecService.getBomSpecBoByIdList(bomSpecIdList);
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         orderSkuList = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))

+ 5 - 5
sd-business/src/main/java/com/sd/business/service/production/impl/StockPreparationServiceImpl.java

@@ -329,7 +329,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, map.keySet()));
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         // 筛选掉不是主材的sku
         List<Long> bomSpecIds = orderSkuList.stream().map(OrderSku::getBomSpecId).collect(Collectors.toList());
@@ -395,7 +395,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, map.keySet()));
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         Map<Long, List<OrderSku>> orderSkuMap = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
@@ -484,7 +484,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         Map<Long, OrderSku> orderSkuMap = orderSkuList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         Map<Long, OutBomVo> map = Stream.of(
                         // 主材
@@ -617,7 +617,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
 
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         Map<Long, OutSkuVo> map = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
@@ -757,7 +757,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         List<OrderPackageBom> orderPackageBomList = orderPackageBomService.list(q -> q.in(OrderPackageBom::getOrderId, orderIdLockStorageMap.keySet()));
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         List<InOutStorageBomBo> inOutStorageBomBoList = Stream.of(
 

+ 2 - 1
sd-business/src/main/java/com/sd/business/service/sku/SkuSpecService.java

@@ -18,6 +18,7 @@ import java.math.BigDecimal;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 
 /**
@@ -118,5 +119,5 @@ public interface SkuSpecService extends BaseService<SkuSpec> {
      * 根据id集合获取其中的所有赠品id
      * @param skuSpecIdList
      */
-    List<Long> getGiftIdListByIdList(Collection<Long> skuSpecIdList);
+    Set<Long> getGiftIdListByIdList(Collection<Long> skuSpecIdList);
 }

+ 2 - 2
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuSpecServiceImpl.java

@@ -583,12 +583,12 @@ public class SkuSpecServiceImpl extends ServiceImpl<SkuSpecMapper, SkuSpec> impl
     }
 
     @Override
-    public List<Long> getGiftIdListByIdList(Collection<Long> skuSpecIdList) {
+    public Set<Long> getGiftIdListByIdList(Collection<Long> skuSpecIdList) {
         List<SkuSpec> skuSpecList = this.list(q -> q
                 .in(BaseIdPo::getId, skuSpecIdList)
                 .eq(SkuSpec::getGiftTag, StatusConstant.YES)
                 .select(BaseIdPo::getId));
-        return skuSpecList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
+        return skuSpecList.stream().map(BaseIdPo::getId).collect(Collectors.toSet());
     }
 
 }

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

@@ -289,10 +289,10 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
         // 查询赠品sku
         List<Long> skuSpecIds = documentBySkuVoList.stream().map(DocumentBySkuVo::getSkuSpecId).collect(Collectors.toList());
         Map<Long, SkuSpec> skuSpecMap = skuSpecService.byIdsToMap(skuSpecIds);
-        List<Long> giftSkuSpecIds = skuSpecMap.values().stream()
+        Set<Long> giftSkuSpecIds = skuSpecMap.values().stream()
                 .filter(item -> Objects.equals(item.getGiftTag(), StatusConstant.YES))
                 .map(BaseIdPo::getId)
-                .collect(Collectors.toList());
+                .collect(Collectors.toSet());
 
         // 赋值sku规格品名和品号
         for (DocumentBySkuVo documentBySkuVo : documentBySkuVoList) {
@@ -336,7 +336,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
 
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
 
         // 主材bom
         List<DocumentByBomVo> result = orderSkuList.stream()
@@ -477,7 +477,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
         List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, orderIdList));
         // 筛选掉赠品sku
         List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
-        List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
+        Set<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
         List<OrderSku> tempOrderSkuList = orderSkuList.stream()
                 .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
                 .collect(Collectors.toList());