Files
PayrollManagementSystem/db/migration/V20__tplus_automation.sql
T
liuwenxin 108bf87225 feat(核算)!: 添加 T+ 正式核算与采集托管
补齐源快照、资料预演、正式导入及工资核算的依赖链路。
新增版本化输入、逐段 FIFO、生成锁和结构化当月调整,
并提供默认关闭的周期采集、有限重试及 Windows 托管。

原始客户资料、私有配置及首页改动不纳入本次提交。

BREAKING CHANGE: 升级前需应用新增迁移,并通过
PAYROLL_MAKER_USER_ID 绑定实际工资制作人,否则业务只读。
旧单批次核算默认关闭;历史兼容需显式启用
PAYROLL_ALLOW_LEGACY_CALCULATION。生产启用和真实金额待验收。
2026-11-02 09:42:53 +08:00

26 lines
1.8 KiB
SQL

-- 自动采集状态;不自动应用业务或生成工资。
CREATE TABLE tplus_automation_states (
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
source_key VARCHAR(64) NOT NULL COMMENT '源连接身份摘要(不含凭据)',
source_database VARCHAR(128) NOT NULL COMMENT '源账套',
scheduled_period VARCHAR(16) COMMENT '最近已排队ISO周',
root_batch_no VARCHAR(32) COMMENT '本周期原始采集批次',
current_batch_no VARCHAR(32) COMMENT '当前原始或重试批次',
retry_attempts INTEGER NOT NULL COMMENT '本周期自动重试次数' DEFAULT '0',
next_retry_at DATETIME COMMENT '下一次自动重试时间',
last_success_at DATETIME COMMENT '最近成功采集时间',
maintenance_at DATETIME COMMENT '最近周期检查时间',
heartbeat_at DATETIME COMMENT '独立进程心跳时间',
worker_owner VARCHAR(36) COMMENT '当前持锁进程身份',
worker_phase VARCHAR(16) NOT NULL COMMENT '进程状态:IDLE/RUNNING/STOPPED' DEFAULT '''STOPPED''',
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_automation_states PRIMARY KEY (id),
CONSTRAINT uk_tplus_automation_states_source_key UNIQUE (source_key)
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='T+自动采集周期与进程状态(不自动导入正式业务)' COLLATE utf8mb4_general_ci;
ALTER TABLE tplus_sync_batches ADD COLUMN trigger_type VARCHAR(16) NOT NULL DEFAULT 'MANUAL' COMMENT '触发来源:MANUAL/SCHEDULED/AUTO_RETRY';
ALTER TABLE tplus_sync_batches ADD COLUMN automatic_attempt INTEGER NOT NULL DEFAULT 0 COMMENT '自动重试序号(0为原始任务)';