From da3c58a366952bef7a8ad9654d1c41c8a4cdaf79 Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Tue, 1 Sep 2026 21:36:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(wms,oms)=EF=BC=9A=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=8E=92=E5=90=8D=E7=BB=9F=E8=AE=A1=E5=8F=A3=E5=BE=84=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9A=E4=BB=B6=E6=95=B0=E6=94=B9=E4=B8=BA=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E4=B8=8A=E6=9E=B6=E9=87=8FSUM(SHELVES=5FQUANTITY)(?= =?UTF-8?q?=E5=8E=9FPIECE=5FCOUNT=E4=B8=BA=E5=BB=BA=E6=A1=A3=E7=94=B3?= =?UTF-8?q?=E6=8A=A5=E5=80=BC=E4=B8=8D=E9=9A=8F=E6=94=B6=E8=B4=A7=E4=B8=8A?= =?UTF-8?q?=E6=9E=B6=E5=8F=98=E5=8C=96)=EF=BC=9BOMS=E7=AB=AF=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E8=B7=A8=E5=BA=93=E6=94=B9=E6=9F=A5WMS?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E8=A1=A8NGWL=5FTEST=5FWMS.stock=5Fin=5Forder?= =?UTF-8?q?/in=5Fmaterial=5Fdetail(OMS=E6=89=A7=E8=A1=8C=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8D=E5=9B=9E=E4=BC=A0=E4=B8=94=E4=B8=8A=E6=9E=B6?= =?UTF-8?q?=E9=87=8F=E5=9B=9E=E5=A1=AB=E4=BB=A3=E7=A0=81=E6=9C=AA=E5=90=AF?= =?UTF-8?q?=E7=94=A8=EF=BC=8C=E4=B8=8E=E5=87=BA=E5=BA=93=E6=8E=92=E5=90=8D?= =?UTF-8?q?1300a4e1=E8=B7=A8=E5=BA=93=E4=BF=AE=E6=B3=95=E4=B8=80=E8=87=B4)?= =?UTF-8?q?=EF=BC=8C=E7=8A=B6=E6=80=81=E6=81=A2=E5=A4=8D=E4=B8=BA=E5=B7=B2?= =?UTF-8?q?=E5=85=A5=E5=BA=93(5)=EF=BC=9B=E5=85=A5=E4=BB=93=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E4=B8=BA=E7=A9=BA=E5=85=9C=E5=BA=95=E5=BB=BA=E6=A1=A3?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=9BOMS=E4=B8=8EWMS=E4=B8=A4=E7=AB=AF?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E4=B8=80=E8=87=B4=EF=BC=9B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B7=AF=E5=BE=84/=E5=8F=82=E6=95=B0/=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=B8=8D=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/ExecutionInboundMaterialRankPO.java | 10 +++--- .../po/ExecutionInboundRankTotalPO.java | 2 +- .../todo/ExecutionInboundRankDTO.java | 2 +- .../inboundRank/ExecutionInboundRankApi.java | 8 +++-- .../ExecutionInboundRankMapper.xml | 32 +++++++++++-------- .../repository/po/InboundMaterialRankPO.java | 6 ++-- .../repository/po/InboundRankTotalPO.java | 2 +- .../facadeApi/inboundRank/InboundRankApi.java | 2 +- .../mapper/inboundRank/InboundRankMapper.xml | 8 ++--- 9 files changed, 40 insertions(+), 32 deletions(-) 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