From e489015e3e4aa7859b590c40296353be109247dd Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Tue, 18 Aug 2026 10:19:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(oms):=E4=B8=8B=E5=8F=91=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=B7=B2=E5=88=A0=E9=99=A4=E6=98=8E=E7=BB=86=EF=BC=8C=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=8D=95=E4=B8=8D=E5=86=8D=E6=AE=8B=E7=95=99=E5=B7=B2?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=BF=90=E8=BE=93=E4=B8=9A=E5=8A=A1=E5=8D=95?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationStockInOrderDomainService.java | 30 +++++++++++++++---- .../ExecutionStockInOrderMapper.xml | 2 +- 2 files changed, 26 insertions(+), 6 deletions(-) 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 d2b872096..b09091343 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 @@ -607,7 +607,8 @@ public class ReservationStockInOrderDomainService { String inOrderNumber = stockInOrder.getInOrderNumber(); List materialDetailList = materialDetailService.list( new QueryWrapper().lambda() - .eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber)); + .eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber) + .eq(ReservationInMaterialDetail::getDelFlag, 1)); List inMaterialDetailList = new ArrayList<>(); for (ReservationInMaterialDetail reservationInMaterialDetail : materialDetailList) { InMaterialDetail inMaterialDetail = new InMaterialDetail(); @@ -627,7 +628,10 @@ public class ReservationStockInOrderDomainService { // Long inOrderId = stockInOrderDO.getInOrderId(); ReservationStockInOrder byId = stockInOrderService.getById(inOrderId); String inOrderNumber = byId.getInOrderNumber(); - List materialDetailList = materialDetailService.list(new QueryWrapper().lambda().eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber)); + List materialDetailList = materialDetailService.list( + new QueryWrapper().lambda() + .eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber) + .eq(ReservationInMaterialDetail::getDelFlag, 1)); // 按照 warehouseId 分组 Map> materialDetailGroupByWarehouse = materialDetailList.stream() @@ -641,7 +645,8 @@ public class ReservationStockInOrderDomainService { String warehouseName = reservationStockInOrderMapper.getWarehouseName(warehouseId); ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); - BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime"); + // 运输业务单号不直接从业务单头复制,避免历史已取消运输单号残留下发到执行单 + BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessNumber","tmsOrderNumber"); reservationStockInOrder.setIssueStatus(0); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeName("普通入库"); @@ -661,6 +666,18 @@ public class ReservationStockInOrderDomainService { reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); + // 仅当存在有效(未取消/未拦截/未删除)的运输业务单时,才回填运输业务单号 + 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.setBusinessNumber(activeTransportOrder.getGoodsNumber()); + reservationStockInOrder.setTmsOrderNumber(byId.getTmsOrderNumber()); + } + //设置入库单号 Long warehouseId1 = reservationStockInOrder.getWarehouseId(); @@ -815,7 +832,9 @@ public class ReservationStockInOrderDomainService { // Long inOrderId = stockInOrderDO.getInOrderId(); ReservationStockInOrder byId = stockInOrderService.getById(inOrderId); String inOrderNumber = byId.getInOrderNumber(); - List materialDetailList = materialDetailService.list(new QueryWrapper().lambda().eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber)); + List materialDetailList = materialDetailService.list(new QueryWrapper().lambda() + .eq(ReservationInMaterialDetail::getInOrderNumber, inOrderNumber) + .eq(ReservationInMaterialDetail::getDelFlag, 1)); Long warehouseId1 = byId.getWarehouseId(); String warehouseCode1 = byId.getWarehouseCode(); String warehouseName1 = byId.getWarehouseName(); @@ -837,7 +856,8 @@ public class ReservationStockInOrderDomainService { if (warehouseName == null) warehouseName = warehouseName1; ExecutionStockInOrder reservationStockInOrder = new ExecutionStockInOrder(); - BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime"); + // 运输业务单号不直接从业务单头复制,避免历史已取消运输单号残留下发到执行单 + BeanUtils.copyProperties(byId, reservationStockInOrder,"inOrderId","issueStatus","issueTime","issueId","issueName","reservationAuditId","reservationAuditName","reservationAuditTime","businessNumber","tmsOrderNumber"); reservationStockInOrder.setIssueStatus(0); reservationStockInOrder.setOrderTypeCode("pu_tong_ru_ku"); reservationStockInOrder.setOrderTypeName("普通入库"); diff --git a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml index e71996c13..1caf7aa6c 100644 --- a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml @@ -116,7 +116,7 @@ a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code, a.shipper_name, a.order_type_code, a.order_type_name, a.supplier_id, a.supplier_code, a.supplier_name, a.expect_time, a.supply_chain_number, a.priority_level_code, a.priority_level_name, a.direct_warehouse, a.annex_url, a.material_quantity, a.quantity,a.business_order_no,a.amount, - a.business_price_way,a.business_charge_type,a.total_warehouse_rent,a.manpower_fee,a.fire_insure_fee,a.discount,a.is_free_manpower_fee, + a.business_price_way,a.business_charge_type,a.total_warehouse_rent,a.manpower_fee,a.fire_insure_fee,a.discount,a.is_free_manpower_fee,a.business_number, -- 计划入库数量:入库明细表 in_material_detail 的 quantity 汇总