From d5ca4f0737618904f86218c894875ddf6bbe2a48 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Fri, 14 Aug 2026 15:29:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=B9=E9=BD=90=E6=97=A5=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=8F=9C=E5=8D=95=E7=BB=84=E4=BB=B6=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/mysql/lms_daily_plan_menu.sql | 45 ++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/sql/mysql/lms_daily_plan_menu.sql b/sql/mysql/lms_daily_plan_menu.sql index 6de01381..3cd5a358 100644 --- a/sql/mysql/lms_daily_plan_menu.sql +++ b/sql/mysql/lms_daily_plan_menu.sql @@ -1,23 +1,46 @@ -- LMS 日计划菜单及按钮权限,固定基础数据使用预留的 2093 号段。 +-- 兼容已经执行过旧组件路径的环境,优先修正固定菜单标识,也兼容按旧 component 匹配的数据。 +UPDATE system_menu +SET component = 'lms/daily-plan/management/index', + component_name = 'LmsDailyPlanManagement', + updater = '1', + update_time = NOW() +WHERE deleted = b'0' + AND (id = 2093000000000000100 OR component = 'lms/dailyplan/index'); + +UPDATE system_menu +SET component = 'lms/daily-plan/work/index', + component_name = 'LmsDailyPlanWork', + updater = '1', + update_time = NOW() +WHERE deleted = b'0' + AND (id = 2093000000000000101 OR component = 'lms/dailyplanwork/index'); + INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT 2093000000000000100, '日计划管理', '', 2, 20, parent.id, 'daily-plan', '', - 'lms/dailyplan/index', 'LmsDailyPlan', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' + 'lms/daily-plan/management/index', 'LmsDailyPlanManagement', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM system_menu parent JOIN system_menu lms ON lms.id = parent.parent_id AND lms.path = '/lms' AND lms.deleted = b'0' WHERE parent.path = 'tube-library' AND parent.deleted = b'0' - AND NOT EXISTS (SELECT 1 FROM system_menu WHERE component='lms/dailyplan/index' AND deleted=b'0'); + AND NOT EXISTS ( + SELECT 1 FROM system_menu + WHERE (id=2093000000000000100 OR component='lms/daily-plan/management/index') AND deleted=b'0' + ); INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT 2093000000000000101, '日计划作业', '', 2, 30, parent.id, 'daily-plan-work', '', - 'lms/dailyplanwork/index', 'LmsDailyPlanWork', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' + 'lms/daily-plan/work/index', 'LmsDailyPlanWork', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM system_menu parent JOIN system_menu lms ON lms.id = parent.parent_id AND lms.path = '/lms' AND lms.deleted = b'0' WHERE parent.path = 'tube-library' AND parent.deleted = b'0' - AND NOT EXISTS (SELECT 1 FROM system_menu WHERE component='lms/dailyplanwork/index' AND deleted=b'0'); + AND NOT EXISTS ( + SELECT 1 FROM system_menu + WHERE (id=2093000000000000101 OR component='lms/daily-plan/work/index') AND deleted=b'0' + ); -- 查询、新增、修改、启动和排程权限归属于日计划管理。 INSERT INTO system_menu @@ -34,7 +57,12 @@ CROSS JOIN ( UNION ALL SELECT 5, '日计划排程', 'lms:daily-plan:schedule' UNION ALL SELECT 6, '日计划策略', 'lms:daily-plan:strategy' ) permission -WHERE menu.component='lms/dailyplan/index' AND menu.deleted=b'0' +WHERE menu.id = COALESCE( + (SELECT fixed.id FROM system_menu fixed WHERE fixed.id=2093000000000000100 AND fixed.deleted=b'0'), + (SELECT MIN(fallback.id) FROM system_menu fallback + WHERE fallback.component='lms/daily-plan/management/index' AND fallback.deleted=b'0') + ) + AND menu.deleted=b'0' AND NOT EXISTS (SELECT 1 FROM system_menu existing WHERE existing.permission=permission.code AND existing.deleted=b'0'); -- 作业权限归属于日计划作业。 @@ -44,7 +72,12 @@ INSERT INTO system_menu SELECT 2093000000000000120, '日计划作业操作', 'lms:daily-plan:operate', 3, 1, menu.id, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM system_menu menu -WHERE menu.component='lms/dailyplanwork/index' AND menu.deleted=b'0' +WHERE menu.id = COALESCE( + (SELECT fixed.id FROM system_menu fixed WHERE fixed.id=2093000000000000101 AND fixed.deleted=b'0'), + (SELECT MIN(fallback.id) FROM system_menu fallback + WHERE fallback.component='lms/daily-plan/work/index' AND fallback.deleted=b'0') + ) + AND menu.deleted=b'0' AND NOT EXISTS (SELECT 1 FROM system_menu WHERE permission='lms:daily-plan:operate' AND deleted=b'0'); -- 已授权管芯库现有子菜单的角色同步获得管芯库父目录权限。