-- 原复诊接诊率页面和接口保持原算法,按指派周期统计使用独立菜单及权限。 -- 可重复执行;逐项继承原报表角色的对应权限,执行后刷新 AdminAuthCache。 SET @revisit_parent_id := (SELECT pid FROM zyt_system_menu WHERE perms = 'stats.revisitRate/overview' AND type = 'C' LIMIT 1); INSERT INTO zyt_system_menu (pid, type, name, icon, sort, perms, paths, component, selected, params, is_cache, is_show, is_disable, create_time, update_time) SELECT @revisit_parent_id, 'C', '按指派周期复诊率', '', 13, 'stats.revisitAssignRate/overview', '/stats/revisit_assign_rate', '/stats/revisit_assign_rate/index', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM DUAL WHERE @revisit_parent_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'stats.revisitAssignRate/overview'); SET @assign_rate_id := (SELECT id FROM zyt_system_menu WHERE perms = 'stats.revisitAssignRate/overview' AND type = 'C' LIMIT 1); INSERT INTO zyt_system_menu (pid, type, name, icon, sort, perms, paths, component, selected, params, is_cache, is_show, is_disable, create_time, update_time) SELECT @assign_rate_id, 'A', p.name, '', p.sort, p.perms, '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() FROM ( SELECT '指派周期统计-部门医助选项' AS name, 1 AS sort, 'stats.revisitAssignRate/deptOptions' AS perms UNION ALL SELECT '指派周期统计-患者明细', 2, 'stats.revisitAssignRate/assignLines' UNION ALL SELECT '指派周期统计-订单明细', 3, 'stats.revisitAssignRate/visitOrderLines' ) p WHERE @assign_rate_id IS NOT NULL AND NOT EXISTS (SELECT 1 FROM zyt_system_menu m WHERE m.perms = p.perms); INSERT IGNORE INTO zyt_system_role_menu (role_id, menu_id) SELECT DISTINCT rm.role_id, target.id FROM zyt_system_role_menu rm INNER JOIN zyt_system_menu original ON original.id = rm.menu_id INNER JOIN zyt_system_menu target ON target.perms = REPLACE(original.perms, 'stats.revisitRate/', 'stats.revisitAssignRate/') WHERE original.perms IN ('stats.revisitRate/overview', 'stats.revisitRate/deptOptions', 'stats.revisitRate/assignLines', 'stats.revisitRate/visitOrderLines');