79 lines
4.8 KiB
MySQL
79 lines
4.8 KiB
MySQL
|
|
-- V16:基础导入与核算预演的隔离工作区;无正式工资写入。
|
|||
|
|
CREATE TABLE tplus_source_heads (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
source_database VARCHAR(128) NOT NULL COMMENT '源账套',
|
|||
|
|
entity_type VARCHAR(32) NOT NULL COMMENT '实体类型',
|
|||
|
|
source_id VARCHAR(64) NOT NULL COMMENT '源内部ID',
|
|||
|
|
record_id BIGINT UNSIGNED NOT NULL COMMENT '原始快照ID',
|
|||
|
|
batch_no VARCHAR(32) NOT NULL COMMENT '最后观察批次',
|
|||
|
|
CONSTRAINT pk_tplus_source_heads PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_tplus_heads_source_entity_id UNIQUE (source_database, entity_type, source_id)
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+ 源当前快照指针(按成功全量批次读取,删除不自动回写业务表)' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_tplus_heads_batch_entity ON tplus_source_heads (batch_no, entity_type);
|
|||
|
|
|
|||
|
|
CREATE TABLE tplus_facts (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
source_database VARCHAR(128) NOT NULL COMMENT '源账套',
|
|||
|
|
kind VARCHAR(32) NOT NULL COMMENT '事实类别',
|
|||
|
|
fact_key VARCHAR(128) NOT NULL COMMENT '事实业务键',
|
|||
|
|
version INTEGER NOT NULL COMMENT '版本号',
|
|||
|
|
data_json JSON NOT NULL COMMENT '经校验的事实内容',
|
|||
|
|
evidence VARCHAR(500) NOT NULL COMMENT '依据和修改原因',
|
|||
|
|
requested_by BIGINT UNSIGNED NOT NULL COMMENT '操作者ID',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_tplus_facts PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_tplus_facts_source_kind_key_version UNIQUE (source_database, kind, fact_key, version)
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+ 人工补充事实版本表' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE TABLE tplus_source_links (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
source_database VARCHAR(128) NOT NULL COMMENT '源账套',
|
|||
|
|
entity_type VARCHAR(32) NOT NULL COMMENT '实体类型',
|
|||
|
|
source_id VARCHAR(64) NOT NULL COMMENT '源内部ID',
|
|||
|
|
target_id BIGINT UNSIGNED NOT NULL COMMENT '业务目标ID',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_tplus_source_links PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_tplus_links_source_entity_id UNIQUE (source_database, entity_type, source_id),
|
|||
|
|
CONSTRAINT uk_tplus_links_entity_target UNIQUE (entity_type, target_id)
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+ 基础数据源目标关联' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE TABLE tplus_work_runs (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
run_no VARCHAR(32) NOT NULL COMMENT '运行编号',
|
|||
|
|
request_key VARCHAR(36) NOT NULL COMMENT '请求幂等键',
|
|||
|
|
kind VARCHAR(32) NOT NULL COMMENT 'MASTER_PREVIEW/MASTER_APPLY/CALC_PREVIEW',
|
|||
|
|
status VARCHAR(16) NOT NULL COMMENT '运行状态',
|
|||
|
|
source_database VARCHAR(128) NOT NULL COMMENT '固定源账套',
|
|||
|
|
requested_by BIGINT UNSIGNED NOT NULL COMMENT '操作者ID',
|
|||
|
|
input_json JSON NOT NULL COMMENT '请求输入',
|
|||
|
|
snapshot_json JSON COMMENT '规则和补充资料的固定快照',
|
|||
|
|
snapshot_hash VARCHAR(64) COMMENT '输入指纹',
|
|||
|
|
summary_json JSON COMMENT '结果汇总',
|
|||
|
|
error_code VARCHAR(64) COMMENT '固定错误编码',
|
|||
|
|
started_at DATETIME COMMENT '开始时间',
|
|||
|
|
finished_at DATETIME COMMENT '结束时间',
|
|||
|
|
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
|
|||
|
|
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|||
|
|
CONSTRAINT pk_tplus_work_runs PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_tplus_work_runs_run_no UNIQUE (run_no),
|
|||
|
|
CONSTRAINT uk_tplus_work_runs_request_key UNIQUE (request_key)
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+ 导入与预演运行表' COLLATE utf8mb4_general_ci;
|
|||
|
|
|
|||
|
|
CREATE INDEX idx_tplus_work_runs_status_id ON tplus_work_runs (status, id);
|
|||
|
|
|
|||
|
|
CREATE TABLE tplus_work_lines (
|
|||
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
|
|||
|
|
run_no VARCHAR(32) NOT NULL COMMENT '运行编号',
|
|||
|
|
line_no INTEGER NOT NULL COMMENT '稳定行序号',
|
|||
|
|
entity_type VARCHAR(32) NOT NULL COMMENT '实体或分组类型',
|
|||
|
|
source_id VARCHAR(128) NOT NULL COMMENT '源ID或平账组',
|
|||
|
|
action VARCHAR(32) NOT NULL COMMENT '新增/更新/跳过/待补/冲突/分配',
|
|||
|
|
reason VARCHAR(128) COMMENT '固定原因编码',
|
|||
|
|
data_json JSON NOT NULL COMMENT '最小必要的业务明细',
|
|||
|
|
CONSTRAINT pk_tplus_work_lines PRIMARY KEY (id),
|
|||
|
|
CONSTRAINT uk_tplus_work_lines_run_line UNIQUE (run_no, line_no)
|
|||
|
|
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+ 导入预览与核算预演明细' COLLATE utf8mb4_general_ci;
|