fix(oms):入库执行单业务单号不随下发复制,执行并下发入口补充有效运输业务单回填

This commit is contained in:
rcx
2026-08-18 11:36:21 +08:00
parent e489015e3e
commit bca8b5fbed
@@ -645,8 +645,9 @@ public class ReservationStockInOrderDomainService {
String warehouseName = reservationStockInOrderMapper.getWarehouseName(warehouseId); String warehouseName = reservationStockInOrderMapper.getWarehouseName(warehouseId);
ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder();
// 运输业务单号不直接从业务单头复制,避免历史已取消运输单号残留下发到执行单 // 业务单号/运输业务单号不从业务单头复制:业务单的businessOrderNo=自身单号,直接复制会导致
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.setIssueStatus(0);
reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku");
reservationStockInOrder.setOrderTypeName("普通入库"); reservationStockInOrder.setOrderTypeName("普通入库");
@@ -666,7 +667,8 @@ public class ReservationStockInOrderDomainService {
reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setWarehouseName(warehouseName);
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
// 仅当存在有效(未取消/未拦截/未删除)的运输业务单时才回填运输业务单号 // 仅当存在有效(未取消/未拦截/未删除)的运输业务单时才回填运输业务单号
// businessOrderNo与businessNumber同值,兼容前端绑定任一字段
BusinessDocumentOrder activeTransportOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper<BusinessDocumentOrder>() BusinessDocumentOrder activeTransportOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper<BusinessDocumentOrder>()
.eq(BusinessDocumentOrder::getInOrderNumber, inOrderNumber) .eq(BusinessDocumentOrder::getInOrderNumber, inOrderNumber)
.eq(BusinessDocumentOrder::getDelFlag, 1) .eq(BusinessDocumentOrder::getDelFlag, 1)
@@ -674,6 +676,7 @@ public class ReservationStockInOrderDomainService {
.orderByDesc(BusinessDocumentOrder::getCreateTime) .orderByDesc(BusinessDocumentOrder::getCreateTime)
.last("limit 1")); .last("limit 1"));
if (activeTransportOrder != null) { if (activeTransportOrder != null) {
reservationStockInOrder.setBusinessOrderNo(activeTransportOrder.getGoodsNumber());
reservationStockInOrder.setBusinessNumber(activeTransportOrder.getGoodsNumber()); reservationStockInOrder.setBusinessNumber(activeTransportOrder.getGoodsNumber());
reservationStockInOrder.setTmsOrderNumber(byId.getTmsOrderNumber()); reservationStockInOrder.setTmsOrderNumber(byId.getTmsOrderNumber());
} }
@@ -857,7 +860,7 @@ public class ReservationStockInOrderDomainService {
ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); 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.setIssueStatus(0);
reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku");
reservationStockInOrder.setOrderTypeName("普通入库"); reservationStockInOrder.setOrderTypeName("普通入库");
@@ -871,6 +874,20 @@ public class ReservationStockInOrderDomainService {
reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setWarehouseName(warehouseName);
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
// 仅当存在有效(未取消/未拦截/未删除)的运输业务单时才回填运输业务单号,
// businessOrderNo与businessNumber同值,兼容前端绑定任一字段
BusinessDocumentOrder activeTransportOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper<BusinessDocumentOrder>()
.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(); // Long warehouseId1 = reservationStockInOrder.getWarehouseId();