From 1300a4e1f8e93cbc2e6c01104091d0d6a24a7547 Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Tue, 1 Sep 2026 09:10:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(oms)=EF=BC=9A=E5=87=BA=E5=BA=93=E6=8E=92?= =?UTF-8?q?=E5=90=8DOMS=E7=AB=AF=E6=95=B0=E6=8D=AE=E6=BA=90=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=B7=A8=E5=BA=93=E6=9F=A5WMS=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=81=92=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OMS库出库单状态从不流转(预约/执行单全部status=1,无"已出库"数据),原SQL按执行出库单status=9过滤导致查不出任何数据;改为跨库取WMS出库表NGWL_TEST_WMS.stock_out_order/out_material_detail(与OMS库存查询跨库join material_base_info同一模式),口径与WMS端/outboundRankApi完全一致:已出库及之后状态(9,12,13)+明细level=1主行+按出库单创建时间筛选,两边页面数字一致;接口路径/参数/返回结构均不变,其余文件仅更新注释中的数据源说明 --- .../po/ExecutionOutboundLineRankPO.java | 2 +- .../po/ExecutionOutboundMaterialRankPO.java | 2 +- .../todo/ExecutionOutboundRankDTO.java | 7 ++-- ...ecutionOutboundRankApplicationService.java | 2 +- .../ExecutionOutboundRankApi.java | 7 +++- .../ExecutionOutboundRankMapper.xml | 37 +++++++++---------- 6 files changed, 29 insertions(+), 28 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundLineRankPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundLineRankPO.java index 607e789c6..974944f90 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundLineRankPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundLineRankPO.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; /** * 线路出库排名PO * - *

按日期区间对执行出库单聚合:销售量=SUM(出库数量),交易数=COUNT(DISTINCT 出库单号),金额=SUM(明细总价); + *

按日期区间对出库单聚合:销售量=SUM(出库数量),交易数=COUNT(DISTINCT 出库单号),金额=SUM(明细总价); * 仅统计带线路的出库单(line_code 为 2026-08-20 新增冗余字段,历史单为空)

* * @author rcx diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundMaterialRankPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundMaterialRankPO.java index ce1cb867e..c32046d9f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundMaterialRankPO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/po/ExecutionOutboundMaterialRankPO.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; /** * 商品出库排名PO * - *

按日期区间对执行出库明细聚合:销售量=SUM(出库数量),交易数=COUNT(DISTINCT 出库单号),金额=SUM(明细总价)

+ *

按日期区间对出库明细聚合:销售量=SUM(出库数量),交易数=COUNT(DISTINCT 出库单号),金额=SUM(明细总价)

* * @author rcx * @date 2026-08-31 diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/todo/ExecutionOutboundRankDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/todo/ExecutionOutboundRankDTO.java index 9b055286f..0637173b7 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/todo/ExecutionOutboundRankDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/repository/todo/ExecutionOutboundRankDTO.java @@ -8,7 +8,8 @@ import java.io.Serializable; /** * 出库排名统计入参DTO * - *

按日期区间统计商品/线路出库量排名,数据源为 OMS 执行出库链路(execution_out_material_detail / execution_stock_out_order)

+ *

按日期区间统计商品/线路出库量排名。OMS 库出库单状态不流转(无"已出库"数据), + * 数据源跨库取 WMS 库出库表(NGWL_TEST_WMS.stock_out_order / out_material_detail),与 WMS 端 /outboundRankApi 同口径

* * @author rcx * @date 2026-08-31 @@ -16,10 +17,10 @@ import java.io.Serializable; @Data public class ExecutionOutboundRankDTO { - @ApiModelProperty("出库日期-开始 yyyy-MM-dd(必填,按执行出库单创建时间统计)") + @ApiModelProperty("出库日期-开始 yyyy-MM-dd(必填,按出库单创建时间统计)") private String createTimeStart; - @ApiModelProperty("出库日期-结束 yyyy-MM-dd(必填,按执行出库单创建时间统计)") + @ApiModelProperty("出库日期-结束 yyyy-MM-dd(必填,按出库单创建时间统计)") private String createTimeEnd; @ApiModelProperty("商品货号(模糊)") diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/service/ExecutionOutboundRankApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/service/ExecutionOutboundRankApplicationService.java index ef14d18bc..158f2b8c2 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/service/ExecutionOutboundRankApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/outboundRank/service/ExecutionOutboundRankApplicationService.java @@ -17,7 +17,7 @@ import java.util.List; /** * 出库排名统计应用服务 * - *

负责登录用户组织隔离注入、日期区间校验,统计逻辑在 ExecutionOutboundRankDomainService → ExecutionOutboundRankMapper.xml

+ *

负责登录用户组织隔离注入、日期区间校验,统计逻辑在 ExecutionOutboundRankDomainService → ExecutionOutboundRankMapper.xml(跨库取 WMS 出库数据)

* * @author rcx * @date 2026-08-31 diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/outboundRank/ExecutionOutboundRankApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/outboundRank/ExecutionOutboundRankApi.java index 07cb22725..f1222e413 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/outboundRank/ExecutionOutboundRankApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/outboundRank/ExecutionOutboundRankApi.java @@ -27,8 +27,11 @@ import java.util.List; /** * 出库排名统计Api * - *

按日期区间筛选,统计商品/线路出库量排名。统计口径:执行出库单创建时间 + 已出库状态(9), - * 明细仅取 level=1 主行;销售量=SUM(出库数量)、交易数=COUNT(DISTINCT 出库单号)、金额=SUM(明细总价)

+ *

按日期区间筛选,统计商品/线路出库量排名。OMS 库出库单状态不流转(无"已出库"数据), + * 数据源跨库取 WMS 库出库表(NGWL_TEST_WMS.stock_out_order / out_material_detail), + * 口径与 WMS 端 /outboundRankApi 完全一致,两边数字一致; + * 统计条件:出库单创建时间 + 已出库及之后状态(9,12,13),明细仅取 level=1 主行; + * 销售量=SUM(出库数量)、交易数=COUNT(DISTINCT 出库单号)、金额=SUM(明细总价)

* * @author rcx * @date 2026-08-31 diff --git a/mhd_oms/src/main/resources/mapper/outboundRank/ExecutionOutboundRankMapper.xml b/mhd_oms/src/main/resources/mapper/outboundRank/ExecutionOutboundRankMapper.xml index 77fccdc12..f35689979 100644 --- a/mhd_oms/src/main/resources/mapper/outboundRank/ExecutionOutboundRankMapper.xml +++ b/mhd_oms/src/main/resources/mapper/outboundRank/ExecutionOutboundRankMapper.xml @@ -5,16 +5,19 @@ a.del_flag = 1 and a.level = 1 - and b.del_flag = 1 - and b.status = 9 + and b.status in (9, 12, 13) and b.top_organization_id = #{topOrganizationId} @@ -33,6 +36,12 @@ and b.line_name like concat('%', #{lineName}, '%') + + and a.material_code like concat('%', #{materialCode}, '%') + + + and a.material_name like concat('%', #{materialName}, '%') + and date_format(b.create_time,'%Y-%m-%d') >= #{createTimeStart} @@ -42,8 +51,8 @@ - from execution_out_material_detail a - join execution_stock_out_order b on a.out_order_number = b.out_order_number and b.del_flag = 1 + from NGWL_TEST_WMS.out_material_detail a + join NGWL_TEST_WMS.stock_out_order b on a.out_order_number = b.out_order_number and b.del_flag = 1 @@ -60,12 +69,6 @@ - - and a.material_code like concat('%', #{materialCode}, '%') - - - and a.material_name like concat('%', #{materialName}, '%') - GROUP BY a.material_code order by salesQuantity desc @@ -99,12 +102,6 @@ - - and a.material_code like concat('%', #{materialCode}, '%') - - - and a.material_name like concat('%', #{materialName}, '%') -