2026-09-26-mini-db-inventory-role-grant.sql 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- 移动端「地磅管理 → 出入库管理」授权给指定角色
  2. -- 菜单:MINI_DB_INVENTORY(perms=mini:db:inventory:list)
  3. -- 祖先:移动端(id=1)、地磅管理(MINI_DB_ROOT) — 选中子菜单须含祖先,否则侧栏/宫格不可见
  4. -- 角色:管理员、销售主管、销售计划员、销售实录员、销售办证员、超级管理员
  5. -- 执行环境:生产库(backend/.env.production)数据库名 shanxia2.0;可幂等重复执行
  6. SET NAMES utf8mb4;
  7. INSERT INTO `sys_role_menu` (
  8. `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
  9. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  10. )
  11. SELECT
  12. MD5(CONCAT(r.id, '|', m.menu_id, '|mini-db-inventory-grant|v1')),
  13. r.id,
  14. m.menu_id,
  15. r.tenant_no,
  16. 0,
  17. '移动端出入库管理授权',
  18. 'system',
  19. '',
  20. NOW(),
  21. NULL,
  22. NOW(),
  23. 0
  24. FROM `sys_role` r
  25. INNER JOIN (
  26. SELECT '1' AS menu_id
  27. UNION ALL SELECT 'MINI_DB_ROOT'
  28. UNION ALL SELECT 'MINI_DB_INVENTORY'
  29. ) m
  30. WHERE r.tenant_no = 'shanxia2.0'
  31. AND r.del_flag = 0
  32. AND r.role_name IN (
  33. '管理员', '销售主管', '销售计划员', '销售实录员', '销售办证员', '超级管理员'
  34. )
  35. AND NOT EXISTS (
  36. SELECT 1 FROM `sys_role_menu` x
  37. WHERE x.role_id = r.id
  38. AND x.menu_id = m.menu_id
  39. AND x.del_flag = 0
  40. );