From d03862d47ed7f1b067b7ebfd739b8df8c894b43f Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Thu, 24 Sep 2026 11:39:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B4=E6=A0=87=E7=94=B3=E8=AF=B7=EF=BC=8C?= =?UTF-8?q?=E4=BB=93=E5=82=A8=E8=BD=AC=E8=BF=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/WarehouseTransferService.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java index 64b38c81e..f855ecf56 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/transfer/service/WarehouseTransferService.java @@ -1224,19 +1224,24 @@ public class WarehouseTransferService { public List pdaCandidates(long overseasWarehouseId) { List candidates = transfers.selectList(new LambdaQueryWrapper() .eq(WarehouseTransferOrder::getOperatingWarehouseId, String.valueOf(overseasWarehouseId)) - .in(WarehouseTransferOrder::getStatus, List.of(WAIT_PDA_RECEIVING, APPROVED, ALLOCATED, WAIT_RELABEL, READY_FOR_DISPATCH)) + // 只有尚未完成 PDA 收货/测量的状态才进入测量列表。换标、待排车及已出库 + // 都是后续履约阶段,不能继续占用 PDA 的“当前测量单”锁。 + .in(WarehouseTransferOrder::getStatus, List.of(WAIT_PDA_RECEIVING, APPROVED, ALLOCATED)) .orderByDesc(WarehouseTransferOrder::getUpdatedAt)); Map relabelApplicationsByNo = relabelApplications(candidates); - return candidates.stream().map(value -> - new WarehouseTransferResponses.Summary(value.getId(), value.getTransferNo(), value.getInboundCode(), + return candidates.stream().map(value -> { + RelabelApplication relabel = StringUtils.hasText(value.getRelabelNo()) + ? relabelApplicationsByNo.get(value.getRelabelNo()) : null; + return new WarehouseTransferResponses.Summary(value.getId(), value.getTransferNo(), value.getInboundCode(), value.getLastlegOrderId(), value.getLastlegOrderNo(), value.getOperatingWarehouseId(), value.getFbaWarehouseCode(), value.getDestinationType(), value.getDestinationWarehouseCode(), value.getDestinationWarehouseName(), value.getPackageCount(), value.getDeliveryMethod(), Boolean.TRUE.equals(value.getNeedRelabel()), value.getRelabelNo(), - relabelApplicationsByNo.get(value.getRelabelNo()) == null ? null : relabelApplicationsByNo.get(value.getRelabelNo()).getStatus(), - relabelApplicationsByNo.get(value.getRelabelNo()) == null ? null : relabelApplicationsByNo.get(value.getRelabelNo()).getFulfillmentStatus(), + relabel == null ? null : relabel.getStatus(), + relabel == null ? null : relabel.getFulfillmentStatus(), value.getStatus(), - value.getEstimatedArrivalAt(), value.getCreatedAt())).toList(); + value.getEstimatedArrivalAt(), value.getCreatedAt()); + }).toList(); } private Map relabelApplications(List transferOrders) {