Browse Source

带备料排序

24282 1 year ago
parent
commit
b7f50d001c

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

@@ -103,48 +103,51 @@ public class StockPreparationServiceImpl implements StockPreparationService {
         IWrapper<StockPreparationVo> wrapper = getWrapper(dto);
         List<StockPreparationVo> stockPreparationVoList = stockPreparationMapper.uncompletedList(wrapper);
 
-        return new ArrayList<>(stockPreparationVoList.stream().collect(Collectors.toMap(
-                StockPreparationVo::getBomSpecId,
-                item -> {
-                    UncompletedVo uncompletedVo = new UncompletedVo();
-                    uncompletedVo.setBomSpecId(item.getBomSpecId());
-                    uncompletedVo.setBomSpecCode(item.getBomSpecCode());
-                    uncompletedVo.setBomSpecName(item.getBomSpecName());
-                    uncompletedVo.setTotalQuantity(item.getQuantity());
-
-                    UncompletedVo.SkuInfo skuInfo = new UncompletedVo.SkuInfo();
-                    skuInfo.setSkuSpecId(item.getSkuSpecId());
-                    skuInfo.setSkuSpecCode(item.getSkuSpecCode());
-                    skuInfo.setSkuSpecName(item.getSkuSpecName());
-                    skuInfo.setQuantity(item.getQuantity());
-
-                    List<UncompletedVo.SkuInfo> skuInfoList = new ArrayList<>();
-                    skuInfoList.add(skuInfo);
-
-                    uncompletedVo.setSkuInfoList(skuInfoList);
-
-                    return uncompletedVo;
-                },
-                (v1, v2) -> {
-                    v1.setTotalQuantity(v1.getTotalQuantity().add(v2.getTotalQuantity()));
-                    UncompletedVo.SkuInfo skuInfo = v2.getSkuInfoList().get(0);
-                    boolean flag = true;
-                    for (UncompletedVo.SkuInfo temp : v1.getSkuInfoList()) {
-                        if (Objects.equals(temp.getSkuSpecId(), skuInfo.getSkuSpecId())) {
-                            temp.setQuantity(temp.getQuantity().add(skuInfo.getQuantity()));
-                            flag = false;
-                            break;
-                        }
-                    }
-
-                    if (flag) {
-                        v1.getSkuInfoList().add(skuInfo);
-                    }
-
-                    return v1;
-                }
-        )).values());
+        return stockPreparationVoList.stream().collect(Collectors.toMap(
+                        StockPreparationVo::getBomSpecId,
+                        item -> {
+                            UncompletedVo uncompletedVo = new UncompletedVo();
+                            uncompletedVo.setBomSpecId(item.getBomSpecId());
+                            uncompletedVo.setBomSpecCode(item.getBomSpecCode());
+                            uncompletedVo.setBomSpecName(item.getBomSpecName());
+                            uncompletedVo.setTotalQuantity(item.getQuantity());
+
+                            UncompletedVo.SkuInfo skuInfo = new UncompletedVo.SkuInfo();
+                            skuInfo.setSkuSpecId(item.getSkuSpecId());
+                            skuInfo.setSkuSpecCode(item.getSkuSpecCode());
+                            skuInfo.setSkuSpecName(item.getSkuSpecName());
+                            skuInfo.setQuantity(item.getQuantity());
+
+                            List<UncompletedVo.SkuInfo> skuInfoList = new ArrayList<>();
+                            skuInfoList.add(skuInfo);
+
+                            uncompletedVo.setSkuInfoList(skuInfoList);
+
+                            return uncompletedVo;
+                        },
+                        (v1, v2) -> {
+                            v1.setTotalQuantity(v1.getTotalQuantity().add(v2.getTotalQuantity()));
+                            UncompletedVo.SkuInfo skuInfo = v2.getSkuInfoList().get(0);
+                            boolean flag = true;
+                            for (UncompletedVo.SkuInfo temp : v1.getSkuInfoList()) {
+                                if (Objects.equals(temp.getSkuSpecId(), skuInfo.getSkuSpecId())) {
+                                    temp.setQuantity(temp.getQuantity().add(skuInfo.getQuantity()));
+                                    flag = false;
+                                    break;
+                                }
+                            }
+
+                            if (flag) {
+                                v1.getSkuInfoList().add(skuInfo);
+                            }
 
+                            return v1;
+                        }
+                ))
+                .values()
+                .stream()
+                .sorted(Comparator.comparing(UncompletedVo::getBomSpecCode))
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -257,7 +260,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
 
         // 订单sku包材列表
         List<Long> orderSkuIdList = stockPreparationVoList.stream().map(StockPreparationVo::getOrderSkuId).collect(Collectors.toList());
-        List<OrderSkuBom> orderSkuBomList = orderSkuBomService.listByIds(orderSkuIdList);
+        List<OrderSkuBom> orderSkuBomList = orderSkuBomService.list(q -> q.in(OrderSkuBom::getOrderSkuId, orderSkuIdList));
 
         // 合并列表
         List<OutBomVo> outBomVoList = stockPreparationVoList.stream().map(item -> {
@@ -333,7 +336,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
                     Inventory::getQuantity,
                     q -> q.eq(Inventory::getWarehouseId, WarehouseConstant.PACKAGING_MATERIAL)
                             .eq(Inventory::getDepartmentId, outDepartmentId)
-                            .in(Inventory::getBomSpecId, semiFinishedProductBomSpecIdList)
+                            .in(Inventory::getBomSpecId, packagingMaterialBomSpecIdList)
             );
         }