insert_duplicate_charge_menu.sql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. -- ============================================================
  2. -- 重复收费统计 - 菜单初始化 SQL(BS_DRGSystemMenu)
  3. -- 所属变更: report-duplicate-charge-statistics
  4. -- 对应接口: 02010603 / 02010604 / 02010605(src.DRG.Report)
  5. -- 手工执行: IRIS Management Portal → System → SQL → 粘贴执行(Namespace: USER)
  6. -- 幂等: 已存在(MenuCode 唯一索引)则跳过
  7. --
  8. -- 说明:
  9. -- 1) 前端导航栏完全遵从后端菜单维护,必须在 BS_DRGSystemMenu 插入记录前端才会渲染
  10. -- 2) MenuCode 必须与 menuRouteRegistry.tsx 注册的 key 完全一致(大小写敏感)
  11. -- 3) ParentID 填父级菜单的 MenuCode(本例为 'report' = 报表分析)
  12. -- 4) MenuIcon 需与前端 MenuContext.iconMap 的 key 一致才能显示图标
  13. -- 5) 若不执行 SQL,也可在「系统管理 → 菜单配置」页面用「新增菜单」弹窗录入(见下方字段对照)
  14. -- ============================================================
  15. -- 0. 执行前确认(避免重复插入)
  16. -- SELECT MenuCode, MenuName, ParentID, MenuPath, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType
  17. -- FROM SQLUser.BS_DRGSystemMenu
  18. -- WHERE MenuCode IN ('report', 'report-duplicate-charge');
  19. -- 1. 新增二级菜单:重复收费统计(挂在「报表分析」下)
  20. INSERT INTO SQLUser.BS_DRGSystemMenu
  21. (MenuCode, MenuName, ParentID, MenuPath, MenuIcon, Component, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType, Permission, CreateDate, CreateTime, Remark)
  22. SELECT
  23. 'report-duplicate-charge', '重复收费统计',
  24. 'report', '/report/duplicate-charge', 'WarningOutlined',
  25. 'pages/Report/DuplicateCharge', 30, 2, 'Y', 'Y', 'Y', '02', 'report:duplicate-charge',
  26. CURRENT_DATE, CURRENT_TIME, '重复收费统计(接口 02010603/02010604/02010605):同一天同一收费项目重复计费的汇总与明细查询'
  27. WHERE NOT EXISTS (SELECT 1 FROM SQLUser.BS_DRGSystemMenu WHERE MenuCode = 'report-duplicate-charge');
  28. -- 注:SeqNo=30 排在「病组费用比对」(20) 之后;如需调整请修改后重跑 UPDATE。
  29. -- 2. 校验:应返回 1 行,ParentID='report'
  30. SELECT MenuCode, MenuName, ParentID, MenuPath, Component, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType
  31. FROM SQLUser.BS_DRGSystemMenu
  32. WHERE MenuCode = 'report-duplicate-charge';
  33. -- 3. 角色授权:为指定角色分配该菜单(BS_DRGRoleMenu)
  34. -- 需先确认角色编码,示例以 'Admin' 为例;如角色表结构不同请按实际调整
  35. -- INSERT INTO SQLUser.BS_DRGRoleMenu (RoleCode, MenuCode, CreateDate, CreateTime)
  36. -- SELECT 'Admin', 'report-duplicate-charge', CURRENT_DATE, CURRENT_TIME
  37. -- WHERE NOT EXISTS (SELECT 1 FROM SQLUser.BS_DRGRoleMenu WHERE RoleCode = 'Admin' AND MenuCode = 'report-duplicate-charge');
  38. -- 4. 回滚(如需撤回菜单)
  39. -- DELETE FROM SQLUser.BS_DRGRoleMenu WHERE MenuCode = 'report-duplicate-charge';
  40. -- DELETE FROM SQLUser.BS_DRGSystemMenu WHERE MenuCode = 'report-duplicate-charge';
  41. -- ============================================================
  42. -- 附:「系统管理 → 菜单配置 → 新增菜单」弹窗字段对照(与上面 SQL 等价)
  43. -- 菜单编码 : report-duplicate-charge
  44. -- 菜单名称 : 重复收费统计
  45. -- 上级菜单 : 报表分析(report)
  46. -- 排序号 : 30
  47. -- 菜单图标 : WarningOutlined
  48. -- 状态 : 启用(Y)
  49. -- 菜单路径/路由 : /report/duplicate-charge
  50. -- ============================================================