Files
shanxia2.0/backend/scripts/migration_20260725_pl_tripartite_menus.sql
T

66 lines
2.1 KiB
SQL

-- 基础信息库:全部车辆/驾押人员拆分为三方与山峡四菜单
-- 三方车辆(原全部车辆信息)
UPDATE sys_menu
SET menu_name = '三方车辆', order_num = 2, remark = '承运商/三方车辆', update_time = NOW()
WHERE id = 'PL_VEHICLE' AND del_flag = 0;
-- 三方驾押人员(新建)
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_by, update_time, del_flag
) SELECT
'PL_PERSONNEL_CARRIER', '三方驾押人员', 'PL_GROUP_BASE', 'C',
'personnel-carrier', 'pl/personnel/index', 'pl:personnel-carrier:list',
1, '1', '1', 'shanxia2.0', 3, '非山峡驾押人员',
'system', '', NOW(), NULL, NOW(), 0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu WHERE id = 'PL_PERSONNEL_CARRIER' AND del_flag = 0
);
-- 山峡自有车辆
UPDATE sys_menu
SET order_num = 4, update_time = NOW()
WHERE id = 'PL_SELF_VEHICLE' AND del_flag = 0;
-- 山峡驾押人员(原驾押人员信息)
UPDATE sys_menu
SET menu_name = '山峡驾押人员', order_num = 5, update_time = NOW()
WHERE id = 'PL_DRIVER' AND del_flag = 0;
-- 运输地址库顺延
UPDATE sys_menu
SET order_num = 6, update_time = NOW()
WHERE id = 'PL_TRANSPORT_ADDRESS' AND del_flag = 0;
-- 拥有 PL_DRIVER 或 PL_VEHICLE 权限的角色,补全三方驾押人员菜单
INSERT INTO sys_role_menu (
id, role_id, menu_id, tenant_no, order_num, remark,
create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT DISTINCT
CONCAT('PLPCM_', SUBSTRING(MD5(CONCAT(rm.role_id, '-PL_PERSONNEL_CARRIER')), 1, 24)),
rm.role_id,
'PL_PERSONNEL_CARRIER',
COALESCE(rm.tenant_no, 'shanxia2.0'),
0,
'pl personnel carrier menu auto grant',
'system',
'',
NOW(),
NULL,
NOW(),
0
FROM sys_role_menu rm
WHERE rm.del_flag = 0
AND rm.menu_id IN ('PL_DRIVER', 'PL_VEHICLE')
AND NOT EXISTS (
SELECT 1
FROM sys_role_menu x
WHERE x.role_id = rm.role_id
AND x.menu_id = 'PL_PERSONNEL_CARRIER'
AND x.del_flag = 0
);