57 lines
1.7 KiB
SQL
57 lines
1.7 KiB
SQL
-- OnboardX 契约锁公司级业务分类与印章配置
|
|
-- 适用数据库:MySQL 8.0+
|
|
-- 可重复执行;仅增加字段,不覆盖任何公司已有配置。
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
DROP PROCEDURE IF EXISTS `ob_qys_company_add_column_if_missing`;
|
|
DELIMITER $$
|
|
CREATE PROCEDURE `ob_qys_company_add_column_if_missing`(
|
|
IN p_column_name VARCHAR(128),
|
|
IN p_column_definition VARCHAR(1000)
|
|
)
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|
AND TABLE_NAME = 'ob_company'
|
|
AND COLUMN_NAME = p_column_name
|
|
) THEN
|
|
SET @ddl = CONCAT(
|
|
'ALTER TABLE `ob_company` ADD COLUMN `',
|
|
p_column_name, '` ', p_column_definition
|
|
);
|
|
PREPARE stmt FROM @ddl;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|
|
|
|
CALL `ob_qys_company_add_column_if_missing`(
|
|
'QiyuesuoCategoryId',
|
|
'VARCHAR(100) NULL COMMENT ''契约锁默认业务分类Id(按公司独立配置)'' AFTER `ContactPhone`'
|
|
);
|
|
CALL `ob_qys_company_add_column_if_missing`(
|
|
'QiyuesuoSealId',
|
|
'VARCHAR(100) NULL COMMENT ''契约锁企业印章Id(按公司独立配置)'' AFTER `QiyuesuoCategoryId`'
|
|
);
|
|
|
|
DROP PROCEDURE IF EXISTS `ob_qys_company_add_column_if_missing`;
|
|
|
|
SELECT
|
|
Id,
|
|
CompanyCode,
|
|
CompanyName,
|
|
LegalName,
|
|
QiyuesuoCategoryId,
|
|
QiyuesuoSealId,
|
|
CASE
|
|
WHEN NULLIF(TRIM(QiyuesuoCategoryId), '') IS NOT NULL
|
|
AND NULLIF(TRIM(QiyuesuoSealId), '') IS NOT NULL THEN '已配置'
|
|
ELSE '待配置'
|
|
END AS QiyuesuoConfigStatus
|
|
FROM ob_company
|
|
WHERE IsDelete = 0 OR IsDelete IS NULL
|
|
ORDER BY CompanyName; |