feat(appointments): support scoped receiving and stable trip continuation
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
-- V13 receiving coverage and pending changes; baseline only, no test data migration.
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_agreement (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '收货预约独立业务键',
|
||||
version INT NOT NULL COMMENT '预约覆盖范围与确认资料版本',
|
||||
status VARCHAR(24) NOT NULL COMMENT '有效、取消或已替代状态',
|
||||
destination_key VARCHAR(128) NOT NULL COMMENT '权威目的仓关联键',
|
||||
confirmation_no VARCHAR(128) NULL COMMENT '当前有效外部约号,失效后清空以释放覆盖',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '客户逐来源覆盖、确认时区及仓库依据快照',
|
||||
PRIMARY KEY (agreement_key),
|
||||
UNIQUE KEY uk_fba_receiving_confirmation (destination_key, confirmation_no)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='独立于送货批次的收货预约';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_member (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '所属收货预约业务键',
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '稳定送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '货物所属客户标识',
|
||||
active_ref VARCHAR(260) NULL COMMENT '有效批次与客户唯一引用,退出后清空且历史保留',
|
||||
PRIMARY KEY (agreement_key,batch_key,customer_id),
|
||||
UNIQUE KEY uk_fba_receiving_active_member (active_ref),
|
||||
KEY idx_fba_receiving_batch (batch_key,customer_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收货预约当前覆盖关联及退出历史';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_change (
|
||||
change_key VARCHAR(64) NOT NULL COMMENT '客户预约变化业务键',
|
||||
version INT NOT NULL COMMENT '变化续办版本',
|
||||
status VARCHAR(24) NOT NULL COMMENT '待仓库确认、已应用或已撤回状态',
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '受影响原送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '本次变化所属客户',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '原覆盖快照、逐来源拟保留量、负责人及跟进资料',
|
||||
result_json LONGTEXT NULL COMMENT '确认后的实际批次去向及逐步骤结果',
|
||||
active_ref VARCHAR(260) NULL COMMENT '同批同客户唯一未解决变化引用',
|
||||
PRIMARY KEY (change_key),
|
||||
UNIQUE KEY uk_fba_receiving_pending (active_ref),
|
||||
KEY idx_fba_receiving_pending_batch (batch_key,status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='保留原安排且阻止误发车的客户变化';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_revision (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '收货预约业务键',
|
||||
version INT NOT NULL COMMENT '不可变覆盖与确认版本',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '该版本完整客户覆盖、确认时段及回复依据',
|
||||
PRIMARY KEY (agreement_key,version)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收货预约覆盖与确认不可变历史';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_plan (
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '稳定送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '计划所属客户标识',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '本客户未确认计划、目标窗口及业务时区,不含有效预约确认',
|
||||
PRIMARY KEY (batch_key,customer_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='按批次及客户保存的未确认收货计划';
|
||||
@@ -1649,6 +1649,57 @@ CREATE TABLE IF NOT EXISTS ll_appointment_followup (
|
||||
CONSTRAINT chk_appointment_followup_stage CHECK (stage IN ('DRAYAGE_CONTACT','TERMINAL_APPOINTMENT','WAREHOUSE_RECEIVING','FBA_RECEIVING'))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='真实在途货源的预约筹划联系记录,追加留痕';
|
||||
|
||||
-- V13 receiving coverage and pending changes; baseline only, no test data migration.
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_agreement (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '收货预约独立业务键',
|
||||
version INT NOT NULL COMMENT '预约覆盖范围与确认资料版本',
|
||||
status VARCHAR(24) NOT NULL COMMENT '有效、取消或已替代状态',
|
||||
destination_key VARCHAR(128) NOT NULL COMMENT '权威目的仓关联键',
|
||||
confirmation_no VARCHAR(128) NULL COMMENT '当前有效外部约号,失效后清空以释放覆盖',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '客户逐来源覆盖、确认时区及仓库依据快照',
|
||||
PRIMARY KEY (agreement_key),
|
||||
UNIQUE KEY uk_fba_receiving_confirmation (destination_key, confirmation_no)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='独立于送货批次的收货预约';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_member (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '所属收货预约业务键',
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '稳定送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '货物所属客户标识',
|
||||
active_ref VARCHAR(260) NULL COMMENT '有效批次与客户唯一引用,退出后清空且历史保留',
|
||||
PRIMARY KEY (agreement_key,batch_key,customer_id),
|
||||
UNIQUE KEY uk_fba_receiving_active_member (active_ref),
|
||||
KEY idx_fba_receiving_batch (batch_key,customer_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收货预约当前覆盖关联及退出历史';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_change (
|
||||
change_key VARCHAR(64) NOT NULL COMMENT '客户预约变化业务键',
|
||||
version INT NOT NULL COMMENT '变化续办版本',
|
||||
status VARCHAR(24) NOT NULL COMMENT '待仓库确认、已应用或已撤回状态',
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '受影响原送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '本次变化所属客户',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '原覆盖快照、逐来源拟保留量、负责人及跟进资料',
|
||||
result_json LONGTEXT NULL COMMENT '确认后的实际批次去向及逐步骤结果',
|
||||
active_ref VARCHAR(260) NULL COMMENT '同批同客户唯一未解决变化引用',
|
||||
PRIMARY KEY (change_key),
|
||||
UNIQUE KEY uk_fba_receiving_pending (active_ref),
|
||||
KEY idx_fba_receiving_pending_batch (batch_key,status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='保留原安排且阻止误发车的客户变化';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_revision (
|
||||
agreement_key VARCHAR(64) NOT NULL COMMENT '收货预约业务键',
|
||||
version INT NOT NULL COMMENT '不可变覆盖与确认版本',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '该版本完整客户覆盖、确认时段及回复依据',
|
||||
PRIMARY KEY (agreement_key,version)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收货预约覆盖与确认不可变历史';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_fba_receiving_plan (
|
||||
batch_key VARCHAR(128) NOT NULL COMMENT '稳定送货批次键',
|
||||
customer_id VARCHAR(128) NOT NULL COMMENT '计划所属客户标识',
|
||||
snapshot_json LONGTEXT NOT NULL COMMENT '本客户未确认计划、目标窗口及业务时区,不含有效预约确认',
|
||||
PRIMARY KEY (batch_key,customer_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='按批次及客户保存的未确认收货计划';
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ll_inbound_fba_appointment (
|
||||
id BIGINT NOT NULL COMMENT '主键ID',
|
||||
appointment_no VARCHAR(64) NOT NULL COMMENT '系统预约业务单号,不是外部约号',
|
||||
@@ -1675,7 +1726,6 @@ CREATE TABLE IF NOT EXISTS ll_inbound_fba_appointment (
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '更新UTC时间',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_ll_fba_appointment_no (appointment_no),
|
||||
UNIQUE KEY uk_ll_fba_external_confirmation (fba_warehouse_code,confirmation_no),
|
||||
KEY idx_ll_fba_appointment_list (appointment_at,appointment_status,fba_warehouse_code),
|
||||
KEY idx_ll_fba_appointment_planned (planned_at,appointment_status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='FBA预约安排与正式确认唯一主记录';
|
||||
@@ -1692,7 +1742,7 @@ CREATE TABLE IF NOT EXISTS ll_inbound_fba_appointment_item (
|
||||
package_count INT NULL COMMENT '本批分配箱数,未知保持空;同一原来源总量守恒',
|
||||
cargo_verification_version INT NULL COMMENT '采用的预约货物核实版本,未核实时为空',
|
||||
shipment_references_json LONGTEXT NULL COMMENT '本次采用的货件或追踪号核实快照',
|
||||
active TINYINT(1) NOT NULL DEFAULT 1 COMMENT '取消或失败后释放货源占用',
|
||||
active TINYINT(1) NOT NULL DEFAULT 1 COMMENT '当前批次数量分配有效;取消、未约成和完成均保留,仅替代时释放',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建UTC时间',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_ll_fba_item_source (appointment_id,source_key),
|
||||
|
||||
Reference in New Issue
Block a user