test(db): align customs baseline and relabel contracts
This commit is contained in:
@@ -1833,10 +1833,10 @@ CREATE TABLE fl_customs_customer_document (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='客户整份退税报送资料逻辑根';
|
||||
|
||||
CREATE TABLE fl_customs_completion_document (
|
||||
id bigint unsigned NOT NULL COMMENT '报关完成文件ID',
|
||||
id bigint unsigned NOT NULL COMMENT '报关行回执文件ID',
|
||||
source_document_id bigint unsigned NOT NULL COMMENT '一份冻结客户资料严格对应一份完成文件逻辑根',
|
||||
file_id bigint unsigned NOT NULL COMMENT 'File服务文件ID',
|
||||
file_name varchar(255) NOT NULL COMMENT '完成文件名称快照',
|
||||
file_name varchar(255) NOT NULL COMMENT '回执文件名称快照',
|
||||
file_hash char(64) NOT NULL COMMENT '完成文件SHA-256摘要',
|
||||
content_type varchar(128) DEFAULT NULL COMMENT '完成文件媒体类型',
|
||||
size_bytes bigint unsigned NOT NULL COMMENT '完成文件大小(字节)',
|
||||
@@ -1844,6 +1844,11 @@ CREATE TABLE fl_customs_completion_document (
|
||||
uploaded_by_name varchar(64) DEFAULT NULL COMMENT '上传操作人名称快照',
|
||||
uploaded_at datetime(3) NOT NULL COMMENT '上传时间',
|
||||
version int unsigned NOT NULL DEFAULT '1' COMMENT '完成文件版本号',
|
||||
customer_confirm_status varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT '客户回执确认状态:PENDING/CONFIRMED/REJECTED',
|
||||
customer_confirmed_by bigint unsigned DEFAULT NULL COMMENT '客户确认人ID',
|
||||
customer_confirmed_by_name varchar(64) DEFAULT NULL COMMENT '客户确认人名称快照',
|
||||
customer_confirmed_at datetime(3) DEFAULT NULL COMMENT '客户确认时间',
|
||||
customer_reject_reason varchar(500) DEFAULT NULL COMMENT '客户打回原因',
|
||||
created_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '完成文件创建时间',
|
||||
updated_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '完成文件更新时间',
|
||||
PRIMARY KEY (id),
|
||||
@@ -1944,6 +1949,56 @@ CREATE TABLE fl_customs_frozen_document_inbound (
|
||||
CONSTRAINT fk_customs_frozen_document FOREIGN KEY (document_id) REFERENCES fl_customs_customer_document (id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='开始报关时冻结的客户资料覆盖范围';
|
||||
|
||||
CREATE TABLE fl_customs_declaration_batch (
|
||||
id BIGINT UNSIGNED NOT NULL COMMENT '正式申报批次ID',
|
||||
customs_container_id BIGINT UNSIGNED NOT NULL COMMENT '所属整柜报关聚合ID',
|
||||
loading_plan_id BIGINT UNSIGNED NOT NULL COMMENT '装柜计划ID快照',
|
||||
batch_no VARCHAR(64) NULL COMMENT '平台正式申报批次号',
|
||||
status VARCHAR(32) NOT NULL COMMENT '批次状态:READY/SUBMITTED/ACKNOWLEDGED/RESULT_PENDING/CLOSED/CANCELLED',
|
||||
source_version INT UNSIGNED NOT NULL COMMENT '创建时整柜报关聚合版本',
|
||||
source_snapshot_json JSON NOT NULL COMMENT '提交时资料、回执和确认版本快照',
|
||||
customs_entry_no VARCHAR(64) NULL COMMENT '报关单号',
|
||||
submitted_by BIGINT UNSIGNED NULL COMMENT '正式申报提交人',
|
||||
submitted_by_name VARCHAR(64) NULL COMMENT '正式申报提交人名称快照',
|
||||
submitted_at DATETIME(3) NULL COMMENT '正式申报提交时间',
|
||||
acknowledged_by BIGINT UNSIGNED NULL COMMENT '报关行确认受理人',
|
||||
acknowledged_by_name VARCHAR(64) NULL COMMENT '报关行确认受理人名称快照',
|
||||
acknowledged_at DATETIME(3) NULL COMMENT '报关行确认受理时间',
|
||||
remark VARCHAR(500) NULL COMMENT '批次说明',
|
||||
version INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '批次创建时间',
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '批次更新时间',
|
||||
PRIMARY KEY(id),
|
||||
UNIQUE KEY uk_customs_declaration_batch_container(customs_container_id, id),
|
||||
KEY idx_customs_declaration_batch_plan(loading_plan_id,status,created_at),
|
||||
CONSTRAINT fk_customs_declaration_batch_container FOREIGN KEY(customs_container_id) REFERENCES fl_customs_container(id),
|
||||
CONSTRAINT chk_customs_declaration_batch_status CHECK(status IN ('READY','SUBMITTED','ACKNOWLEDGED','RESULT_PENDING','CLOSED','CANCELLED'))
|
||||
) ENGINE=InnoDB COMMENT='整柜正式申报批次事实';
|
||||
|
||||
CREATE TABLE fl_customs_clearance_result (
|
||||
id BIGINT UNSIGNED NOT NULL COMMENT '海关结果事实ID',
|
||||
declaration_batch_id BIGINT UNSIGNED NOT NULL COMMENT '所属正式申报批次ID',
|
||||
customs_container_id BIGINT UNSIGNED NOT NULL COMMENT '所属整柜报关聚合ID',
|
||||
result_type VARCHAR(32) NOT NULL COMMENT '结果类型:INSPECTION/SUPPLEMENT_REQUIRED/RELEASED/DETAINED/OTHER',
|
||||
result_status VARCHAR(16) NOT NULL DEFAULT 'OPEN' COMMENT '结果状态:OPEN/RESOLVED/CANCELLED',
|
||||
customs_entry_no VARCHAR(64) NULL COMMENT '报关单号快照',
|
||||
occurred_at DATETIME(3) NOT NULL COMMENT '海关事实发生时间',
|
||||
resolution VARCHAR(1000) NULL COMMENT '处理结果或异常说明',
|
||||
evidence_file_id BIGINT UNSIGNED NULL COMMENT '结果凭证File文件ID',
|
||||
recorded_by BIGINT UNSIGNED NOT NULL COMMENT '平台录入人',
|
||||
recorded_by_name VARCHAR(64) NULL COMMENT '平台录入人名称快照',
|
||||
recorded_at DATETIME(3) NOT NULL COMMENT '平台录入时间',
|
||||
previous_result_id BIGINT UNSIGNED NULL COMMENT '前序结果事实ID',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '结果创建时间',
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '结果更新时间',
|
||||
PRIMARY KEY(id),
|
||||
KEY idx_customs_clearance_result_batch(declaration_batch_id,occurred_at,id),
|
||||
KEY idx_customs_clearance_result_container(customs_container_id, result_type, result_status),
|
||||
CONSTRAINT fk_customs_clearance_result_batch FOREIGN KEY(declaration_batch_id) REFERENCES fl_customs_declaration_batch(id),
|
||||
CONSTRAINT chk_customs_clearance_result_type CHECK(result_type IN ('INSPECTION','SUPPLEMENT_REQUIRED','RELEASED','DETAINED','OTHER')),
|
||||
CONSTRAINT chk_customs_clearance_result_status CHECK(result_status IN ('OPEN','RESOLVED','CANCELLED'))
|
||||
) ENGINE=InnoDB COMMENT='正式申报后的海关结果不可变事实';
|
||||
|
||||
CREATE TABLE fl_document_sequence (
|
||||
sequence_key varchar(32) NOT NULL COMMENT '单据序列键;日序列如CB:20260818,柜次长期序列固定为CABINET',
|
||||
current_value int unsigned NOT NULL COMMENT '该类型当日已分配的最大序号',
|
||||
@@ -8087,4 +8142,4 @@ CREATE TABLE fl_sailing_booking_link (
|
||||
CONSTRAINT chk_sailing_booking_released CHECK (booking_status_snapshot='RELEASED')
|
||||
) ENGINE=InnoDB COMMENT='船期计划与已放舱订舱的最小关联及历史';
|
||||
|
||||
SELECT 'PASS' AS initialization_status, 'CN' AS region, 221 AS initialized_tables;
|
||||
SELECT 'PASS' AS initialization_status, 'CN' AS region, 223 AS initialized_tables;
|
||||
|
||||
Reference in New Issue
Block a user