62 lines
2.5 KiB
SQL
62 lines
2.5 KiB
SQL
-- ==========================================
|
|
-- 修复心理健康管理员角色权限
|
|
-- 版本:V1.0.0
|
|
-- 功能:为心理健康管理员角色添加心理健康测评的查询权限
|
|
-- 作者:Cursor AI
|
|
-- 时间:2025-07-23
|
|
-- ==========================================
|
|
|
|
-- 设置字符集
|
|
SET NAMES utf8mb4;
|
|
|
|
-- 1. 检查心理健康管理员角色是否存在
|
|
SELECT @role_id := role_id FROM sys_role WHERE role_key = 'xljk_admin' LIMIT 1;
|
|
|
|
-- 2. 如果角色不存在,创建心理健康管理员角色
|
|
INSERT INTO sys_role (role_id, role_name, role_key, role_sort, data_scope, menu_check_strictly, dept_check_strictly, status, del_flag, create_by, create_time, remark)
|
|
SELECT 117, '心理健康管理员', 'xljk_admin', 7, '1', '1', '1', '0', '0', 1, NOW(), '心理健康管理员'
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role WHERE role_key = 'xljk_admin');
|
|
|
|
-- 3. 重新获取角色ID
|
|
SELECT @role_id := role_id FROM sys_role WHERE role_key = 'xljk_admin' LIMIT 1;
|
|
|
|
-- 4. 为心理健康管理员角色分配心理健康测评菜单权限
|
|
-- 检查是否已经有菜单权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @role_id, 2300
|
|
FROM dual
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = @role_id AND menu_id = 2300);
|
|
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @role_id, 2310
|
|
FROM dual
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = @role_id AND menu_id = 2310);
|
|
|
|
-- 5. 为心理健康管理员角色分配心理健康测评查询和导出权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @role_id, 2311
|
|
FROM dual
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = @role_id AND menu_id = 2311);
|
|
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @role_id, 2315
|
|
FROM dual
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = @role_id AND menu_id = 2315);
|
|
|
|
-- 6. 为心理健康管理员角色分配心理健康测评统计权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @role_id, menu_id
|
|
FROM sys_menu
|
|
WHERE perms = 'xljk:evaluation:statistics'
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM sys_role_menu
|
|
WHERE role_id = @role_id
|
|
AND menu_id = (SELECT menu_id FROM sys_menu WHERE perms = 'xljk:evaluation:statistics' LIMIT 1)
|
|
);
|
|
|
|
-- 7. 验证结果
|
|
SELECT '心理健康管理员角色权限修复完成!' AS result;
|
|
SELECT CONCAT('心理健康管理员角色ID: ', @role_id) AS role_info;
|
|
SELECT CONCAT('已分配菜单权限: ', COUNT(*)) AS menu_count
|
|
FROM sys_role_menu
|
|
WHERE role_id = @role_id; |