create-maintenance-roles.sql 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. -- ==========================================
  2. -- 维修角色创建和用户分配脚本
  3. -- 功能:创建维修人员和物业维修管理员角色,并为总务处用户分配角色
  4. -- 时间:2025-06-30 13:45:00
  5. -- 说明:使用UPSERT逻辑,支持重复执行
  6. -- ==========================================
  7. -- 第一步:创建维修人员角色
  8. INSERT INTO sys_role (
  9. role_id, role_name, role_key, role_sort, data_scope,
  10. menu_check_strictly, dept_check_strictly, status,
  11. del_flag, create_by, create_time, update_by, update_time, remark
  12. )
  13. SELECT
  14. 5, '维修人员', 'maintenance_worker', 5, '5',
  15. 1, 1, '0',
  16. '0', 1, now(), 1, now(), '负责具体维修工作的人员,可以查看和处理分配给自己的维修工单'
  17. WHERE NOT EXISTS (SELECT 1 FROM sys_role WHERE role_id = 5);
  18. -- 第二步:创建物业维修管理员角色
  19. INSERT INTO sys_role (
  20. role_id, role_name, role_key, role_sort, data_scope,
  21. menu_check_strictly, dept_check_strictly, status,
  22. del_flag, create_by, create_time, update_by, update_time, remark
  23. )
  24. SELECT
  25. 6, '物业维修管理员', 'property_maintenance_admin', 6, '3',
  26. 1, 1, '0',
  27. '0', 1, now(), 1, now(), '负责物业维修管理工作,可以管理维修工单、分配维修任务、查看维修统计'
  28. WHERE NOT EXISTS (SELECT 1 FROM sys_role WHERE role_id = 6);
  29. -- 第三步:为总务处用户分配维修人员角色
  30. -- 选择用户:zwc005(陆雄) 和 zwc007(邹凯)
  31. INSERT IGNORE INTO sys_user_role (user_id, role_id) VALUES
  32. (2125, 5), -- zwc005(陆雄) -> 维修人员
  33. (2127, 5); -- zwc007(邹凯) -> 维修人员
  34. -- 第四步:为总务处用户分配物业维修管理员角色
  35. -- 选择用户:zwc003(舒刚) 和 zwc004(晏茹)
  36. INSERT IGNORE INTO sys_user_role (user_id, role_id) VALUES
  37. (2123, 6), -- zwc003(舒刚) -> 物业维修管理员
  38. (2124, 6); -- zwc004(晏茹) -> 物业维修管理员
  39. -- 第五步:验证创建结果
  40. SELECT '角色创建验证' as message,
  41. (SELECT COUNT(*) FROM sys_role WHERE role_id IN (5, 6)) as created_roles,
  42. (SELECT COUNT(*) FROM sys_user_role WHERE role_id IN (5, 6)) as assigned_users;
  43. -- 详细验证信息
  44. SELECT
  45. '维修角色分配验证' as verification_type,
  46. r.role_name as '角色名称',
  47. u.user_name as '用户名',
  48. u.nick_name as '昵称',
  49. d.dept_name as '部门'
  50. FROM sys_user_role ur
  51. JOIN sys_role r ON ur.role_id = r.role_id
  52. JOIN sys_user u ON ur.user_id = u.user_id
  53. JOIN sys_dept d ON u.dept_id = d.dept_id
  54. WHERE ur.role_id IN (5, 6)
  55. ORDER BY r.role_id, u.user_id;
  56. -- 第六步:为这两个角色分配基础权限(可根据需要调整)
  57. -- 注意:这里暂时不分配具体权限,后续可以通过管理界面或额外脚本配置
  58. SELECT '权限配置提醒' as message,
  59. '新创建的角色需要在系统管理->角色管理中配置具体的菜单权限' as reminder;