feat(oms): 出库业务单/出库执行单列表计划数量与出库数量分开计算, 返回全量不分页的计划数量总数/出库数量总数
- 新增queryListTotal: 复用queryList同条件片段, LEFT JOIN一级明细汇总SUM(quantity)/SUM(outbound_quantity), 计划数量与出库数量分开计算 - list/list1响应在data/total/code/msg同层级追加totalPlanQuantity/totalOutboundQuantity(与出库排名页合计行模式一致, 前端兼容) - 执行单列表顺带修复每行totalOutboundQuantity恒为null(补关联子查询+resultMap映射, 对齐业务单178b7697口径)
This commit is contained in:
+29
-1
@@ -117,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="businessChargeType" column="BUSINESS_CHARGE_TYPE" />
|
||||
<result property="businessPriceWay" column="BUSINESS_PRICE_WAY" />
|
||||
<result property="discount" column="DISCOUNT" />
|
||||
<result property="totalOutboundQuantity" column="TOTAL_OUTBOUND_QUANTITY" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
@@ -408,7 +409,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="queryList" parameterType="com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO" resultMap="StockOutOrderResult">
|
||||
select
|
||||
<include refid="selectStockOutOrderPo"/>
|
||||
<include refid="selectStockOutOrderPo"/>,
|
||||
<!-- 出库数量:汇总明细表实际出库数量,只统计一级明细(level=1),与出库业务单列表(178b7697)同口径;
|
||||
原逻辑为Java循环汇总(N+1)后注释,PO字段totalOutboundQuantity无映射导致列表该字段恒为null -->
|
||||
(select coalesce(sum(emd.outbound_quantity), 0)
|
||||
from execution_out_material_detail emd
|
||||
where emd.out_order_number = a.out_order_number
|
||||
and emd.del_flag = 1
|
||||
and (emd.level is null or emd.level = 1)) as total_outbound_quantity
|
||||
from execution_stock_out_order a
|
||||
<where>
|
||||
<include refid="selectStockOutOrderPo1"/>
|
||||
@@ -416,6 +424,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
order by a.create_time desc nulls last
|
||||
</select>
|
||||
|
||||
<!-- 列表合计:按查询条件(与queryList同条件片段)全量不分页汇总一级明细的计划数量与出库数量,计划数量与出库数量分开计算 -->
|
||||
<select id="queryListTotal" parameterType="com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO" resultType="com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO">
|
||||
select
|
||||
coalesce(sum(md.plan_quantity), 0) as totalPlanQuantity,
|
||||
coalesce(sum(md.outbound_quantity), 0) as totalOutboundQuantity
|
||||
from execution_stock_out_order a
|
||||
left join (
|
||||
select out_order_number,
|
||||
sum(quantity) as plan_quantity,
|
||||
sum(outbound_quantity) as outbound_quantity
|
||||
from execution_out_material_detail
|
||||
where del_flag = 1
|
||||
and (level is null or level = 1)
|
||||
group by out_order_number
|
||||
) md on md.out_order_number = a.out_order_number
|
||||
<where>
|
||||
<include refid="selectStockOutOrderPo1"/>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 出库单提货单打印-表头查询 -->
|
||||
<select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult">
|
||||
|
||||
+20
@@ -437,6 +437,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
order by a.create_time desc nulls last
|
||||
</select>
|
||||
|
||||
<!-- 列表合计:按查询条件(与queryList同条件片段)全量不分页汇总一级明细的计划数量与出库数量,计划数量与出库数量分开计算 -->
|
||||
<select id="queryListTotal" parameterType="com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO" resultType="com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO">
|
||||
select
|
||||
coalesce(sum(md.plan_quantity), 0) as totalPlanQuantity,
|
||||
coalesce(sum(md.outbound_quantity), 0) as totalOutboundQuantity
|
||||
from reservation_stock_out_order a
|
||||
left join (
|
||||
select out_order_number,
|
||||
sum(quantity) as plan_quantity,
|
||||
sum(outbound_quantity) as outbound_quantity
|
||||
from reservation_out_material_detail
|
||||
where del_flag = 1
|
||||
and (level is null or level = 1)
|
||||
group by out_order_number
|
||||
) md on md.out_order_number = a.out_order_number
|
||||
<where>
|
||||
<include refid="selectStockOutOrderPo1"/>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 出库单提货单打印-表头查询 -->
|
||||
<select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult">
|
||||
|
||||
Reference in New Issue
Block a user