Files
nanguangszwlback/sql/20260820_oms_outbound_transport_add_line_shuttle.sql
T
rcx 9068fa0e40 feat(wms):WMS出库单增加线路车次字段,App出库单详情显示线路/车次
背景:App出库单详情调wmsApi/stockOutOrderApi/getInfo,数据在WMS
stock_out_order表,该表未加线路/车次字段导致不回显。

1. mhd-api StockOutOrder(OMS下发Feign DTO)加lineCode/lineName/shuttleNo,
   OMS执行单下发为copyProperties同名拷贝,自动透传,OMS代码零改动。
2. WMS stock_out_order表加三列(脚本追加);entity/PO加字段,
   Feign接收按JSON字段名对齐落库;Mapper XML resultMap与显式列清单补列,
   getInfo(getById自动)与列表均可返回。
3. 部署需重新打包mhd_oms与mhd_wms(OMS依赖的mhd-api jar变更)。
   存量已下发WMS的老单无值,OMS/WMS跨库无法批量刷数,新下发单自动带。
2026-08-22 17:23:48 +08:00

62 lines
4.8 KiB
SQL

-- =====================================================================
-- 出库/运输单据增加"线路+车次"字段 —— 4 张表加列 + 线路管理加车次清单
-- 日期: 2026-08-20
-- 数据库: 达梦(DM), 兼容 Oracle 语法, 表名/字段名统一大写
-- 背景:
-- 需求:
-- 出库业务单、出库执行单、运输业务单、运输执行单 的列表/新增/编辑/详情增加字段"线路"和"车次";
-- (出库预约/出库预约单经确认不需要,未加列)
-- WMS-基础数据-线路管理 页面增加"车次"维护。
-- 线路取自 line_management(ROUTE_CODE/ROUTE_NAME, 如 31 / 31线路),
-- 车次为下拉选择(选项=所选线路在 SHUTTLE_JSON 里维护的车次序号清单),
-- 前端拼接显示 "线路编码-序号车次"(如 31-4车次)。
-- 设计说明:
-- LINE_CODE 线路编码, 冗余存 line_management.route_code
-- LINE_NAME 线路名称, 冗余存储(OMS 与 WMS 两库不互通, 列表无法 join)
-- SHUTTLE_NO 车次, 字符串(用户输入内容不确定,序号或完整值均可,如4或31-4)
-- SHUTTLE_JSON 线路管理的车次序号清单(JSON数组, 如 [1,2,4,6]), 车次下拉数据源
-- 不复用已有 ROUTE 列(存的是 tms_route.id) 和 TRAIN_NO 列(老车次,
-- 入库链路 deliveryHeader.trainNumber 与 OMS->WMS 推送在用), 语义不同, 避免污染。
-- 关联代码: mhd_oms 四条链路 entity/DO/DTO/PO 已同步加 lineCode/lineName/shuttleNo
-- (reservationStockOutOrder/executionStockOutOrder/
-- businessDocumentOrder/executeOrder);
-- mhd_wms lineManagement 四层已加 shuttleJson。
-- 下发链路(预约单->执行单, 业务单->执行单)为 copyProperties 同名拷贝, 自动透传。
-- 最下面的是 wms 模块数据库
-- =====================================================================
ALTER TABLE RESERVATION_STOCK_OUT_ORDER ADD (LINE_CODE VARCHAR2(50), LINE_NAME VARCHAR2(100), SHUTTLE_NO VARCHAR2(50));
ALTER TABLE EXECUTION_STOCK_OUT_ORDER ADD (LINE_CODE VARCHAR2(50), LINE_NAME VARCHAR2(100), SHUTTLE_NO VARCHAR2(50));
ALTER TABLE BUSINESS_DOCUMENT_ORDER ADD (LINE_CODE VARCHAR2(50), LINE_NAME VARCHAR2(100), SHUTTLE_NO VARCHAR2(50));
ALTER TABLE EXECUTE_ORDER ADD (LINE_CODE VARCHAR2(50), LINE_NAME VARCHAR2(100), SHUTTLE_NO VARCHAR2(50));
COMMENT ON COLUMN RESERVATION_STOCK_OUT_ORDER.LINE_CODE IS '线路编码(取自WMS线路管理line_management.route_code)';
COMMENT ON COLUMN RESERVATION_STOCK_OUT_ORDER.LINE_NAME IS '线路名称(冗余存储)';
COMMENT ON COLUMN RESERVATION_STOCK_OUT_ORDER.SHUTTLE_NO IS '车次(字符串,可存序号或完整值,如4或31-4)';
COMMENT ON COLUMN EXECUTION_STOCK_OUT_ORDER.LINE_CODE IS '线路编码(取自WMS线路管理line_management.route_code)';
COMMENT ON COLUMN EXECUTION_STOCK_OUT_ORDER.LINE_NAME IS '线路名称(冗余存储)';
COMMENT ON COLUMN EXECUTION_STOCK_OUT_ORDER.SHUTTLE_NO IS '车次(字符串,可存序号或完整值,如4或31-4)';
COMMENT ON COLUMN BUSINESS_DOCUMENT_ORDER.LINE_CODE IS '线路编码(取自WMS线路管理line_management.route_code)';
COMMENT ON COLUMN BUSINESS_DOCUMENT_ORDER.LINE_NAME IS '线路名称(冗余存储)';
COMMENT ON COLUMN BUSINESS_DOCUMENT_ORDER.SHUTTLE_NO IS '车次(字符串,可存序号或完整值,如4或31-4)';
COMMENT ON COLUMN EXECUTE_ORDER.LINE_CODE IS '线路编码(取自WMS线路管理line_management.route_code)';
COMMENT ON COLUMN EXECUTE_ORDER.LINE_NAME IS '线路名称(冗余存储)';
COMMENT ON COLUMN EXECUTE_ORDER.SHUTTLE_NO IS '车次(字符串,可存序号或完整值,如4或31-4)';
-- ---------------- 线路管理增加车次清单 ----------------
-- WMS-基础数据-线路管理 页面增加"车次"字段: 每条线路维护车次序号清单,
-- OMS 出库/运输单据的车次下拉按线路查此清单
-- (如 31线路 SHUTTLE_JSON=[1,2,4,6] -> 下拉选项 31-1车次/31-2车次/31-4车次/31-6车次)
ALTER TABLE LINE_MANAGEMENT ADD (SHUTTLE_JSON VARCHAR2(1000));
COMMENT ON COLUMN LINE_MANAGEMENT.SHUTTLE_JSON IS '车次序号清单JSON数组,如[1,2,4,6],OMS单据车次下拉数据源';
-- ---------------- WMS出库单增加线路车次字段(App出库单详情显示) ----------------
-- App端出库单详情调 wmsApi/stockOutOrderApi/getInfo,数据来源于WMS的stock_out_order表。
-- OMS出库执行单下发WMS时经Feign(StockOutOrder同名JSON字段)自动透传lineCode/lineName/shuttleNo。
ALTER TABLE STOCK_OUT_ORDER ADD (LINE_CODE VARCHAR2(50), LINE_NAME VARCHAR2(100), SHUTTLE_NO VARCHAR2(50));
COMMENT ON COLUMN STOCK_OUT_ORDER.LINE_CODE IS '线路编码(取自WMS线路管理line_management.route_code,OMS下发透传)';
COMMENT ON COLUMN STOCK_OUT_ORDER.LINE_NAME IS '线路名称(冗余存储,OMS下发透传)';
COMMENT ON COLUMN STOCK_OUT_ORDER.SHUTTLE_NO IS '车次(字符串,如4或31-4,前端拼"编码-车次"显示)';