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 3f1e70f3b..2c3b85714 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 @@ -754,17 +754,18 @@ public class ReceivingContainerService { List containerPlans = plans.selectList(new LambdaQueryWrapper() .eq(InboundPlan::getContainerNo, containerNo).orderByAsc(InboundPlan::getId)); for (InboundPlan plan : containerPlans) { - String customerId = trim(plan.getCustomerId()); - if (customerId == null) throw conflict("Inbound plan has no owning customer"); for (InboundPlanLine line : lines.selectList(new LambdaQueryWrapper() - .eq(InboundPlanLine::getCustomerId, customerId).eq(InboundPlanLine::getPlanId, plan.getId()) + .eq(InboundPlanLine::getPlanId, plan.getId()) .orderByAsc(InboundPlanLine::getId))) { LastlegOrder order = orders.selectById(line.getOrderId()); - if (order == null || !customerId.equals(order.getCustomerId()) + if (order == null + || !Objects.equals(sourceContainerBookingId, trim(order.getSourceContainerBookingId()))) continue; + String customerId = trim(plan.getCustomerId()); + if (customerId == null || !customerId.equals(order.getCustomerId()) + || !customerId.equals(line.getCustomerId()) || !Objects.equals(containerNo, trim(order.getContainerNo()))) { throw conflict("Inbound line order is missing or belongs to another cabinet occurrence"); } - if (!Objects.equals(sourceContainerBookingId, trim(order.getSourceContainerBookingId()))) continue; result.add(new InboundRef(plan, line, order)); } }