| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- -- =================================================
- -- 人事管理模块权限配置脚本
- -- 创建日期: 2025-07-05
- -- 作者: cursor
- -- 说明: 配置人事管理模块的角色权限
- -- =================================================
- -- 检查并获取角色ID
- DECLARE @adminRoleId INT = (SELECT role_id FROM sys_role WHERE role_key = 'admin');
- DECLARE @commonRoleId INT = (SELECT role_id FROM sys_role WHERE role_key = 'common');
- -- =============================
- -- 1. 人事管理模块菜单权限
- -- =============================
- -- 获取人事管理顶级菜单及其子菜单ID
- DECLARE @rsParentMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '人事管理' AND parent_id = 0);
- -- 获取职位管理菜单ID
- DECLARE @jobMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理' AND parent_id = @rsParentMenu);
- -- 获取职位管理按钮ID
- DECLARE @jobQuery INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理查询' AND parent_id = @jobMenu);
- DECLARE @jobAdd INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理新增' AND parent_id = @jobMenu);
- DECLARE @jobEdit INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理修改' AND parent_id = @jobMenu);
- DECLARE @jobRemove INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理删除' AND parent_id = @jobMenu);
- DECLARE @jobExport INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '职位管理导出' AND parent_id = @jobMenu);
- -- 获取招聘中心菜单ID
- DECLARE @publicJobMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '招聘中心' AND parent_id = @rsParentMenu);
- -- 获取申请管理菜单ID
- DECLARE @appMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理' AND parent_id = @rsParentMenu);
- -- 获取申请管理按钮ID
- DECLARE @appQuery INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理查询' AND parent_id = @appMenu);
- DECLARE @appAdd INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理新增' AND parent_id = @appMenu);
- DECLARE @appEdit INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理修改' AND parent_id = @appMenu);
- DECLARE @appRemove INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理删除' AND parent_id = @appMenu);
- DECLARE @appExport INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '申请管理导出' AND parent_id = @appMenu);
- -- 获取应聘者管理菜单ID
- DECLARE @applicantMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '应聘者管理' AND parent_id = @rsParentMenu);
- -- 获取应聘者管理按钮ID
- DECLARE @applicantQuery INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '应聘者管理查询' AND parent_id = @applicantMenu);
- DECLARE @applicantAdd INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '应聘者管理新增' AND parent_id = @applicantMenu);
- DECLARE @applicantEdit INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '应聘者管理修改' AND parent_id = @applicantMenu);
- DECLARE @applicantRemove INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '应聘者管理删除' AND parent_id = @applicantMenu);
- -- 获取教育经历管理菜单ID
- DECLARE @eduMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '教育经历管理' AND parent_id = @rsParentMenu);
- -- 获取教育经历管理按钮ID
- DECLARE @eduQuery INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '教育经历管理查询' AND parent_id = @eduMenu);
- DECLARE @eduAdd INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '教育经历管理新增' AND parent_id = @eduMenu);
- DECLARE @eduEdit INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '教育经历管理修改' AND parent_id = @eduMenu);
- DECLARE @eduRemove INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '教育经历管理删除' AND parent_id = @eduMenu);
- -- 获取工作经历管理菜单ID
- DECLARE @expMenu INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '工作经历管理' AND parent_id = @rsParentMenu);
- -- 获取工作经历管理按钮ID
- DECLARE @expQuery INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '工作经历管理查询' AND parent_id = @expMenu);
- DECLARE @expAdd INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '工作经历管理新增' AND parent_id = @expMenu);
- DECLARE @expEdit INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '工作经历管理修改' AND parent_id = @expMenu);
- DECLARE @expRemove INT = (SELECT menu_id FROM sys_menu WHERE menu_name = '工作经历管理删除' AND parent_id = @expMenu);
- -- =============================
- -- 2. 为管理员角色添加所有人事管理权限
- -- =============================
- -- 检查并添加菜单权限 (先删除可能存在的权限,再添加)
- -- 顶级菜单权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @rsParentMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @rsParentMenu);
- -- 职位管理权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @jobMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobMenu);
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@jobQuery, @jobAdd, @jobEdit, @jobRemove, @jobExport);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobQuery);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobAdd);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobEdit);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobRemove);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobExport);
- -- 招聘中心权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @publicJobMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @publicJobMenu);
- -- 申请管理权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @appMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appMenu);
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@appQuery, @appAdd, @appEdit, @appRemove, @appExport);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appQuery);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appAdd);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appEdit);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appRemove);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appExport);
- -- 应聘者管理权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @applicantMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantMenu);
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@applicantQuery, @applicantAdd, @applicantEdit, @applicantRemove);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantQuery);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantAdd);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantEdit);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantRemove);
- -- 教育经历管理权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @eduMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduMenu);
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@eduQuery, @eduAdd, @eduEdit, @eduRemove);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduQuery);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduAdd);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduEdit);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduRemove);
- -- 工作经历管理权限
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @expMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expMenu);
- DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@expQuery, @expAdd, @expEdit, @expRemove);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expQuery);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expAdd);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expEdit);
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expRemove);
- -- =============================
- -- 3. 为普通用户添加有限的人事管理权限
- -- =============================
- -- 招聘中心权限(查看公开职位)
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @rsParentMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @rsParentMenu);
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @publicJobMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @publicJobMenu);
- -- 职位申请权限(仅查询)
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @jobMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @jobMenu);
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @jobQuery;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @jobQuery);
- -- 申请管理权限(仅新增)
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appMenu;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appMenu);
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appAdd;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appAdd);
- DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appQuery;
- INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appQuery);
- -- =============================
- -- 4. 确认权限分配
- -- =============================
- -- 输出验证信息
- SELECT '人事管理模块权限分配完成' AS Status;
- SELECT COUNT(*) AS AdminPermissionCount
- FROM sys_role_menu
- WHERE role_id = @adminRoleId
- AND menu_id IN (
- @rsParentMenu, @jobMenu, @publicJobMenu, @appMenu, @applicantMenu, @eduMenu, @expMenu,
- @jobQuery, @jobAdd, @jobEdit, @jobRemove, @jobExport,
- @appQuery, @appAdd, @appEdit, @appRemove, @appExport,
- @applicantQuery, @applicantAdd, @applicantEdit, @applicantRemove,
- @eduQuery, @eduAdd, @eduEdit, @eduRemove,
- @expQuery, @expAdd, @expEdit, @expRemove
- );
- SELECT COUNT(*) AS CommonUserPermissionCount
- FROM sys_role_menu
- WHERE role_id = @commonRoleId
- AND menu_id IN (@rsParentMenu, @publicJobMenu, @jobMenu, @jobQuery, @appMenu, @appAdd, @appQuery);
|