feat(firstleg): model declaration batches and customs results
This commit is contained in:
@@ -185,6 +185,56 @@ CREATE TABLE IF NOT EXISTS fl_customs_command (
|
||||
CONSTRAINT chk_customs_command_status CHECK(status IN('PROCESSING','SUCCESS'))
|
||||
) ENGINE=InnoDB COMMENT='整柜报关写命令幂等事实';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS 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 IF NOT EXISTS 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='正式申报后的海关结果不可变事实';
|
||||
|
||||
USE baiyue_iam;
|
||||
DELETE rp FROM iam_role_permission rp WHERE rp.permission_id IN(5102171,5102173,5102174,5102175);
|
||||
DELETE FROM iam_permission WHERE id IN(5102171,5102173,5102174,5102175)
|
||||
|
||||
Reference in New Issue
Block a user