diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java index a83ad2a97..e2621b868 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java @@ -68,4 +68,5 @@ public interface ExecutionStockInOrderMapper extends BaseMapper1) { - reservationStockInOrder.setInOrderNumber(OrderSequence.getOrderCode("RK")); - } else { - reservationStockInOrder.setInOrderNumber(inOrderNumber); - } + reservationStockInOrder.setInOrderNumber(generateExecutionOrderNumber(warehouseCode)); + // 原本 businessOrderNo 通过 BeanUtils.copyProperties 从预约单拷贝,现改为与执行单号一致 + // reservationStockInOrder.setBusinessOrderNo(byId.getBusinessOrderNo()); + reservationStockInOrder.setBusinessOrderNo(reservationStockInOrder.getInOrderNumber()); List inMaterialDetailList = new ArrayList<>(); int index = 1; @@ -691,11 +693,10 @@ public class ReservationStockInOrderDomainService { reservationStockInOrder.setWarehouseCode(warehouseCode); reservationStockInOrder.setWarehouseName(warehouseName); reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber); - if (materialDetailGroupByWarehouse!=null&&materialDetailGroupByWarehouse.size()>1) { - reservationStockInOrder.setInOrderNumber(OrderSequence.getOrderCode("RK")); - } else { - reservationStockInOrder.setInOrderNumber(inOrderNumber); - } + reservationStockInOrder.setInOrderNumber(generateExecutionOrderNumber(warehouseCode)); + // 原本 businessOrderNo 通过 BeanUtils.copyProperties 从预约单拷贝,现改为与执行单号一致 + // reservationStockInOrder.setBusinessOrderNo(byId.getBusinessOrderNo()); + reservationStockInOrder.setBusinessOrderNo(reservationStockInOrder.getInOrderNumber()); List inMaterialDetailList = new ArrayList<>(); int index = 1; @@ -1212,4 +1213,16 @@ public class ReservationStockInOrderDomainService { return stockInOrderService.queryNoticePrintDetail(stockInOrderDO); } + /** + * 生成执行入库单号:仓库代码简称 + YYMMDD + 当日累加(3位,不足补零) + */ + public String generateExecutionOrderNumber(String warehouseCode) { + SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); + String datePart = sdf.format(new Date()); + String prefix = warehouseCode + datePart; + int todayCount = executionStockInOrderMapper.countByOrderNumberPrefix(prefix); + String seq = String.format("%03d", todayCount + 1); + return prefix + seq; + } + } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml index cab60f61c..e71996c13 100644 --- a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml @@ -650,4 +650,10 @@ update "NGWL_TEST_WMS".RECEIPT_MATERIAL_DETAIL set DEL_FLAG = 2 where DEL_FLAG = 1 and RECEIPT_ORDER_NUMBER = #{receiptOrderNumber} + + \ No newline at end of file