-- 工单 #9:Web 用证管理五个视图;MySQL 5.7。保留菜单身份与授权,不恢复删除项。 SET NAMES utf8mb4; START TRANSACTION; INSERT INTO sys_menu ( id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status, tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag ) SELECT target.id,target.name,COALESCE(folder.id,parent.id),'C',target.path,target.component,'pl:quota-cert:list',1,'1','1', parent.tenant_no,target.sort_no,'工单#9:按合同与证件统计;不自动授权','system','',NOW(),NOW(),0 FROM sys_menu parent JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=parent.tenant_no AND root.del_flag=0 LEFT JOIN sys_menu folder ON folder.id='PL_GROUP_CERT' AND folder.parent_id=parent.id AND folder.tenant_no=parent.tenant_no AND folder.del_flag=0 CROSS JOIN ( SELECT 'PL_CONTRACT_QUOTA' id,'合同用证' name,'contract-quota' path,'pl/contract-quota/index' component,2 sort_no UNION ALL SELECT 'PL_CERTIFICATE_USAGE','证件用量','certificate-usage','pl/certificate-usage/index',3 ) target WHERE parent.id='PL_MENU_ROOT' AND parent.del_flag=0 AND parent.tenant_no='shanxia2.0' AND root.path='/web' AND root.parent_id='0' AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id=target.id OR (existing.tenant_no=parent.tenant_no AND existing.path=target.path)); UPDATE sys_menu leaf JOIN sys_menu parent ON parent.id='PL_MENU_ROOT' AND parent.tenant_no=leaf.tenant_no AND parent.del_flag=0 JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=parent.tenant_no AND root.del_flag=0 LEFT JOIN sys_menu folder ON folder.id=leaf.parent_id AND folder.id='PL_GROUP_CERT' AND folder.parent_id=parent.id AND folder.tenant_no=leaf.tenant_no AND folder.del_flag=0 SET leaf.menu_name=CASE leaf.id WHEN 'PL_QUOTA_CERT' THEN '证件建档' WHEN 'PL00000000000000000000000000015' THEN '计划段次用证' ELSE '合法使用证明' END, leaf.order_num=CASE leaf.id WHEN 'PL_QUOTA_CERT' THEN 1 WHEN 'PL00000000000000000000000000015' THEN 4 ELSE 5 END, leaf.update_time=NOW() WHERE leaf.tenant_no='shanxia2.0' AND leaf.del_flag=0 AND root.path='/web' AND root.parent_id='0' AND (leaf.parent_id=parent.id OR folder.id IS NOT NULL) AND leaf.id IN ('PL_QUOTA_CERT','PL00000000000000000000000000015','PL_LEGAL_USE_DOCUMENT'); COMMIT;