云
2 天以前 657698fd2fb32794932474648dbaee9e284e38c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
-- 能耗完整菜单修复:1个目录、3个页面、9个按钮;可重复执行。
-- 仅修复能耗菜单,并补齐既有超级管理员(role_id=1)授权。
-- 预警表及通知模板需先执行 energy_alert_analysis_upgrade.sql。
START TRANSACTION;
SET @energy_root=(SELECT id FROM system_menu WHERE deleted=0 AND parent_id=0 AND path='/energy' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'能耗管理','',1,65,0,'/energy','lucide:zap','','',0,1,1,1,'1','1',0 FROM DUAL WHERE @energy_root IS NULL;
SET @energy_root=COALESCE(@energy_root,@energy_next);
UPDATE system_menu SET name='能耗管理',permission='',type=1,sort=65,parent_id=0,path='/energy',icon='lucide:zap',component='',component_name='',status=0,visible=1,keep_alive=1,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_root AND deleted=0;
 
SET @energy_record=(SELECT id FROM system_menu WHERE deleted=0 AND (permission='energy:record:query' OR (parent_id=@energy_root AND path='record')) ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'能耗记录','energy:record:query',2,1,@energy_root,'record','lucide:clipboard-list','energy/record/index','EnergyRecord',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_record IS NULL;
SET @energy_record=COALESCE(@energy_record,@energy_next);
UPDATE system_menu SET name='能耗记录',permission='energy:record:query',type=2,sort=1,parent_id=@energy_root,path='record',icon='lucide:clipboard-list',component='energy/record/index',component_name='EnergyRecord',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_record AND deleted=0;
 
SET @energy_analysis=(SELECT id FROM system_menu WHERE deleted=0 AND (permission='energy:analysis:query' OR (parent_id=@energy_root AND path='analysis')) ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'数据分析','energy:analysis:query',2,2,@energy_root,'analysis','lucide:chart-no-axes-combined','energy/analysis/index','EnergyAnalysis',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_analysis IS NULL;
SET @energy_analysis=COALESCE(@energy_analysis,@energy_next);
UPDATE system_menu SET name='数据分析',permission='energy:analysis:query',type=2,sort=2,parent_id=@energy_root,path='analysis',icon='lucide:chart-no-axes-combined',component='energy/analysis/index',component_name='EnergyAnalysis',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_analysis AND deleted=0;
 
SET @energy_alert=(SELECT id FROM system_menu WHERE deleted=0 AND (permission='energy:alert:query' OR (parent_id=@energy_root AND path='alert')) ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'能耗预警','energy:alert:query',2,3,@energy_root,'alert','lucide:bell-ring','energy/alert/index','EnergyAlert',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_alert IS NULL;
SET @energy_alert=COALESCE(@energy_alert,@energy_next);
UPDATE system_menu SET name='能耗预警',permission='energy:alert:query',type=2,sort=3,parent_id=@energy_root,path='alert',icon='lucide:bell-ring',component='energy/alert/index',component_name='EnergyAlert',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_alert AND deleted=0;
 
SET @energy_create=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:record:create' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'新增能耗记录','energy:record:create',3,1,@energy_record,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_create IS NULL;
SET @energy_create=COALESCE(@energy_create,@energy_next);
UPDATE system_menu SET name='新增能耗记录',permission='energy:record:create',type=3,sort=1,parent_id=@energy_record,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_create AND deleted=0;
 
SET @energy_update=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:record:update' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'修改能耗记录','energy:record:update',3,2,@energy_record,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_update IS NULL;
SET @energy_update=COALESCE(@energy_update,@energy_next);
UPDATE system_menu SET name='修改能耗记录',permission='energy:record:update',type=3,sort=2,parent_id=@energy_record,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_update AND deleted=0;
 
SET @energy_delete=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:record:delete' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'删除能耗记录','energy:record:delete',3,3,@energy_record,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_delete IS NULL;
SET @energy_delete=COALESCE(@energy_delete,@energy_next);
UPDATE system_menu SET name='删除能耗记录',permission='energy:record:delete',type=3,sort=3,parent_id=@energy_record,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_delete AND deleted=0;
 
SET @energy_export=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:record:export' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'导出能耗台账','energy:record:export',3,4,@energy_record,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_export IS NULL;
SET @energy_export=COALESCE(@energy_export,@energy_next);
UPDATE system_menu SET name='导出能耗台账',permission='energy:record:export',type=3,sort=4,parent_id=@energy_record,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_export AND deleted=0;
 
SET @energy_analysis_export=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:analysis:export' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'导出能耗分析','energy:analysis:export',3,1,@energy_analysis,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_analysis_export IS NULL;
SET @energy_analysis_export=COALESCE(@energy_analysis_export,@energy_next);
UPDATE system_menu SET name='导出能耗分析',permission='energy:analysis:export',type=3,sort=1,parent_id=@energy_analysis,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_analysis_export AND deleted=0;
 
SET @energy_alert_create=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:alert:create' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'新增预警规则','energy:alert:create',3,1,@energy_alert,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_alert_create IS NULL;
SET @energy_alert_create=COALESCE(@energy_alert_create,@energy_next);
UPDATE system_menu SET name='新增预警规则',permission='energy:alert:create',type=3,sort=1,parent_id=@energy_alert,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_alert_create AND deleted=0;
 
SET @energy_alert_update=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:alert:update' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'修改预警规则','energy:alert:update',3,2,@energy_alert,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_alert_update IS NULL;
SET @energy_alert_update=COALESCE(@energy_alert_update,@energy_next);
UPDATE system_menu SET name='修改预警规则',permission='energy:alert:update',type=3,sort=2,parent_id=@energy_alert,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_alert_update AND deleted=0;
 
SET @energy_alert_delete=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:alert:delete' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'删除预警规则','energy:alert:delete',3,3,@energy_alert,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_alert_delete IS NULL;
SET @energy_alert_delete=COALESCE(@energy_alert_delete,@energy_next);
UPDATE system_menu SET name='删除预警规则',permission='energy:alert:delete',type=3,sort=3,parent_id=@energy_alert,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_alert_delete AND deleted=0;
 
SET @energy_alert_check=(SELECT id FROM system_menu WHERE deleted=0 AND permission='energy:alert:check' ORDER BY id LIMIT 1);
SET @energy_next=(SELECT IFNULL(MAX(id),0)+1 FROM system_menu);
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater,deleted)
SELECT @energy_next,'检查预警 / 重试通知','energy:alert:check',3,4,@energy_alert,'','','','',0,1,0,1,'1','1',0 FROM DUAL WHERE @energy_alert_check IS NULL;
SET @energy_alert_check=COALESCE(@energy_alert_check,@energy_next);
UPDATE system_menu SET name='检查预警 / 重试通知',permission='energy:alert:check',type=3,sort=4,parent_id=@energy_alert,path='',icon='',component='',component_name='',status=0,visible=1,keep_alive=0,always_show=1,updater='1',update_time=NOW() WHERE id=@energy_alert_check AND deleted=0;
 
INSERT INTO system_role_menu(role_id,menu_id,creator,updater,deleted,tenant_id)
SELECT 1,m.id,'1','1',0,r.tenant_id FROM system_menu m JOIN system_role r ON r.id=1 AND r.deleted=0
WHERE m.deleted=0 AND (m.id=@energy_root OR m.permission LIKE 'energy:%')
AND NOT EXISTS(SELECT 1 FROM system_role_menu rm WHERE rm.role_id=1 AND rm.menu_id=m.id AND rm.deleted=0);
COMMIT;