-- 工单 #4:共享证件档案与合法使用证明独立菜单。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,target.perms,1,'1','1', parent.tenant_no,target.sort_no,'工单#4:共享证件及独立资料','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_QUOTA_CERT' id,'购买证与运输证' name,'quota-cert' path,'pl/quota-cert/index' component,'pl:quota-cert:list' perms,2 sort_no UNION ALL SELECT 'PL_LEGAL_USE_DOCUMENT','合法使用证明','legal-use-document','pl/legal-use-document/index','pl:legal-use-document:list',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.perms=target.perms)); 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 'PL_QUOTA_CERT_EDIT','维护证件及适用范围',leaf.id,'F',NULL,NULL,'pl:quota-cert:edit',1,'1','1', leaf.tenant_no,1,'含建档、复核、合同产品范围维护;不自动授予角色','system','',NOW(),NOW(),0 FROM sys_menu leaf WHERE leaf.id='PL_QUOTA_CERT' AND leaf.tenant_no='shanxia2.0' AND leaf.del_flag=0 AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id='PL_QUOTA_CERT_EDIT' OR (existing.tenant_no=leaf.tenant_no AND existing.perms='pl:quota-cert:edit')); -- 旧计划资料入口改为用证配置;退役的齐备按钮仅隐藏,保留历史配置与角色关系。 UPDATE sys_menu SET menu_name='计划用证',update_time=NOW() WHERE tenant_no='shanxia2.0' AND del_flag=0 AND perms IN ('pl:plan-cert:list','mini:pl:plan-cert:list'); UPDATE sys_menu SET visible='0',status='0',update_time=NOW() WHERE tenant_no='shanxia2.0' AND del_flag=0 AND perms='pl:plan-cert:ready'; 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 'MINI_PL_LEGAL_USE_DOCUMENT','合法使用证明',parent.id,'C','mp-webview',NULL, 'mini:pl:legal-use-document:list',1,'1','1',parent.tenant_no,6, '小程序WebView合法使用证明;需另授业务查看和上传权限','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 WHERE parent.id='MINI_PL_ROOT' AND parent.path='/mini/pl' AND parent.del_flag=0 AND parent.tenant_no='shanxia2.0' AND root.path='/mini' AND root.parent_id='0' AND NOT EXISTS(SELECT 1 FROM sys_menu existing WHERE existing.id='MINI_PL_LEGAL_USE_DOCUMENT' OR (existing.tenant_no=parent.tenant_no AND existing.perms='mini:pl:legal-use-document:list')); COMMIT;