40 lines
2.0 KiB
SQL
40 lines
2.0 KiB
SQL
SET NAMES utf8mb4;
|
|||
|
|
USE baiyue_firstleg;
|
||
|
|
|
||
|
|
/* 三期分柜与预装清单;独立于现有测量、计费表,可重复部署。 */
|
||
|
|
CREATE TABLE IF NOT EXISTS fl_preload_plan (
|
||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '预装清单ID',
|
||
|
|
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户隔离ID',
|
||
|
|
inbound_id BIGINT UNSIGNED NOT NULL COMMENT '入库单/订单ID',
|
||
|
|
status VARCHAR(16) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/CONFIRMING/CONFIRMED',
|
||
|
|
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本',
|
||
|
|
items_json JSON NOT NULL COMMENT '可编辑分柜明细快照',
|
||
|
|
remark VARCHAR(1000) NULL COMMENT '预装备注',
|
||
|
|
created_by BIGINT UNSIGNED NOT NULL,
|
||
|
|
created_by_name VARCHAR(64) NULL,
|
||
|
|
updated_by BIGINT UNSIGNED NOT NULL,
|
||
|
|
updated_by_name VARCHAR(64) NULL,
|
||
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||
|
|
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
||
|
|
PRIMARY KEY (id),
|
||
|
|
UNIQUE KEY uk_preload_tenant_inbound (tenant_id, inbound_id),
|
||
|
|
KEY idx_preload_status (tenant_id, status, updated_at),
|
||
|
|
CONSTRAINT fk_preload_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order (id)
|
||
|
|
) ENGINE=InnoDB COMMENT='订单分柜预装清单';
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS fl_split_operation (
|
||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '幂等记录ID',
|
||
|
|
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户隔离ID',
|
||
|
|
inbound_id BIGINT UNSIGNED NOT NULL,
|
||
|
|
operator_id BIGINT UNSIGNED NOT NULL,
|
||
|
|
operation VARCHAR(40) NOT NULL,
|
||
|
|
idempotency_key VARCHAR(128) NOT NULL,
|
||
|
|
status VARCHAR(16) NOT NULL DEFAULT 'PROCESSING' COMMENT 'PROCESSING/SUCCESS',
|
||
|
|
result_json JSON NULL,
|
||
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||
|
|
PRIMARY KEY (id),
|
||
|
|
UNIQUE KEY uk_split_operation (tenant_id, inbound_id, operator_id, operation, idempotency_key),
|
||
|
|
KEY idx_split_operation_time (tenant_id, inbound_id, created_at),
|
||
|
|
CONSTRAINT fk_split_operation_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order (id)
|
||
|
|
) ENGINE=InnoDB COMMENT='分柜操作幂等与审计索引';
|