diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java index b09091343..6623dfbbc 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java @@ -645,8 +645,9 @@ public class ReservationStockInOrderDomainService { String warehouseName = reservationStockInOrderMapper.getWarehouseName(warehouseId); ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); - // 运输业务单号不直接从业务单头复制,避免历史已取消运输单号残留下发到执行单 - BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessNumber","tmsOrderNumber"); + // 业务单号/运输业务单号不从业务单头复制:业务单的businessOrderNo=自身单号,直接复制会导致 + // 执行单"运输业务单号"列永远显示入库业务单号(未选运输也显示) + BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessOrderNo","businessNumber","tmsOrderNumber"); reservationStockInOrder.setIssueStatus(0); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeName("普通入库"); @@ -666,7 +667,8 @@ public class ReservationStockInOrderDomainService { reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); - // 仅当存在有效(未取消/未拦截/未删除)的运输业务单时,才回填运输业务单号 + // 仅当存在有效(未取消/未拦截/未删除)的运输业务单时才回填运输业务单号, + // businessOrderNo与businessNumber同值,兼容前端绑定任一字段 BusinessDocumentOrder activeTransportOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper() .eq(BusinessDocumentOrder::getInOrderNumber, inOrderNumber) .eq(BusinessDocumentOrder::getDelFlag, 1) @@ -674,6 +676,7 @@ public class ReservationStockInOrderDomainService { .orderByDesc(BusinessDocumentOrder::getCreateTime) .last("limit 1")); if (activeTransportOrder != null) { + reservationStockInOrder.setBusinessOrderNo(activeTransportOrder.getGoodsNumber()); reservationStockInOrder.setBusinessNumber(activeTransportOrder.getGoodsNumber()); reservationStockInOrder.setTmsOrderNumber(byId.getTmsOrderNumber()); } @@ -857,7 +860,7 @@ public class ReservationStockInOrderDomainService { ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); // 运输业务单号不直接从业务单头复制,避免历史已取消运输单号残留下发到执行单 - BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessNumber","tmsOrderNumber"); + BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessOrderNo","businessNumber","tmsOrderNumber"); reservationStockInOrder.setIssueStatus(0); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeName("普通入库"); @@ -871,6 +874,20 @@ public class ReservationStockInOrderDomainService { reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); + // 仅当存在有效(未取消/未拦截/未删除)的运输业务单时才回填运输业务单号, + // businessOrderNo与businessNumber同值,兼容前端绑定任一字段 + BusinessDocumentOrder activeTransportOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(BusinessDocumentOrder::getInOrderNumber, inOrderNumber) + .eq(BusinessDocumentOrder::getDelFlag, 1) + .notIn(BusinessDocumentOrder::getOrderStatus, 4L, 5L) + .orderByDesc(BusinessDocumentOrder::getCreateTime) + .last("limit 1")); + if (activeTransportOrder != null) { + reservationStockInOrder.setBusinessOrderNo(activeTransportOrder.getGoodsNumber()); + reservationStockInOrder.setBusinessNumber(activeTransportOrder.getGoodsNumber()); + reservationStockInOrder.setTmsOrderNumber(byId.getTmsOrderNumber()); + } + //设置入库单号 // Long warehouseId1 = reservationStockInOrder.getWarehouseId();