From 2b7f66cb042683fa7d698a9e2259518249354c12 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Thu, 27 Aug 2026 19:14:54 +0800 Subject: [PATCH] fix: reclaim newly added container plans --- .../inboundplan/pda/service/ReceivingContainerService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/service/ReceivingContainerService.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/service/ReceivingContainerService.java index ad9ca9d54..632eb6417 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/service/ReceivingContainerService.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/service/ReceivingContainerService.java @@ -150,6 +150,9 @@ public class ReceivingContainerService { requireSessionWarehouse(active, overseasWarehouseId); if (active != null) { if (!containerNo.equals(active.getContainerNo())) throw conflict("Finish the current container before selecting another one"); + WarehouseResourceGateway.WarehouseReference receivingWarehouse = + warehouse.requireActiveSharedWarehouse(overseasWarehouseId); + claimReceivingWarehouse(customerId, containerPlans, receivingWarehouse); ReceivingContainerResponses.Session result = snapshot(active, containerPlans); save(active, "PREPARE", request.idempotencyKey(), command, result); return result; } @@ -727,8 +730,7 @@ public class ReceivingContainerService { private boolean warehouseEligible(List containerPlans, long overseasWarehouseId) { Set assigned = containerPlans.stream().map(InboundPlan::getOverseasWarehouseId) .filter(Objects::nonNull).collect(Collectors.toSet()); - if (assigned.size() > 1 || (!assigned.isEmpty() && containerPlans.stream() - .anyMatch(plan -> plan.getOverseasWarehouseId() == null))) { + if (assigned.size() > 1) { throw conflict("Container plans have inconsistent receiving warehouse assignments"); } return assigned.isEmpty() || assigned.contains(overseasWarehouseId);