rs-role-permissions-mysql-fixed.sql 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. -- =================================================
  2. -- 人事管理模块权限配置脚本 (MySQL版本 - 修复版)
  3. -- 创建日期: 2025-07-05
  4. -- 修改日期: 2025-07-10
  5. -- 作者: cursor
  6. -- 说明: 配置人事管理模块的角色权限
  7. -- =================================================
  8. -- 设置变量 (MySQL语法)
  9. -- 获取角色ID
  10. SET @adminRoleId = (SELECT role_id FROM sys_role WHERE role_key = 'admin');
  11. SET @commonRoleId = (SELECT role_id FROM sys_role WHERE role_key = 'common');
  12. -- =============================
  13. -- 1. 人事管理模块菜单权限
  14. -- =============================
  15. -- 设置菜单ID (与rs-menu-mysql-fixed.sql中的ID一致)
  16. SET @rsParentMenu = 2050; -- 人事管理顶级菜单
  17. -- 职位管理菜单及按钮
  18. SET @jobMenu = 2051; -- 职位管理菜单
  19. SET @jobQuery = 2052; -- 职位管理查询
  20. SET @jobAdd = 2053; -- 职位管理新增
  21. SET @jobEdit = 2054; -- 职位管理修改
  22. SET @jobRemove = 2055; -- 职位管理删除
  23. SET @jobExport = 2056; -- 职位管理导出
  24. -- 招聘中心菜单
  25. SET @publicJobMenu = 2057; -- 招聘中心菜单
  26. -- 申请管理菜单及按钮
  27. SET @appMenu = 2058; -- 申请管理菜单
  28. SET @appQuery = 2059; -- 申请管理查询
  29. SET @appAdd = 2060; -- 申请管理新增
  30. SET @appEdit = 2061; -- 申请管理修改
  31. SET @appRemove = 2062; -- 申请管理删除
  32. SET @appExport = 2063; -- 申请管理导出
  33. -- 应聘者管理菜单及按钮
  34. SET @applicantMenu = 2064; -- 应聘者管理菜单
  35. SET @applicantQuery = 2065; -- 应聘者管理查询
  36. SET @applicantAdd = 2066; -- 应聘者管理新增
  37. SET @applicantEdit = 2067; -- 应聘者管理修改
  38. SET @applicantRemove = 2068; -- 应聘者管理删除
  39. -- 教育经历管理菜单及按钮
  40. SET @eduMenu = 2069; -- 教育经历管理菜单
  41. SET @eduQuery = 2070; -- 教育经历管理查询
  42. SET @eduAdd = 2071; -- 教育经历管理新增
  43. SET @eduEdit = 2072; -- 教育经历管理修改
  44. SET @eduRemove = 2073; -- 教育经历管理删除
  45. -- 工作经历管理菜单及按钮
  46. SET @expMenu = 2074; -- 工作经历管理菜单
  47. SET @expQuery = 2075; -- 工作经历管理查询
  48. SET @expAdd = 2076; -- 工作经历管理新增
  49. SET @expEdit = 2077; -- 工作经历管理修改
  50. SET @expRemove = 2078; -- 工作经历管理删除
  51. -- =============================
  52. -- 2. 为管理员角色添加所有人事管理权限
  53. -- =============================
  54. -- 检查并添加菜单权限 (先删除可能存在的权限,再添加)
  55. -- 顶级菜单权限
  56. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @rsParentMenu;
  57. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @rsParentMenu);
  58. -- 职位管理权限
  59. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @jobMenu;
  60. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobMenu);
  61. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@jobQuery, @jobAdd, @jobEdit, @jobRemove, @jobExport);
  62. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobQuery);
  63. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobAdd);
  64. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobEdit);
  65. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobRemove);
  66. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @jobExport);
  67. -- 招聘中心权限
  68. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @publicJobMenu;
  69. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @publicJobMenu);
  70. -- 申请管理权限
  71. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @appMenu;
  72. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appMenu);
  73. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@appQuery, @appAdd, @appEdit, @appRemove, @appExport);
  74. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appQuery);
  75. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appAdd);
  76. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appEdit);
  77. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appRemove);
  78. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @appExport);
  79. -- 应聘者管理权限
  80. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @applicantMenu;
  81. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantMenu);
  82. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@applicantQuery, @applicantAdd, @applicantEdit, @applicantRemove);
  83. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantQuery);
  84. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantAdd);
  85. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantEdit);
  86. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @applicantRemove);
  87. -- 教育经历管理权限
  88. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @eduMenu;
  89. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduMenu);
  90. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@eduQuery, @eduAdd, @eduEdit, @eduRemove);
  91. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduQuery);
  92. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduAdd);
  93. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduEdit);
  94. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @eduRemove);
  95. -- 工作经历管理权限
  96. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id = @expMenu;
  97. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expMenu);
  98. DELETE FROM sys_role_menu WHERE role_id = @adminRoleId AND menu_id IN (@expQuery, @expAdd, @expEdit, @expRemove);
  99. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expQuery);
  100. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expAdd);
  101. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expEdit);
  102. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@adminRoleId, @expRemove);
  103. -- =============================
  104. -- 3. 为普通用户添加有限的人事管理权限
  105. -- =============================
  106. -- 招聘中心权限(查看公开职位)
  107. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @rsParentMenu;
  108. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @rsParentMenu);
  109. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @publicJobMenu;
  110. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @publicJobMenu);
  111. -- 职位申请权限(仅查询)
  112. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @jobMenu;
  113. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @jobMenu);
  114. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @jobQuery;
  115. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @jobQuery);
  116. -- 申请管理权限(仅新增)
  117. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appMenu;
  118. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appMenu);
  119. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appAdd;
  120. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appAdd);
  121. DELETE FROM sys_role_menu WHERE role_id = @commonRoleId AND menu_id = @appQuery;
  122. INSERT INTO sys_role_menu (role_id, menu_id) VALUES (@commonRoleId, @appQuery);
  123. -- =============================
  124. -- 4. 确认权限分配
  125. -- =============================
  126. -- 输出验证信息
  127. SELECT '人事管理模块权限分配完成' AS Status;
  128. SELECT COUNT(*) AS AdminPermissionCount
  129. FROM sys_role_menu
  130. WHERE role_id = @adminRoleId
  131. AND menu_id IN (
  132. @rsParentMenu, @jobMenu, @publicJobMenu, @appMenu, @applicantMenu, @eduMenu, @expMenu,
  133. @jobQuery, @jobAdd, @jobEdit, @jobRemove, @jobExport,
  134. @appQuery, @appAdd, @appEdit, @appRemove, @appExport,
  135. @applicantQuery, @applicantAdd, @applicantEdit, @applicantRemove,
  136. @eduQuery, @eduAdd, @eduEdit, @eduRemove,
  137. @expQuery, @expAdd, @expEdit, @expRemove
  138. );
  139. SELECT COUNT(*) AS CommonUserPermissionCount
  140. FROM sys_role_menu
  141. WHERE role_id = @commonRoleId
  142. AND menu_id IN (@rsParentMenu, @publicJobMenu, @jobMenu, @jobQuery, @appMenu, @appAdd, @appQuery);