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 汇总