fix(pl): 按权限和路由定位计划用证菜单,兼容测试库已有菜单身份。

This commit is contained in:
wuzilong committed 2026-11-02 09:53:25 +08:00
1 parent 0eeb57f23d
commit baf16d49b9
1 file changed
+7 -4
@@ -20,17 +20,20 @@ WHERE parent.id='PL_MENU_ROOT' AND parent.del_flag=0 AND parent.tenant_no='shanx
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));
-- 计划用证菜单在不同环境使用不同 ID,按权限与路由定位并保留原身份。
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,
SET leaf.menu_name=CASE WHEN leaf.id='PL_QUOTA_CERT' THEN '证件建档'
WHEN leaf.perms='pl:plan-cert:list' AND leaf.path='plan-cert' THEN '计划段次用证' ELSE '合法使用证明' END,
leaf.order_num=CASE WHEN leaf.id='PL_QUOTA_CERT' THEN 1
WHEN leaf.perms='pl:plan-cert:list' AND leaf.path='plan-cert' 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');
AND (leaf.id IN ('PL_QUOTA_CERT','PL_LEGAL_USE_DOCUMENT')
OR (leaf.perms='pl:plan-cert:list' AND leaf.path='plan-cert'));
COMMIT;