-- 模块数据补录菜单补丁,可重复执行。 -- 顶级目录“数据补录” + 子菜单“模块数据补录”,前端组件 agent/dataEntry/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 next_id.id,'数据补录','',1,2,0,'/agent','ep:magic-stick','',NULL,0,b'1',b'0',b'1','1',NOW(),'1',NOW(),b'0' FROM (SELECT COALESCE(MAX(id),0)+1 AS id FROM system_menu) next_id WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE parent_id=0 AND path='/agent' 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 next_id.id,'模块数据补录','',2,1,parent.id,'data-entry','ep:chat-dot-round','agent/dataEntry/index','AgentDataEntry',0,b'1',b'0',b'1','1',NOW(),'1',NOW(),b'0' FROM system_menu parent CROSS JOIN (SELECT COALESCE(MAX(id),0)+1 AS id FROM system_menu) next_id WHERE parent.parent_id=0 AND parent.path='/agent' AND parent.deleted=b'0' AND NOT EXISTS (SELECT 1 FROM system_menu WHERE component='agent/dataEntry/index' AND deleted=b'0'); UPDATE system_menu SET status=0,visible=b'1',deleted=b'0',updater='1',update_time=NOW() WHERE (component='agent/dataEntry/index' OR (parent_id=0 AND path='/agent')) AND deleted<>b'0'; INSERT INTO system_role_menu (role_id,menu_id,creator,create_time,updater,update_time,deleted) SELECT r.id,m.id,'1',NOW(),'1',NOW(),b'0' FROM system_role r JOIN system_menu m ON m.deleted=b'0' AND (m.component='agent/dataEntry/index' OR (m.parent_id=0 AND m.path='/agent')) WHERE r.code='super_admin' AND r.deleted=b'0' AND NOT EXISTS (SELECT 1 FROM system_role_menu rm WHERE rm.role_id=r.id AND rm.menu_id=m.id);