|
@@ -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)
|
|
|
);
|
|
|
}
|
|
|
|