diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundMaterialRankPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundMaterialRankPO.java index abcf12539..6532af87f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundMaterialRankPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundMaterialRankPO.java @@ -14,8 +14,10 @@ import java.util.Date; /** * 入库排名统计PO(一行 = 某仓单内某货品的合计,按件数降序排名) * - *

字段口径:入仓日期=执行入仓单入仓日期;仓单编号=执行入库单号;客户编号/存货人=入仓单货主; - * 件数/毛重/体积=仓单内该货品明细合计;毛重(吨)=明细总毛重KG/1000; + *

数据源跨库取 WMS 入库表(NGWL_TEST_WMS.stock_in_order / in_material_detail,OMS 执行单状态/上架量不回传), + * 口径与 WMS 端 /inboundRankApi 完全一致,两边数字一致。 + * 字段口径:入仓日期=WMS入仓单入仓日期(为空兜底建档时间);仓单编号=WMS入库单号;客户编号/存货人=入仓单货主; + * 件数/毛重/体积=仓单内该货品明细合计(件数取实际上架量 SHELVES_QUANTITY);毛重(吨)=明细总毛重KG/1000; * 投保总额=货品档案保额(NGWL_TEST_WMS.material_base_info.insure_amount,组内取MAX防多批次明细行重复累加)

* * @author rcx @@ -33,7 +35,7 @@ public class ExecutionInboundMaterialRankPO implements Serializable { @Excel(name = "入仓日期", width = 30, dateFormat = "yyyy-MM-dd") private Date warehouseDate; - @ApiModelProperty("仓单编号(执行入库单号)") + @ApiModelProperty("仓单编号(WMS入库单号)") @Excel(name = "仓单编号") private String inOrderNumber; @@ -61,7 +63,7 @@ public class ExecutionInboundMaterialRankPO implements Serializable { @Excel(name = "单位") private String unitName; - @ApiModelProperty("件数(仓单内该货品合计,排名依据)") + @ApiModelProperty("件数(仓单内该货品实际上架量合计 SHELVES_QUANTITY,排名依据)") @Excel(name = "件数") private BigDecimal pieceCount; diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundRankTotalPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundRankTotalPO.java index d3d1bd88d..c8a51892e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundRankTotalPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/po/ExecutionInboundRankTotalPO.java @@ -22,7 +22,7 @@ public class ExecutionInboundRankTotalPO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("件数合计") + @ApiModelProperty("件数合计(实际上架量)") private BigDecimal totalPieceCount; @ApiModelProperty("毛重(吨)合计") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/todo/ExecutionInboundRankDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/todo/ExecutionInboundRankDTO.java index 3e557dd6d..968c289d5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/todo/ExecutionInboundRankDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/inboundRank/repository/todo/ExecutionInboundRankDTO.java @@ -8,7 +8,7 @@ import java.io.Serializable; /** * 入库排名统计入参DTO * - *

数据源为 OMS 执行入库链路(execution_in_material_detail / execution_stock_in_order)

+ *

数据源跨库取 WMS 入库链路(NGWL_TEST_WMS.stock_in_order / in_material_detail,OMS 执行单状态/上架量不回传)

* * @author rcx * @date 2026-08-31 diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/inboundRank/ExecutionInboundRankApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/inboundRank/ExecutionInboundRankApi.java index b7cfd6391..f97d23e57 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/inboundRank/ExecutionInboundRankApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/inboundRank/ExecutionInboundRankApi.java @@ -26,9 +26,11 @@ import java.util.List; /** * 入库排名统计Api * - *

按入仓日期区间筛选商品入库量统计排名。统计口径:入仓日期(为空的历史单按建档时间兜底); - * OMS 执行入库单状态不回传(长期停留已创建),不按"已入库"过滤,仅排除已取消(6)/已关闭(7), - * 与入库明细查询页面口径一致;明细仅取 level=1 主行;一行 = 某仓单内某货品的合计,按件数降序排名。 + *

按入仓日期区间筛选商品入库量统计排名。OMS 库执行入库单状态/上架数量均不回传,真实数据在 WMS 库, + * 故数据源跨库取 WMS 入库表(NGWL_TEST_WMS.stock_in_order/in_material_detail,与 OMS 出库排名跨库修法一致); + * 口径与 WMS 端 /inboundRankApi 完全一致,两边数字一致:仅已入库(5) + 明细 level=1 主行 + + * 入仓日期(为空的历史单按建档时间兜底) + 件数=实际上架量(SHELVES_QUANTITY); + * 一行 = 某仓单内某货品的合计,按件数降序排名。 * 字段:入仓日期/仓单编号/客户编号/存货人/货名/件数/毛重(吨)/投保总额/体积(CBM)。 * 与出库排名(/executionOutboundRankApi)配对,前端用 tab 页区分

* diff --git a/mhd_oms/src/main/resources/mapper/inboundRank/ExecutionInboundRankMapper.xml b/mhd_oms/src/main/resources/mapper/inboundRank/ExecutionInboundRankMapper.xml index 0401cc603..e6b76eb0d 100644 --- a/mhd_oms/src/main/resources/mapper/inboundRank/ExecutionInboundRankMapper.xml +++ b/mhd_oms/src/main/resources/mapper/inboundRank/ExecutionInboundRankMapper.xml @@ -5,19 +5,23 @@ a.del_flag = 1 and a.level = 1 - and b.del_flag = 1 - and b.status not in (6, 7) + and b.status = 5 and b.top_organization_id = #{topOrganizationId} @@ -48,12 +52,12 @@ - from execution_in_material_detail a - join execution_stock_in_order b on a.in_order_number = b.in_order_number and b.del_flag = 1 + from NGWL_TEST_WMS.in_material_detail a + join NGWL_TEST_WMS.stock_in_order b on a.in_order_number = b.in_order_number and b.del_flag = 1 left join NGWL_TEST_WMS.material_base_info c on a.material_base_info_id = c.material_base_info_id - + select @@ -66,7 +66,7 @@ MAX(a.material_name) AS materialName, MAX(a.SPECIFICATION_MODEL) AS specificationModel, MAX(a.unit_name) AS unitName, - IFNULL(SUM(a.PIECE_COUNT), 0) AS pieceCount, + IFNULL(SUM(a.SHELVES_QUANTITY), 0) AS pieceCount, ROUND(IFNULL(SUM(a.TOTAL_GROSS_WEIGHT), 0) / 1000, 3) AS grossWeightTon, MAX(IFNULL(c.insure_amount, 0)) AS insureAmount, IFNULL(SUM(a.TOTAL_VOLUME), 0) AS totalVolume @@ -90,7 +90,7 @@ from ( select b.in_order_number AS inOrderNumber, - IFNULL(SUM(a.PIECE_COUNT), 0) AS pieceCount, + IFNULL(SUM(a.SHELVES_QUANTITY), 0) AS pieceCount, IFNULL(SUM(a.TOTAL_GROSS_WEIGHT), 0) AS grossWeightKG, MAX(IFNULL(c.insure_amount, 0)) AS insureAmount, IFNULL(SUM(a.TOTAL_VOLUME), 0) AS totalVolume