From 787bae747de46eb1b7c7d63031ddf109b92fa1bc Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 05 三月 2026 08:30:14 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 95c66d6..af614d7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -622,13 +622,15 @@
List<OutStockToTaskParams> tasks = new ArrayList<>();
for (OrderOutItemDto orderOutItemDto : orderOutTaskItemAuto){
- OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto);
- outStockToTaskParams.setId(orderOutItemDto.getLocItem().getId());
- outStockToTaskParams.setOutQty(orderOutItemDto.getOutQty());
- outStockToTaskParams.setLocCode(orderOutItemDto.getLocItem().getLocCode());
- outStockToTaskParams.setBarcode(orderOutItemDto.getLocItem().getBarcode());
- outStockToTaskParams.setSiteNo(stationId);
- tasks.add(outStockToTaskParams);
+ for (LocItem locItem : orderOutItemDto.getLocItemList()) {
+ OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto,locItem);
+ outStockToTaskParams.setId(locItem.getId());
+ outStockToTaskParams.setOutQty(locItem.getOutQty());
+ outStockToTaskParams.setLocCode(locItem.getLocCode());
+ outStockToTaskParams.setBarcode(locItem.getBarcode());
+ outStockToTaskParams.setSiteNo(stationId);
+ tasks.add(outStockToTaskParams);
+ }
}
if (tasks.isEmpty()){
log.warn("璁㈠崟ID {} 娌℃湁鎵惧埌鍙嚭搴撴槑缁嗭紝璺宠繃鑷姩鍑哄簱", orderId);
@@ -1122,6 +1124,32 @@
}
}
+ // 浠撳簱缂栫爜杩囨护
+ if (StringUtils.isNotBlank(condition.getWareHouseAreaId())) {
+ String wareHouseAreaId = condition.getWareHouseAreaId();
+ LambdaQueryWrapper<WarehouseAreas> whWrapper = new LambdaQueryWrapper<>();
+ whWrapper.eq(WarehouseAreas::getCode, wareHouseAreaId);
+ // 璋冪敤WarehouseService鏌ヨ浠撳簱淇℃伅锛堝鐢⊿ervice灞傛柟娉曪級
+ List<WarehouseAreas> warehouses = warehouseAreasService.list(whWrapper);
+ if (!warehouses.isEmpty()) {
+ Long targetWarehouseId = warehouses.get(0).getId();
+ // 杩囨护搴撲綅锛屽彧淇濈暀鐩爣浠撳簱鐨勫簱浣�
+ locMap = locMap.entrySet().stream()
+ .filter(entry -> Objects.equals(entry.getValue().getAreaId(), targetWarehouseId))
+ .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+
+ // 杩囨护locItems锛屽彧淇濈暀鐩爣浠撳簱鐨�
+ Set<Long> validLocIds = locMap.keySet();
+ locItems = locItems.stream()
+ .filter(item -> item.getLocId() != null && validLocIds.contains(item.getLocId()))
+ .collect(Collectors.toList());
+
+ List<Long> warehouseAreaIds = Collections.singletonList(targetWarehouseId);
+ } else {
+ return R.ok().add(new ArrayList<>());
+ }
+ }
+
// 璋冪敤WarehouseService鏌ヨ浠撳簱淇℃伅锛堝鐢⊿ervice灞傛柟娉曪級
Map<Long, Warehouse> warehouseMap = new HashMap<>();
if (!warehouseIds.isEmpty()) {
--
Gitblit v1.9.1