Files
shanxia2.0/docs/sql/migrations/2026-11-06-restore-transport-cert-menu-folder.sql
T

80 lines
2.2 KiB
SQL

-- 恢复 Web「运输证件管理」目录,并把五个证件页面挂回其下。
-- 不改子页面、按钮的权限码,不删除已有角色授权;仅为目录补齐已拥有任一子页面的角色。
-- MySQL 5.7。可重复执行。仅 shanxia2.0。
SET NAMES utf8mb4;
START TRANSACTION;
UPDATE sys_menu
SET menu_name='运输证件管理',
parent_id='PL_MENU_ROOT',
menu_type='M',
path='cert-upload',
visible='1',
status='1',
order_num=3,
del_flag=0,
remark='运输证件管理目录',
update_by='system',
update_time=NOW()
WHERE id='PL_GROUP_CERT'
AND tenant_no='shanxia2.0'
AND parent_id='PL_MENU_ROOT';
UPDATE sys_menu
SET parent_id='PL_GROUP_CERT',
order_num=CASE id
WHEN 'PL_QUOTA_CERT' THEN 1
WHEN 'PL_CONTRACT_QUOTA' THEN 2
WHEN 'PL_CERTIFICATE_USAGE' THEN 3
WHEN 'PL_PLAN_CERT' THEN 4
WHEN 'PL_CERT_READY' THEN 5
END,
update_by='system',
update_time=NOW()
WHERE tenant_no='shanxia2.0'
AND del_flag=0
AND menu_type='C'
AND id IN (
'PL_QUOTA_CERT',
'PL_CONTRACT_QUOTA',
'PL_CERTIFICATE_USAGE',
'PL_PLAN_CERT',
'PL_CERT_READY'
)
AND parent_id IN ('PL_MENU_ROOT', 'PL_GROUP_CERT');
INSERT INTO sys_role_menu (
id, role_id, menu_id, tenant_no, order_num, remark,
create_by, create_dept_id, create_time, update_time, del_flag
)
SELECT MD5(CONCAT(access_row.role_id, '|PL_GROUP_CERT|cert-folder|v1')),
access_row.role_id, 'PL_GROUP_CERT', access_row.tenant_no, 0,
'恢复运输证件管理目录:沿用已有子菜单角色',
'system', '', NOW(), NOW(), 0
FROM (
SELECT DISTINCT role_id, tenant_no
FROM sys_role_menu
WHERE del_flag=0
AND tenant_no='shanxia2.0'
AND menu_id IN (
'PL_QUOTA_CERT',
'PL_CONTRACT_QUOTA',
'PL_CERTIFICATE_USAGE',
'PL_PLAN_CERT',
'PL_CERT_READY'
)
) access_row
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu existing
WHERE existing.role_id=access_row.role_id
AND existing.menu_id='PL_GROUP_CERT'
AND existing.tenant_no=access_row.tenant_no
AND existing.del_flag=0
)
ON DUPLICATE KEY UPDATE
del_flag=0,
update_time=NOW(),
remark='恢复运输证件管理目录:沿用已有子菜单角色';
COMMIT;