fix: 完善日计划作业视图与权限
This commit is contained in:
@@ -65,20 +65,49 @@ WHERE menu.id = COALESCE(
|
||||
AND menu.deleted=b'0'
|
||||
AND NOT EXISTS (SELECT 1 FROM system_menu existing WHERE existing.permission=permission.code AND existing.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 2093000000000000120, '日计划作业操作', 'lms:daily-plan:operate', 3, 1, menu.id,
|
||||
SELECT permission.id, permission.name, permission.code, 3, permission.sort, menu.id,
|
||||
'', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
|
||||
FROM system_menu menu
|
||||
CROSS JOIN (
|
||||
SELECT 2093000000000000120 id, 1 sort, '日计划作业操作' name, 'lms:daily-plan:operate' code
|
||||
UNION ALL SELECT 2093000000000000121, 2, '日计划作业查询', 'lms:daily-plan:query'
|
||||
UNION ALL SELECT 2093000000000000122, 3, '日计划作业启动', 'lms:daily-plan:start'
|
||||
UNION ALL SELECT 2093000000000000123, 4, '日计划作业排程', 'lms:daily-plan:schedule'
|
||||
UNION ALL SELECT 2093000000000000124, 5, '日计划作业策略', 'lms:daily-plan:strategy'
|
||||
) permission
|
||||
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');
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system_menu existing
|
||||
WHERE existing.parent_id=menu.id AND existing.permission=permission.code AND existing.deleted=b'0'
|
||||
);
|
||||
|
||||
-- 已授权日计划作业菜单的角色同步获得该页面全部按钮权限。
|
||||
INSERT INTO system_role_menu
|
||||
(role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id)
|
||||
SELECT DISTINCT work_role.role_id, button.id, '1', NOW(), '1', NOW(), b'0', work_role.tenant_id
|
||||
FROM system_role_menu work_role
|
||||
JOIN system_menu work_menu ON work_menu.id=work_role.menu_id
|
||||
AND work_menu.component='lms/daily-plan/work/index' AND work_menu.deleted=b'0'
|
||||
JOIN system_menu button ON button.parent_id=work_menu.id AND button.type=3 AND button.deleted=b'0'
|
||||
AND button.permission IN (
|
||||
'lms:daily-plan:query', 'lms:daily-plan:start', 'lms:daily-plan:operate',
|
||||
'lms:daily-plan:schedule', 'lms:daily-plan:strategy'
|
||||
)
|
||||
WHERE work_role.deleted=b'0'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system_role_menu existing
|
||||
WHERE existing.role_id=work_role.role_id AND existing.menu_id=button.id
|
||||
AND existing.tenant_id=work_role.tenant_id AND existing.deleted=b'0'
|
||||
);
|
||||
|
||||
-- 已授权管芯库现有子菜单的角色同步获得管芯库父目录权限。
|
||||
INSERT INTO system_role_menu
|
||||
|
||||
Reference in New Issue
Block a user