feat(oms,wms):出库/运输单据增加线路车次字段,线路管理支持车次清单维护

1. OMS四张表(business_document_order/execute_order/
   reservation_stock_out_order/execution_stock_out_order)加
   LINE_CODE/LINE_NAME/SHUTTLE_NO三列,entity/DO/DTO/PO同步加字段,
   出库两链路Mapper XML补列与resultMap。
   线路编码/名称冗余存line_management的route_code/route_name
   (两库不互通无法join);SHUTTLE_NO为字符串(如4或31-4),
   前端拼"编码-车次"显示(31-4车次);不复用route(存tms_route.id)
   和train_no(入库链路占用)。
   下发链路(预约单->执行单,业务单->执行单)同名拷贝自动透传。
2. WMS line_management加SHUTTLE_JSON列(车次序号JSON数组),
   四层加字段+XML;DTO加反序列化器兼容前端传数组,
   PO加序列化器返回原样输出数组。
3. LineManagementImpl.update组织/仓库名称空串兜底,
   修复编辑线路后组织名称被刷成空串、列表查不到的问题。
4. 新增建表脚本sql/20260820_oms_outbound_transport_add_line_shuttle.sql(达梦语法)。
This commit is contained in:
rcx
2026-08-21 15:28:50 +08:00
parent 22f2b66ffa
commit 000092952f
27 changed files with 324 additions and 2 deletions
@@ -0,0 +1,52 @@
-- =====================================================================
-- 出库/运输单据增加"线路+车次"字段 —— 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单据车次下拉数据源';