| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- -- ==========================================
- -- 修复心理健康管理员角色权限
- -- 版本: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;
|