migrate-qc-material-amount-auth.sql 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. -- 质检物料金额查看授权:专用角色 + viewAmount 按钮菜单 + 授权管理页
  2. -- 2026-07-13
  3. -- 1. 按钮权限(F,visible=0,仅用于权限解析)
  4. INSERT INTO `sys_menu`
  5. (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
  6. VALUES
  7. ('95100000000000000000000000000002', '查看质检物料金额', '70000000000000000000000000000009', 'F', '', NULL, 'biz:qcMaterial:viewAmount', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
  8. ('95100000000000000000000000000003', '查看我的物料领用金额', '92000000000000000000000000000001', 'F', '', NULL, 'biz:myQcMaterialUsage:viewAmount', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0)
  9. ON DUPLICATE KEY UPDATE
  10. `menu_name` = VALUES(`menu_name`),
  11. `parent_id` = VALUES(`parent_id`),
  12. `menu_type` = VALUES(`menu_type`),
  13. `perms` = VALUES(`perms`),
  14. `visible` = VALUES(`visible`),
  15. `status` = VALUES(`status`),
  16. `del_flag` = 0;
  17. -- 2. 授权管理页(C,挂在质检基础信息下)
  18. INSERT INTO `sys_menu`
  19. (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
  20. VALUES
  21. ('95100000000000000000000000000001', '质检物料金额查看授权', 'QCB00000000000000000000000000001', 'C', 'qc-material-amount-auth', '/quality-inspection/qc-material-amount-auth/index', 'biz:qcMaterialAmountAuth:list', 1, '1', '1', 'zkxw', 10, NULL, NULL, '', NOW(), NULL, NOW(), 0)
  22. ON DUPLICATE KEY UPDATE
  23. `menu_name` = VALUES(`menu_name`),
  24. `parent_id` = VALUES(`parent_id`),
  25. `menu_type` = VALUES(`menu_type`),
  26. `path` = VALUES(`path`),
  27. `component` = VALUES(`component`),
  28. `perms` = VALUES(`perms`),
  29. `visible` = VALUES(`visible`),
  30. `status` = VALUES(`status`),
  31. `order_num` = VALUES(`order_num`),
  32. `del_flag` = 0;
  33. -- 3. 专用角色
  34. INSERT INTO `sys_role`
  35. (`id`, `role_name`, `data_scope`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
  36. VALUES
  37. ('ROLE000000000000000000000000000011', '质检物料金额查看', '1', '1', 'zkxw', 0, '可查看/编辑质检物料库与我的物料领用记录中的单价与金额', NULL, '', NOW(), NULL, NOW(), 0)
  38. ON DUPLICATE KEY UPDATE
  39. `role_name` = VALUES(`role_name`),
  40. `status` = VALUES(`status`),
  41. `remark` = VALUES(`remark`),
  42. `del_flag` = 0;
  43. -- 4. 角色 ↔ 按钮权限
  44. INSERT INTO `sys_role_menu`
  45. (`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
  46. VALUES
  47. ('RM000000000000000000000000000011', 'ROLE000000000000000000000000000011', '95100000000000000000000000000002', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
  48. ('RM000000000000000000000000000012', 'ROLE000000000000000000000000000011', '95100000000000000000000000000003', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0)
  49. ON DUPLICATE KEY UPDATE
  50. `del_flag` = 0;
  51. -- 5. 已拥有「质检物料库」菜单的角色,自动获得授权管理页
  52. INSERT INTO `sys_role_menu`
  53. (`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
  54. SELECT
  55. CONCAT('RMAA', SUBSTRING(MD5(CONCAT(rm.role_id, '95100000000000000000000000000001')), 1, 28)),
  56. rm.role_id,
  57. '95100000000000000000000000000001',
  58. 'zkxw',
  59. 0,
  60. NULL,
  61. NULL,
  62. '',
  63. NOW(),
  64. NULL,
  65. NOW(),
  66. 0
  67. FROM `sys_role_menu` rm
  68. WHERE rm.menu_id = '70000000000000000000000000000009'
  69. AND rm.del_flag = 0
  70. AND rm.tenant_no = 'zkxw'
  71. AND NOT EXISTS (
  72. SELECT 1
  73. FROM `sys_role_menu` x
  74. WHERE x.role_id = rm.role_id
  75. AND x.menu_id = '95100000000000000000000000000001'
  76. AND x.del_flag = 0
  77. );