feat(oms,wms): 出库业务单反审——已出库/已审核单据回退已创建

- 新增 POST /reservationStockOutOrderApi/reverseAudit,按issueStatus(2-已审核/4-已出库)判断可反审
- 主单回退已创建并打reverseStatus标记,进【已反审】tab(list status=-2),重新审核通过自动复位
- 执行单/明细软删+reverseFlag=1,预约库存调整记录软删
- WMS新增/stockOutOrderApi/omsReverseExecutionOrder:已出库还原实物库存+推OMS,未出库仅还原分配占用,WMS无数据幂等成功
- W出库/拣货/复核/交接单软删+reverseFlag=1,列表支持delFlag=2&reverseFlag=1【已反审】tab
- 四页面新增归档详情接口getReverseInfo*
- 生成出库异常记录【反审记录】(abnormalType=3,前缀FSYC)
- 需先执行SQL: 20260908两个反审脚本(OMS库+WMS库)
This commit is contained in:
rcx
2026-09-09 15:20:13 +08:00
parent 139a3a82da
commit 715883f1d4
56 changed files with 970 additions and 44 deletions
@@ -26,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateByName" column="update_by_name" />
<result property="delFlag" column="del_flag" />
<result property="reverseFlag" column="reverse_flag" />
<result property="outOrderNumber" column="out_order_number" />
<result property="businessOrderNo" column="business_order_no" />
<result property="orderTypeCode" column="order_type_code" />
@@ -47,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.status, a.type, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_name, a.quantity, a.weight_limit, a.volume_limit, a.material_quantity,
IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity,
a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time,b.out_order_id,
a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name
a.update_by, a.update_by_name, a.del_flag, a.reverse_flag, a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name
,a.push_status,a.push_time,a.push_by,a.push_by_name,
(SELECT m.goods_type FROM PICKING_MATERIAL_DETAIL d
JOIN material_base_info m ON d.material_base_info_id = m.material_base_info_id
@@ -120,6 +121,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
<otherwise> and a.del_flag = 1 </otherwise>
</choose>
<!-- 反审标记查询: 【已反审】tab 前端传 delFlag=2 + reverseFlag=1 -->
<if test="reverseFlag != null"> and a.reverse_flag = #{reverseFlag} </if>
<if test="needDeclareFlag != null and needDeclareFlag != ''">
and b.need_declare_flag = #{needDeclareFlag}
</if>
@@ -170,6 +173,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE a.picking_order_id = #{pickingOrderId}
</select>
<!-- 归档详情(已反审): 反审时拣货单/出库单均已软删, 按 del_flag=2 查归档数据 -->
<select id="queryOutOrderByIdReverse" parameterType="java.lang.Long" resultType="com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO">
select
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper.joinStockOutOrderPo"/>
from picking_order a
left join stock_out_order b on a.order_number = b.out_order_number and b.del_flag = 2 and a.del_flag = 2
WHERE a.picking_order_id = #{pickingOrderId}
</select>
<select id="queryWaveOrderByIdReverse" parameterType="java.lang.Long" resultType="com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO">
select
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.waveOrder.repository.mapper.WaveOrderMapper.joinWaveOrderPo"/>
from picking_order a
left join wave_order b on a.order_number = b.wave_order_number and a.del_flag = 2
WHERE a.picking_order_id = #{pickingOrderId}
</select>
<select id="queryOutOrderByOrderNumber" parameterType="java.lang.String" resultType="com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO">
select
<include refid="selectPickingOrderPo"/>