fix(firstleg): align coload group eligibility

This commit is contained in:
2026-08-29 12:44:42 +08:00
parent 0cf76df168
commit bfcb80b326
11 changed files with 97 additions and 140 deletions
@@ -6,9 +6,6 @@ CREATE TABLE IF NOT EXISTS fl_coload_group (
group_status VARCHAR(16) NOT NULL COMMENT '组状态:ACTIVE、LOCKED、CONSUMED、CANCELLED',
warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '国内收货仓ID快照',
channel_code VARCHAR(64) NOT NULL COMMENT '物流渠道编码快照',
destination_type VARCHAR(32) NOT NULL COMMENT '目的类型快照',
destination_warehouse_id BIGINT UNSIGNED NULL COMMENT '目的仓ID快照',
destination_code VARCHAR(64) NULL COMMENT '目的仓或目的港编码快照',
locked_plan_id BIGINT UNSIGNED NULL COMMENT 'LOCKED/CONSUMED绑定装柜计划ID',
version INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '乐观版本',
created_by BIGINT UNSIGNED NOT NULL COMMENT '创建人ID',
@@ -30,8 +27,6 @@ CREATE TABLE IF NOT EXISTS fl_coload_group (
KEY idx_coload_group_plan (locked_plan_id,group_status),
CONSTRAINT fk_coload_group_plan FOREIGN KEY (locked_plan_id) REFERENCES fl_loading_plan(id),
CONSTRAINT chk_coload_group_status CHECK (group_status IN ('ACTIVE','LOCKED','CONSUMED','CANCELLED')),
CONSTRAINT chk_coload_group_destination CHECK (
destination_warehouse_id IS NOT NULL OR destination_code IS NOT NULL),
CONSTRAINT chk_coload_group_lock CHECK (
(group_status IN ('ACTIVE','CANCELLED') AND locked_plan_id IS NULL)
OR (group_status IN ('LOCKED','CONSUMED') AND locked_plan_id IS NOT NULL))