新增公司盖章与骑缝章配置

This commit is contained in:
fuenmao
2026-10-15 17:41:55 +08:00
parent 0bb8263431
commit 83854ce901
20 changed files with 607 additions and 166 deletions
@@ -0,0 +1,75 @@
-- 签署材料版本的公司盖章/骑缝章开关及任务、电子签快照。MySQL 8.0+
-- 上线顺序:先在目标数据库执行本文件,再部署后端及后台前端。
-- 可重复执行;只新增可空列,不回填或覆盖历史业务数据。
-- NULL 表示历史规则:公司盖章需要,骑缝章沿用 QiyuesuoSetting.EnableAcrossPageSeal。
-- 新上传版本显式保存 true/false;任务及电子签文档分别保存快照。
SET NAMES utf8mb4;
DROP PROCEDURE IF EXISTS ob_upgrade_contract_version_seal_switches;
DELIMITER $$
CREATE PROCEDURE ob_upgrade_contract_version_seal_switches()
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_contract_template_version'
AND COLUMN_NAME = 'CompanySealEnabled'
) THEN
ALTER TABLE `ob_contract_template_version`
ADD COLUMN `CompanySealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '公司盖章开关;NULL沿用历史需要盖章';
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_contract_template_version'
AND COLUMN_NAME = 'AcrossPageSealEnabled'
) THEN
ALTER TABLE `ob_contract_template_version`
ADD COLUMN `AcrossPageSealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '骑缝章开关;NULL沿用历史系统配置';
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_task_contract'
AND COLUMN_NAME = 'CompanySealEnabled'
) THEN
ALTER TABLE `ob_task_contract`
ADD COLUMN `CompanySealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '公司盖章开关;NULL沿用历史需要盖章';
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_task_contract'
AND COLUMN_NAME = 'AcrossPageSealEnabled'
) THEN
ALTER TABLE `ob_task_contract`
ADD COLUMN `AcrossPageSealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '骑缝章开关;NULL沿用历史系统配置';
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_electronic_sign_document'
AND COLUMN_NAME = 'CompanySealEnabled'
) THEN
ALTER TABLE `ob_electronic_sign_document`
ADD COLUMN `CompanySealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '公司盖章开关;NULL沿用历史需要盖章';
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ob_electronic_sign_document'
AND COLUMN_NAME = 'AcrossPageSealEnabled'
) THEN
ALTER TABLE `ob_electronic_sign_document`
ADD COLUMN `AcrossPageSealEnabled` TINYINT(1) NULL DEFAULT NULL
COMMENT '骑缝章开关;NULL沿用历史系统配置';
END IF;
END$$
DELIMITER ;
CALL ob_upgrade_contract_version_seal_switches();
DROP PROCEDURE IF EXISTS ob_upgrade_contract_version_seal_switches;