| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- -- ============================================================
- -- 导航栏新增一级菜单「报表分析」,并把「患者费用明细统计」挂载其下
- -- 对应前端:
- -- frontend/src/pages/Report/PatientFeeDetail.tsx (页面已由 pages/Profit 迁移至此)
- -- frontend/src/routes/menuRoutes.ts keyToPath 'report-fee-detail' -> '/report/fee-detail'
- -- menuTitleMap 'report-fee-detail' -> '患者费用明细统计'
- -- frontend/src/routes/menuRouteRegistry.tsx MENU_RENDERERS['report-fee-detail'] -> <PatientFeeDetail />
- -- frontend/src/context/MenuContext.tsx iconMap['BarChartOutlined'] / parentLabelMap['report'] / parentIconKeyMap['report']
- --
- -- 说明:前端导航栏完全遵从后端菜单维护,必须先在 BS_DrgSystemMenu 插入记录前端才会渲染。
- -- MenuCode 必须与 menuRouteRegistry.tsx 注册的 key 完全一致(大小写敏感)。
- -- ============================================================
- -- 0. 执行前确认:是否已存在 report / profit-fee-detail 记录(避免重复插入)
- -- SELECT MenuCode, MenuName, ParentID, MenuPath, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType
- -- FROM SQLUser.BS_DrgSystemMenu
- -- WHERE MenuCode IN ('report', 'report-fee-detail', 'profit-fee-detail');
- -- 1. 一级菜单:报表分析(目录节点,本身不渲染页面)
- INSERT INTO SQLUser.BS_DrgSystemMenu
- (MenuCode, MenuName, ParentID, MenuPath, MenuIcon, Component, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType, Permission, CreateDate, CreateTime, Remark)
- VALUES
- ('report', '报表分析',
- '0', '/report', 'BarChartOutlined',
- '', 45, 1, 'N', 'Y', 'Y', '01', 'report',
- CURRENT_DATE, CURRENT_TIME, '报表分析一级菜单(患者费用明细统计等报表类页面)');
- -- 注:SeqNo=45 为建议排序(排在「盈亏分析」之后),可按实际现有 SeqNo 调整;
- -- MenuIcon 需与前端 MenuContext.iconMap 的 key 一致才能显示图标(BarChartOutlined = 📈)。
- -- 2. 二级菜单:患者费用明细统计(挂在「报表分析」下)
- INSERT INTO SQLUser.BS_DrgSystemMenu
- (MenuCode, MenuName, ParentID, MenuPath, MenuIcon, Component, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType, Permission, CreateDate, CreateTime, Remark)
- VALUES
- ('report-fee-detail', '患者费用明细统计',
- 'report', '/report/fee-detail', 'BarChartOutlined',
- 'pages/Report/PatientFeeDetail', 10, 2, 'Y', 'Y', 'Y', '02', 'report:fee-detail',
- CURRENT_DATE, CURRENT_TIME, '患者费用明细 / 按结算类别、按收费项目汇总统计(接口 02010411)');
- -- 注:Component 已随文件迁移由 pages/Profit/PatientFeeDetail 改为 pages/Report/PatientFeeDetail。
- -- 3. 处理旧的 profit-fee-detail 记录(避免导航出现两个入口)
- -- 方案 A(推荐,保留历史编码便于回溯):直接停用旧记录
- UPDATE SQLUser.BS_DrgSystemMenu
- SET IsVisible = 'N', IsActive = 'N', Remark = CONCAT('已迁移至 report-fee-detail(报表分析) - ', COALESCE(Remark, ''))
- WHERE MenuCode = 'profit-fee-detail';
- -- 方案 B(如需彻底清理):删除旧记录
- -- DELETE FROM SQLUser.BS_DrgSystemMenu WHERE MenuCode = 'profit-fee-detail';
- -- ⚠ 若存在按 MenuCode 关联的角色菜单权限数据(如 BS_DRGRoleMenu),删除前需同步迁移到 report-fee-detail,
- -- 否则已授权角色会丢失该菜单入口;采用方案 A(停用)则不影响权限数据。
- -- 4. 部署后验证
- SELECT MenuCode, MenuName, ParentID, MenuPath, Component, SeqNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType
- FROM SQLUser.BS_DrgSystemMenu
- WHERE MenuCode IN ('report', 'report-fee-detail', 'profit-fee-detail')
- ORDER BY MenuLevel, SeqNo;
- -- ============================================================
- -- 附:若当前环境使用的是 CB_Menu 菜单体系(而非 BS_DrgSystemMenu),请改用下面的语句
- -- CB_Menu 结构请以实际库为准,字段可能为 Code / MenuName / ParentCode / RoutePath / Component / SortNo / MenuLevel / IsLeaf / Active / Visible / MenuType
- -- ============================================================
- -- INSERT INTO SQLUser.CB_Menu (Code, Name, ParentCode, RoutePath, Icon, Component, SortNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType, Permission)
- -- VALUES ('report', '报表分析', '', '/report', 'BarChartOutlined', '', 45, 1, 'N', 'Y', 'Y', '01', 'report');
- --
- -- INSERT INTO SQLUser.CB_Menu (Code, Name, ParentCode, RoutePath, Icon, Component, SortNo, MenuLevel, IsLeaf, IsActive, IsVisible, MenuType, Permission)
- -- VALUES ('report-fee-detail', '患者费用明细统计', 'report', '/report/fee-detail', 'BarChartOutlined', 'pages/Report/PatientFeeDetail', 10, 2, 'Y', 'Y', 'Y', '02', 'report:fee-detail');
- --
- -- UPDATE SQLUser.CB_Menu SET IsVisible='N', IsActive='N' WHERE Code='profit-fee-detail';
|