补齐证书齐备、证件折算、移动用证和合同绑定,并带上报销批量发放、付款备注以及个人开发流程升级,便于继续讨论已安排计划的调整规则。 Co-authored-by: Cursor <cursoragent@cursor.com>
88 lines
4.4 KiB
SQL
88 lines
4.4 KiB
SQL
-- 菜单改名,并把 Web「合法使用证明」从运输证件管理的页签提升为同级目录。
|
|
-- MySQL 5.7。只调整 shanxia2.0 的菜单名称、父子关系和排序,不恢复已软删除菜单,不改业务数据。
|
|
-- 可重复执行。已有「合法使用证明」角色保留,并补齐新目录授权。
|
|
SET NAMES utf8mb4;
|
|
START TRANSACTION;
|
|
|
|
UPDATE sys_menu
|
|
SET menu_name='运输证件管理', update_time=NOW()
|
|
WHERE tenant_no='shanxia2.0' AND del_flag=0 AND perms='mini:pl:plan-cert:list';
|
|
|
|
UPDATE sys_menu
|
|
SET menu_name='运输证件管理', update_time=NOW()
|
|
WHERE tenant_no='shanxia2.0' AND del_flag=0 AND menu_type='M'
|
|
AND parent_id='PL_MENU_ROOT' AND path='cert-upload';
|
|
|
|
UPDATE sys_menu
|
|
SET menu_name='人车证件提醒', update_time=NOW()
|
|
WHERE tenant_no='shanxia2.0' AND del_flag=0
|
|
AND (
|
|
id IN ('PL_GROUP_DOC', 'PL_DOC_REMINDER')
|
|
OR (menu_type='M' AND parent_id='PL_MENU_ROOT' AND path='document-reminder-module')
|
|
OR (menu_type='C' AND perms='pl:document:list' AND path='document-reminder')
|
|
);
|
|
|
|
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_GROUP_LEGAL', '合法使用证明', parent.id, 'M', 'legal-use-module', NULL, NULL,
|
|
1, '1', '1', parent.tenant_no, COALESCE(cert.order_num, plan_leaf.order_num, 3) + 1,
|
|
'待调整排序', '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 cert ON cert.parent_id=parent.id AND cert.tenant_no=parent.tenant_no AND cert.del_flag=0
|
|
AND cert.menu_type='M' AND cert.path='cert-upload'
|
|
LEFT JOIN sys_menu plan_leaf ON plan_leaf.parent_id=parent.id AND plan_leaf.tenant_no=parent.tenant_no
|
|
AND plan_leaf.del_flag=0 AND plan_leaf.menu_type='C' AND plan_leaf.perms='pl:plan-cert:list'
|
|
AND plan_leaf.path='plan-cert'
|
|
WHERE parent.id='PL_MENU_ROOT' AND parent.path='/pl' AND parent.del_flag=0 AND parent.tenant_no='shanxia2.0'
|
|
AND root.parent_id='0' AND root.path='/web' AND root.del_flag=0
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM sys_menu existing
|
|
WHERE existing.id='PL_GROUP_LEGAL'
|
|
OR (existing.tenant_no=parent.tenant_no AND existing.parent_id=parent.id
|
|
AND existing.path='legal-use-module' AND existing.del_flag=0)
|
|
);
|
|
|
|
UPDATE sys_menu sibling
|
|
JOIN sys_menu legal ON legal.id='PL_GROUP_LEGAL' AND legal.del_flag=0
|
|
AND legal.parent_id=sibling.parent_id AND legal.tenant_no=sibling.tenant_no
|
|
AND legal.remark='待调整排序'
|
|
SET sibling.order_num=sibling.order_num + 1, sibling.update_time=NOW()
|
|
WHERE sibling.tenant_no='shanxia2.0' AND sibling.del_flag=0
|
|
AND sibling.id<>'PL_GROUP_LEGAL' AND sibling.order_num>=legal.order_num;
|
|
|
|
UPDATE sys_menu
|
|
SET remark='与运输证件管理平级的合法使用证明', update_time=NOW()
|
|
WHERE id='PL_GROUP_LEGAL' AND tenant_no='shanxia2.0' AND del_flag=0 AND remark='待调整排序';
|
|
|
|
UPDATE sys_menu leaf
|
|
JOIN sys_menu folder ON folder.id='PL_GROUP_LEGAL' AND folder.tenant_no=leaf.tenant_no AND folder.del_flag=0
|
|
AND folder.menu_type='M' AND folder.parent_id='PL_MENU_ROOT'
|
|
SET leaf.parent_id=folder.id, leaf.order_num=1, leaf.update_time=NOW()
|
|
WHERE leaf.tenant_no='shanxia2.0' AND leaf.del_flag=0 AND leaf.menu_type='C'
|
|
AND leaf.perms='pl:legal-use-document:list' AND leaf.path='legal-use-document';
|
|
|
|
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, '|', folder.id, '|legal-use-sibling|v1')),
|
|
access_row.role_id, folder.id, access_row.tenant_no, 0,
|
|
'合法使用证明提升为同级菜单:补齐目录授权',
|
|
'system', '', NOW(), NOW(), 0
|
|
FROM sys_role_menu access_row
|
|
JOIN sys_menu leaf ON leaf.id=access_row.menu_id AND leaf.tenant_no=access_row.tenant_no AND leaf.del_flag=0
|
|
JOIN sys_menu folder ON folder.id='PL_GROUP_LEGAL' AND folder.tenant_no=leaf.tenant_no AND folder.del_flag=0
|
|
WHERE access_row.del_flag=0 AND access_row.tenant_no='shanxia2.0'
|
|
AND leaf.menu_type='C' AND leaf.perms='pl:legal-use-document:list' AND leaf.path='legal-use-document'
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM sys_role_menu existing
|
|
WHERE existing.role_id=access_row.role_id AND existing.menu_id=folder.id
|
|
AND existing.tenant_no=access_row.tenant_no AND existing.del_flag=0
|
|
)
|
|
ON DUPLICATE KEY UPDATE del_flag=0, update_time=NOW();
|
|
|
|
COMMIT;
|