migrate_pl_archive_group_20261004.sql 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. -- 运输管理:在「运输计划」与「库存管理」之间新增「运输归档」分组,
  2. -- 并将「运输计划归档」从运输计划下改挂到运输归档下。
  3. -- 2026-10-04
  4. INSERT INTO `sys_menu` (
  5. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`,
  6. `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`,
  7. `create_time`, `update_by`, `update_time`, `del_flag`
  8. )
  9. SELECT * FROM (
  10. SELECT
  11. 'PL_GROUP_ARCHIVE' AS `id`,
  12. '运输归档' AS `menu_name`,
  13. 'PL_MENU_ROOT' AS `parent_id`,
  14. 'M' AS `menu_type`,
  15. 'archive-module' AS `path`,
  16. NULL AS `component`,
  17. NULL AS `perms`,
  18. 1 AS `is_frame`,
  19. '1' AS `visible`,
  20. '1' AS `status`,
  21. 'shanxia2.0' AS `tenant_no`,
  22. 2 AS `order_num`,
  23. '运输归档分组' AS `remark`,
  24. 'system' AS `create_by`,
  25. '' AS `create_dept_id`,
  26. NOW() AS `create_time`,
  27. NULL AS `update_by`,
  28. NOW() AS `update_time`,
  29. 0 AS `del_flag`
  30. ) AS tmp
  31. WHERE NOT EXISTS (
  32. SELECT 1 FROM `sys_menu` WHERE `id` = 'PL_GROUP_ARCHIVE'
  33. );
  34. UPDATE `sys_menu`
  35. SET `order_num` = 3, `update_time` = NOW()
  36. WHERE `id` = 'PL_GROUP_STOCK' AND `del_flag` = 0;
  37. UPDATE `sys_menu`
  38. SET `parent_id` = 'PL_GROUP_ARCHIVE', `order_num` = 1, `update_time` = NOW()
  39. WHERE `id` = 'PL_PLAN_ARCHIVE' AND `del_flag` = 0;
  40. UPDATE `sys_menu`
  41. SET `order_num` = 2, `update_time` = NOW()
  42. WHERE `id` = 'PL_PLAN_CONTRACT' AND `del_flag` = 0;
  43. INSERT INTO `sys_role_menu` (
  44. `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
  45. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  46. )
  47. SELECT
  48. MD5(CONCAT(src.`role_id`, '-', src.`group_menu_id`)),
  49. src.`role_id`,
  50. src.`group_menu_id`,
  51. src.`tenant_no`,
  52. 0,
  53. NULL,
  54. src.`create_by`,
  55. '',
  56. NOW(),
  57. src.`create_by`,
  58. NOW(),
  59. 0
  60. FROM (
  61. SELECT DISTINCT
  62. rm.`role_id`,
  63. rm.`tenant_no`,
  64. rm.`create_by`,
  65. 'PL_GROUP_ARCHIVE' AS `group_menu_id`
  66. FROM `sys_role_menu` rm
  67. WHERE rm.`del_flag` = 0
  68. AND rm.`menu_id` IN (
  69. 'PL_PLAN_ARCHIVE',
  70. 'PL_PLAN_ARCHIVE_Q',
  71. 'PL_PLAN_ARCHIVE_E',
  72. 'PL_PLAN_ARCHIVE_A',
  73. 'PL_PLAN_ARCHIVE_PRICE'
  74. )
  75. ) src
  76. WHERE NOT EXISTS (
  77. SELECT 1
  78. FROM `sys_role_menu` exist
  79. WHERE exist.`role_id` = src.`role_id`
  80. AND exist.`menu_id` = src.`group_menu_id`
  81. AND exist.`del_flag` = 0
  82. );