Files
OnboardXAdmin/database/migrations/20260904_qiyuesuo_reinitiate.sql
T
2026-09-07 16:17:49 +08:00

34 lines
1.2 KiB
SQL

-- 增加入职电子签“作废后重新发起”能力。
-- 已执行 20260903_qiyuesuo_electronic_sign.sql 的数据库需要单独执行本文件。
SET NAMES utf8mb4;
ALTER TABLE `ob_electronic_sign_process`
ADD COLUMN `IsCurrent` TINYINT(1) NULL DEFAULT NULL
COMMENT '是否为任务当前电子签流程,历史流程为空'
AFTER `BizId`;
ALTER TABLE `ob_electronic_sign_process`
ADD COLUMN `ReissueReason` VARCHAR(500) NULL
COMMENT '重新发起原因'
AFTER `RetryCount`,
ADD COLUMN `ReissuedAt` DATETIME(3) NULL
COMMENT '被新流程替代时间'
AFTER `ReissueReason`,
ADD COLUMN `ReissuedByProcessId` BIGINT NULL
COMMENT '替代当前流程的新流程Id'
AFTER `ReissuedAt`;
-- 雪花 Id 与创建时间同序,每个任务只把最新一条流程标记为当前流程。
UPDATE `ob_electronic_sign_process` process
INNER JOIN (
SELECT `TaskId`, MAX(`Id`) AS `LatestProcessId`
FROM `ob_electronic_sign_process`
GROUP BY `TaskId`
) latest ON latest.`LatestProcessId` = process.`Id`
SET process.`IsCurrent` = 1;
ALTER TABLE `ob_electronic_sign_process`
ADD UNIQUE KEY `uk_ob_esign_process_current` (`TaskId`, `IsCurrent`);