贴标申请,仓储转运

This commit is contained in:
2026-09-24 11:39:15 +08:00
parent b991eac3c3
commit d03862d47e
@@ -1224,19 +1224,24 @@ public class WarehouseTransferService {
public List<WarehouseTransferResponses.Summary> pdaCandidates(long overseasWarehouseId) {
List<WarehouseTransferOrder> candidates = transfers.selectList(new LambdaQueryWrapper<WarehouseTransferOrder>()
.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<String, RelabelApplication> 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<String, RelabelApplication> relabelApplications(List<WarehouseTransferOrder> transferOrders) {