37 lines
2.3 KiB
SQL
37 lines
2.3 KiB
SQL
-- 工单 #4: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,'工单#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_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;
|