sys_menu_ttsa.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. DO $$
  2. DECLARE
  3. parent_menu_id BIGINT := 0; -- ★ 修改为实际父级菜单ID
  4. ttsa_dir_id BIGINT;
  5. menu_id BIGINT;
  6. max_order INT;
  7. BEGIN
  8. -- 清理已存在菜单 + 重置序列(可重复执行)
  9. DELETE FROM sys_menu WHERE perms LIKE 'ttsa:%';
  10. DELETE FROM sys_menu WHERE path = 'ttsa' AND menu_type = 'M';
  11. PERFORM setval('sys_menu_menu_id_seq', COALESCE((SELECT MAX(menu_id) FROM sys_menu), 0));
  12. SELECT COALESCE(MAX(order_num), 0) INTO max_order FROM sys_menu WHERE parent_id = parent_menu_id;
  13. max_order := max_order + 1;
  14. -- 一级目录
  15. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  16. VALUES ('三类人员考核', parent_menu_id, max_order, 'ttsa', NULL, 1, 0, 'M', '0', '0', '', 'user', 'admin', now())
  17. RETURNING menu_id INTO ttsa_dir_id;
  18. -- 1. 三类人员信息
  19. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  20. VALUES ('三类人员信息', ttsa_dir_id, 1, 'objtts', 'slaj/ttsa/objtts/index', 1, 0, 'C', '0', '0', 'ttsa:objtts:list', 'people', 'admin', now()) RETURNING menu_id INTO menu_id;
  21. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:objtts:add','#','admin',now());
  22. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:objtts:edit','#','admin',now());
  23. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:objtts:remove','#','admin',now());
  24. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:objtts:export','#','admin',now());
  25. -- 2. 安全考核申请
  26. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  27. VALUES ('安全考核申请', ttsa_dir_id, 2, 'objttsa', 'slaj/ttsa/objttsa/index', 1, 0, 'C', '0', '0', 'ttsa:objttsa:list', 'form', 'admin', now()) RETURNING menu_id INTO menu_id;
  28. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:objttsa:add','#','admin',now());
  29. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:objttsa:edit','#','admin',now());
  30. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:objttsa:remove','#','admin',now());
  31. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:objttsa:export','#','admin',now());
  32. -- 3. 批量考核申请
  33. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  34. VALUES ('批量考核申请', ttsa_dir_id, 3, 'objttsaexamappl', 'slaj/ttsa/objttsaexamappl/index', 1, 0, 'C', '0', '0', 'ttsa:objttsaexamappl:list', 'list', 'admin', now()) RETURNING menu_id INTO menu_id;
  35. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:objttsaexamappl:add','#','admin',now());
  36. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:objttsaexamappl:edit','#','admin',now());
  37. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:objttsaexamappl:remove','#','admin',now());
  38. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:objttsaexamappl:export','#','admin',now());
  39. -- 4. 三类人员证书
  40. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  41. VALUES ('三类人员证书', ttsa_dir_id, 4, 'ttsacert', 'slaj/ttsa/ttsacert/index', 1, 0, 'C', '0', '0', 'ttsa:ttsacert:list', 'certificate', 'admin', now()) RETURNING menu_id INTO menu_id;
  42. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsacert:add','#','admin',now());
  43. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsacert:edit','#','admin',now());
  44. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsacert:remove','#','admin',now());
  45. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsacert:export','#','admin',now());
  46. -- 5. 证书阵列
  47. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  48. VALUES ('证书阵列', ttsa_dir_id, 5, 'ttsacertarray', 'slaj/ttsa/ttsacertarray/index', 1, 0, 'C', '0', '0', 'ttsa:ttsacertarray:list', 'grid', 'admin', now()) RETURNING menu_id INTO menu_id;
  49. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsacertarray:add','#','admin',now());
  50. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsacertarray:edit','#','admin',now());
  51. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsacertarray:remove','#','admin',now());
  52. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsacertarray:export','#','admin',now());
  53. -- 6. 证书变更申请
  54. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  55. VALUES ('证书变更申请', ttsa_dir_id, 6, 'ttsacertchaappl', 'slaj/ttsa/ttsacertchaappl/index', 1, 0, 'C', '0', '0', 'ttsa:ttsacertchaappl:list', 'edit', 'admin', now()) RETURNING menu_id INTO menu_id;
  56. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsacertchaappl:add','#','admin',now());
  57. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsacertchaappl:edit','#','admin',now());
  58. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsacertchaappl:remove','#','admin',now());
  59. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsacertchaappl:export','#','admin',now());
  60. -- 7-14. 证书变更明细表(8张)
  61. FOR rec IN SELECT * FROM (VALUES
  62. ('单位变更',7,'ttsacertchacomp','ttsa:ttsacertchacomp'),
  63. ('遗失补办',8,'ttsacertchalost','ttsa:ttsacertchalost'),
  64. ('姓名变更',9,'ttsacertchaname','ttsa:ttsacertchaname'),
  65. ('人员变更',10,'ttsacertchapers','ttsa:ttsacertchapers'),
  66. ('证书调动',11,'ttsacertchatran','ttsa:ttsacertchatran'),
  67. ('补发申请',12,'ttsacertreisappl','ttsa:ttsacertreisappl'),
  68. ('撤销申请',13,'ttsacertrevappl','ttsa:ttsacertrevappl'),
  69. ('延期申请',14,'ttsaceriextapll','ttsa:ttsaceriextapll')
  70. ) AS t(name, ord, comp, perm_prefix) LOOP
  71. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  72. VALUES (rec.name, ttsa_dir_id, rec.ord, rec.comp, 'slaj/ttsa/'||rec.comp||'/index', 1, 0, 'C', '0', '0', rec.perm_prefix||':list', 'cascader', 'admin', now()) RETURNING menu_id INTO menu_id;
  73. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0',rec.perm_prefix||':add','#','admin',now());
  74. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0',rec.perm_prefix||':edit','#','admin',now());
  75. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0',rec.perm_prefix||':remove','#','admin',now());
  76. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0',rec.perm_prefix||':export','#','admin',now());
  77. END LOOP;
  78. -- 15. 考核计划
  79. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  80. VALUES ('考核计划', ttsa_dir_id, 15, 'ttsaexamplan', 'slaj/ttsa/ttsaexamplan/index', 1, 0, 'C', '0', '0', 'ttsa:ttsaexamplan:list', 'date', 'admin', now()) RETURNING menu_id INTO menu_id;
  81. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsaexamplan:add','#','admin',now());
  82. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsaexamplan:edit','#','admin',now());
  83. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsaexamplan:remove','#','admin',now());
  84. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsaexamplan:export','#','admin',now());
  85. -- 16. 试卷
  86. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  87. VALUES ('试卷', ttsa_dir_id, 16, 'ttsapaper', 'slaj/ttsa/ttsapaper/index', 1, 0, 'C', '0', '0', 'ttsa:ttsapaper:list', 'documentation', 'admin', now()) RETURNING menu_id INTO menu_id;
  88. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsapaper:add','#','admin',now());
  89. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsapaper:edit','#','admin',now());
  90. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsapaper:remove','#','admin',now());
  91. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsapaper:export','#','admin',now());
  92. -- 17. 试题
  93. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  94. VALUES ('试题', ttsa_dir_id, 17, 'ttsatque', 'slaj/ttsa/ttsatque/index', 1, 0, 'C', '0', '0', 'ttsa:ttsatque:list', 'component', 'admin', now()) RETURNING menu_id INTO menu_id;
  95. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsatque:add','#','admin',now());
  96. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsatque:edit','#','admin',now());
  97. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsatque:remove','#','admin',now());
  98. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsatque:export','#','admin',now());
  99. -- 18. 试题选项
  100. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  101. VALUES ('试题选项', ttsa_dir_id, 18, 'ttsatqueopt', 'slaj/ttsa/ttsatqueopt/index', 1, 0, 'C', '0', '0', 'ttsa:ttsatqueopt:list', 'radio', 'admin', now()) RETURNING menu_id INTO menu_id;
  102. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsatqueopt:add','#','admin',now());
  103. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsatqueopt:edit','#','admin',now());
  104. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsatqueopt:remove','#','admin',now());
  105. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsatqueopt:export','#','admin',now());
  106. -- 19. 考试成绩
  107. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  108. VALUES ('考试成绩', ttsa_dir_id, 19, 'ttsascore', 'slaj/ttsa/ttsascore/index', 1, 0, 'C', '0', '0', 'ttsa:ttsascore:list', 'number', 'admin', now()) RETURNING menu_id INTO menu_id;
  109. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsascore:add','#','admin',now());
  110. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsascore:edit','#','admin',now());
  111. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsascore:remove','#','admin',now());
  112. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsascore:export','#','admin',now());
  113. -- 20. 考核记录
  114. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  115. VALUES ('考核记录', ttsa_dir_id, 20, 'ttsarec', 'slaj/ttsa/ttsarec/index', 1, 0, 'C', '0', '0', 'ttsa:ttsarec:list', 'log', 'admin', now()) RETURNING menu_id INTO menu_id;
  116. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0','ttsa:ttsarec:add','#','admin',now());
  117. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0','ttsa:ttsarec:edit','#','admin',now());
  118. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0','ttsa:ttsarec:remove','#','admin',now());
  119. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0','ttsa:ttsarec:export','#','admin',now());
  120. -- 21-27. 剩余7表
  121. FOR rec IN SELECT * FROM (VALUES
  122. ('考核培训',21,'ttsatrain','ttsa:ttsatrain'),
  123. ('培训人员',22,'ttsatrainpers','ttsa:ttsatrainpers'),
  124. ('考核指定',23,'ttsadesign','ttsa:ttsadesign'),
  125. ('指定明细',24,'ttsadesigndetail','ttsa:ttsadesigndetail'),
  126. ('指定考试关联',25,'ttsadesignexamrel','ttsa:ttsadesignexamrel'),
  127. ('考核企业',26,'ttsaexamente','ttsa:ttsaexamente'),
  128. ('申请安全元素',27,'ttsaapplwiun','ttsa:ttsaapplwiun')
  129. ) AS t(name, ord, comp, perm_prefix) LOOP
  130. INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
  131. VALUES (rec.name, ttsa_dir_id, rec.ord, rec.comp, 'slaj/ttsa/'||rec.comp||'/index', 1, 0, 'C', '0', '0', rec.perm_prefix||':list', 'link', 'admin', now()) RETURNING menu_id INTO menu_id;
  132. INSERT INTO sys_menu VALUES ('新增',menu_id,1,'','',1,0,'F','0','0',rec.perm_prefix||':add','#','admin',now());
  133. INSERT INTO sys_menu VALUES ('修改',menu_id,2,'','',1,0,'F','0','0',rec.perm_prefix||':edit','#','admin',now());
  134. INSERT INTO sys_menu VALUES ('删除',menu_id,3,'','',1,0,'F','0','0',rec.perm_prefix||':remove','#','admin',now());
  135. INSERT INTO sys_menu VALUES ('导出',menu_id,4,'','',1,0,'F','0','0',rec.perm_prefix||':export','#','admin',now());
  136. END LOOP;
  137. RAISE NOTICE 'TTSA menu done. Rows inserted.';
  138. END $$;