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
@@ -0,0 +1,28 @@
-- =====================================================================
-- 出库业务单反审功能 —— OMS 出库业务单加反审字段
-- 日期: 2026-09-08
-- 数据库: 达梦(DM), 兼容 Oracle 语法
-- 背景:
-- 已出库/已复核的出库业务单客户通知需要回退时, 点击【反审单据】回退到已创建,
-- 数据划归到出库单【已反审】tab; WMS 还原实物库存并生成出库异常记录【反审记录】。
-- 设计说明:
-- REVERSE_STATUS 反审状态: 0-无(默认) 1-已反审。
-- 反审后主单 status 回退为 1(已创建) 且 REVERSE_STATUS=1,
-- 【已反审】页签查询: 前端传 status=-2 (后端解析为 status=1 and reverse_status=1);
-- 【已创建】页签排除 REVERSE_STATUS=1, 保证页签互斥;
-- 重新审核通过时后端自动将 REVERSE_STATUS 复位为 0, 单据回到正常流转。
-- 反审校验: status in (9,12) 且 issueStatus in (2-已审核,4-已出库)。
-- 关联脚本: 20260908_reverse_flag_out_order_reverse_audit.sql(执行单/WMS单据反审标记)
-- =====================================================================
-- ============ 一、OMS 业务单 RESERVATION_STOCK_OUT_ORDER ============
ALTER TABLE "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_STATUS NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER".REVERSE_STATUS IS '反审状态: 0-无 1-已反审(已反审tab过滤,重新审核通过自动复位0)';
ALTER TABLE "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_REMARK VARCHAR2(500);
COMMENT ON COLUMN "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER".REVERSE_REMARK IS '反审原因';
ALTER TABLE "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_BY NUMBER(20);
COMMENT ON COLUMN "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER".REVERSE_BY IS '反审人id';
ALTER TABLE "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_BY_NAME VARCHAR2(64);
COMMENT ON COLUMN "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER".REVERSE_BY_NAME IS '反审人姓名';
ALTER TABLE "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_TIME DATE;
COMMENT ON COLUMN "NGWL_TEST_OMS"."RESERVATION_STOCK_OUT_ORDER".REVERSE_TIME IS '反审时间';
@@ -0,0 +1,55 @@
-- =====================================================================
-- 出库业务单反审功能 —— 下游单据反审标记(软删留痕, 已反审tab过滤)
-- 日期: 2026-09-08
-- 数据库: 达梦(DM), 兼容 Oracle 语法
-- 背景:
-- 出库业务单反审时, 下游单据(OMS执行出库单/明细、WMS出库单/明细、WMS拣货单/明细、
-- WMS复核单/明细、WMS出库交接单)"软删+打已反审标记",
-- 数据划归到 W出库单/W拣货单/W复核单/W出库交接单 各列表【已反审】tab
-- (查询条件 delFlag=2 and reverseFlag=1)作记录跟踪;
-- 业务单重新下发时生成全新的执行单+WMS单(旧单保留在已反审tab)。
-- 设计说明:
-- REVERSE_FLAG 反审标记: 0-无(默认) 1-已反审。
-- 反审即软删(del_flag=2), 各列表常规查询 del_flag=1 天然排除已反审单据;
-- 【已反审】tab 显式传 delFlag=2 + reverseFlag=1, 与真删数据互斥。
-- 反审同时生成 WMS 出库异常记录【反审记录】(out_order_abnormal.ABNORMAL_TYPE=3)。
-- 关联脚本: 20260908_alter_table_szwl_oms_reservation_stock_out_order_reverse.sql(业务单反审字段)
-- 注意: 列名与入库侧 REVERSE_AUDIT_* 不同(出库后端代码已按 REVERSE_FLAG 落地),
-- 如需统一命名需联动改出库后端约30个文件。
-- =====================================================================
-- ============ 一、OMS 执行出库单 EXECUTION_STOCK_OUT_ORDER ============
ALTER TABLE "NGWL_TEST_OMS"."EXECUTION_STOCK_OUT_ORDER" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_OMS"."EXECUTION_STOCK_OUT_ORDER".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(业务单反审时软删del_flag=2并打标记)';
-- ============ 二、OMS 执行出库明细 EXECUTION_OUT_MATERIAL_DETAIL ============
ALTER TABLE "NGWL_TEST_OMS"."EXECUTION_OUT_MATERIAL_DETAIL" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_OMS"."EXECUTION_OUT_MATERIAL_DETAIL".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(随执行单反审软删时打标记)';
-- ============ 三、WMS 出库单 STOCK_OUT_ORDER ============
ALTER TABLE "NGWL_TEST_WMS"."STOCK_OUT_ORDER" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."STOCK_OUT_ORDER".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(已反审tab过滤: del_flag=2 and reverse_flag=1)';
-- ============ 四、WMS 出库明细 OUT_MATERIAL_DETAIL ============
ALTER TABLE "NGWL_TEST_WMS"."OUT_MATERIAL_DETAIL" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."OUT_MATERIAL_DETAIL".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(随出库单反审软删时打标记)';
-- ============ 五、WMS 拣货单 PICKING_ORDER ============
ALTER TABLE "NGWL_TEST_WMS"."PICKING_ORDER" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."PICKING_ORDER".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(已反审tab过滤: del_flag=2 and reverse_flag=1)';
-- ============ 六、WMS 拣货明细 PICKING_MATERIAL_DETAIL ============
ALTER TABLE "NGWL_TEST_WMS"."PICKING_MATERIAL_DETAIL" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."PICKING_MATERIAL_DETAIL".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(随拣货单反审软删时打标记)';
-- ============ 七、WMS 复核单 REVIEW_ORDER ============
ALTER TABLE "NGWL_TEST_WMS"."REVIEW_ORDER" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."REVIEW_ORDER".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(已反审tab过滤: del_flag=2 and reverse_flag=1)';
-- ============ 八、WMS 复核明细 REVIEW_MATERIAL_DETAIL ============
ALTER TABLE "NGWL_TEST_WMS"."REVIEW_MATERIAL_DETAIL" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."REVIEW_MATERIAL_DETAIL".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(随复核单反审软删时打标记)';
-- ============ 九、WMS 出库交接单 HANDOVER_TASK_ORDER ============
ALTER TABLE "NGWL_TEST_WMS"."HANDOVER_TASK_ORDER" ADD COLUMN REVERSE_FLAG NUMBER(1) DEFAULT 0;
COMMENT ON COLUMN "NGWL_TEST_WMS"."HANDOVER_TASK_ORDER".REVERSE_FLAG IS '反审标记: 0-无 1-已反审(已反审tab过滤: del_flag=2 and reverse_flag=1)';