新增分析:实现管理驾驶舱聚合接口与可视化
This commit is contained in:
1 parent
992791b7bd
commit
f17526b409
23 files changed
+3077
-23
No files matched your search
@@ -0,0 +1,68 @@
|
||||
-- =============================================================================
|
||||
-- Migration: Analytics V1 Permissions & Legacy Menu Deactivation
|
||||
-- Target: KingbaseES, schema public
|
||||
-- Scope: Deactivate legacy dropped score menus, add attendance analytics menu & dashboard permissions
|
||||
-- =============================================================================
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- 1. Deactivate legacy score menus (2166, 2175, 2176)
|
||||
UPDATE public.sys_menu
|
||||
SET status = '1', visible = '1', update_by = 'admin', update_time = CURRENT_TIMESTAMP, remark = '已废弃旧表停用(V2架构)'
|
||||
WHERE menu_id IN (2166, 2175, 2176);
|
||||
|
||||
-- 2. Insert attendance analytics menu under '统计分析' (parent_id = 2169)
|
||||
INSERT INTO public.sys_menu
|
||||
(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache,
|
||||
menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2251, '考勤分析', 2169, 1, 'attendance', 'train/analysis/attendance/index', '', 1, 0,
|
||||
'C', '0', '0', 'train:analysis:attendance', 'chart', 'admin', CURRENT_TIMESTAMP, '', NULL, '考勤专题分析页面'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_menu WHERE menu_id = 2251);
|
||||
|
||||
-- 3. Insert attendance query button permission
|
||||
INSERT INTO public.sys_menu
|
||||
(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache,
|
||||
menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2252, '考勤分析查询', 2251, 1, '#', '', '', 1, 0,
|
||||
'F', '0', '0', 'train:analysis:attendance:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, '考勤分析数据查询'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_menu WHERE menu_id = 2252);
|
||||
|
||||
-- 4. Insert dashboard button permission
|
||||
INSERT INTO public.sys_menu
|
||||
(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache,
|
||||
menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2253, '管理驾驶舱', 2169, 0, '#', '', '', 1, 0,
|
||||
'F', '0', '0', 'train:analysis:dashboard', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, '管理端驾驶舱权限'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_menu WHERE menu_id = 2253);
|
||||
|
||||
-- 5. Grant permissions to train_admin role (role_id = 3)
|
||||
INSERT INTO public.sys_role_menu (role_id, menu_id)
|
||||
SELECT 3, 2251
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_role_menu WHERE role_id = 3 AND menu_id = 2251);
|
||||
|
||||
INSERT INTO public.sys_role_menu (role_id, menu_id)
|
||||
SELECT 3, 2252
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_role_menu WHERE role_id = 3 AND menu_id = 2252);
|
||||
|
||||
INSERT INTO public.sys_role_menu (role_id, menu_id)
|
||||
SELECT 3, 2253
|
||||
WHERE NOT EXISTS (SELECT 1 FROM public.sys_role_menu WHERE role_id = 3 AND menu_id = 2253);
|
||||
|
||||
-- 6. Verification
|
||||
DO $$
|
||||
BEGIN
|
||||
IF (SELECT count(*) FROM public.sys_menu WHERE menu_id = 2251 AND perms = 'train:analysis:attendance') <> 1 THEN
|
||||
RAISE EXCEPTION 'Menu 2251 verification failed';
|
||||
END IF;
|
||||
IF (SELECT count(*) FROM public.sys_menu WHERE menu_id = 2252 AND perms = 'train:analysis:attendance:query') <> 1 THEN
|
||||
RAISE EXCEPTION 'Menu 2252 verification failed';
|
||||
END IF;
|
||||
IF (SELECT count(*) FROM public.sys_menu WHERE menu_id = 2253 AND perms = 'train:analysis:dashboard') <> 1 THEN
|
||||
RAISE EXCEPTION 'Menu 2253 verification failed';
|
||||
END IF;
|
||||
IF (SELECT count(*) FROM public.sys_role_menu WHERE role_id = 3 AND menu_id IN (2251, 2252, 2253)) <> 3 THEN
|
||||
RAISE EXCEPTION 'Role assignment verification failed';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user