南理工体育活动-创建联合工会菜单-设置管理员:新增‘体育活动联合工会管理员’角色(代替原来的工会管理员角色H04);
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
体育活动联合工会管理员角色初始化脚本
|
||||
说明:本脚本创建新角色、复制H04在指定体育活动菜单下的权限,并为现有联合工会的历史管理员补充新角色;不删除任何H04用户关系。
|
||||
*/
|
||||
|
||||
SET @sports_activity_union_admin_role_id = 'b72001e1783448edbba585b441955676';
|
||||
SET @h04_role_id = '5d342e614e9a48288d50154bcdcc75d3';
|
||||
|
||||
INSERT INTO sys_role
|
||||
(id, name, code, aliasName, disabled, note, createdBy, createdAt, updatedBy, updatedAt, delFlag)
|
||||
SELECT
|
||||
@sports_activity_union_admin_role_id,
|
||||
'体育活动联合工会管理员',
|
||||
'SportsActivityUnionAdmin',
|
||||
'体育活动联合工会管理员',
|
||||
0,
|
||||
'仅用于体育活动联合工会报名和管理,不属于组织机构H04角色',
|
||||
'',
|
||||
0,
|
||||
'',
|
||||
0,
|
||||
0
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys_role
|
||||
WHERE id = @sports_activity_union_admin_role_id
|
||||
OR code = 'SportsActivityUnionAdmin'
|
||||
);
|
||||
|
||||
INSERT INTO sys_role_menu (roleId, menuId)
|
||||
SELECT DISTINCT
|
||||
@sports_activity_union_admin_role_id,
|
||||
parent_menu.id
|
||||
FROM sys_menu parent_menu
|
||||
INNER JOIN sys_role_menu h04_parent
|
||||
ON h04_parent.menuId = parent_menu.id
|
||||
AND h04_parent.roleId = @h04_role_id
|
||||
WHERE EXISTS (
|
||||
SELECT 1
|
||||
FROM sys_menu target_menu
|
||||
INNER JOIN sys_role_menu h04_target
|
||||
ON h04_target.menuId = target_menu.id
|
||||
AND h04_target.roleId = @h04_role_id
|
||||
WHERE target_menu.path LIKE CONCAT(parent_menu.path, '%')
|
||||
AND (
|
||||
target_menu.permission = 'activity.apply'
|
||||
OR target_menu.permission LIKE 'activity.apply.%'
|
||||
OR target_menu.permission = 'activity.reading'
|
||||
OR target_menu.permission LIKE 'activity.reading.%'
|
||||
OR target_menu.permission = 'activity.union.apply'
|
||||
OR target_menu.permission LIKE 'activity.union.apply.%'
|
||||
OR target_menu.permission = 'activity.union.info'
|
||||
OR target_menu.permission LIKE 'activity.union.info.%'
|
||||
OR target_menu.permission = 'activity.basic.scope'
|
||||
OR target_menu.permission LIKE 'activity.basic.scope.%'
|
||||
OR target_menu.permission = 'activity.basic.user'
|
||||
OR target_menu.permission LIKE 'activity.basic.user.%'
|
||||
)
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys_role_menu current_role_menu
|
||||
WHERE current_role_menu.roleId = @sports_activity_union_admin_role_id
|
||||
AND current_role_menu.menuId = parent_menu.id
|
||||
);
|
||||
|
||||
/*
|
||||
为当前仍有组成单位的联合工会历史H04管理员补充体育活动专用角色。
|
||||
只新增缺失关系,不修改或删除原H04关系;重复执行不会重复插入。
|
||||
*/
|
||||
INSERT INTO sys_user_role (roleId, userId, unionid)
|
||||
SELECT DISTINCT
|
||||
@sports_activity_union_admin_role_id,
|
||||
historical_admin.userId,
|
||||
historical_admin.unionid
|
||||
FROM sys_user_role historical_admin
|
||||
INNER JOIN activity_basic_union activity_union
|
||||
ON activity_union.id = historical_admin.unionid
|
||||
WHERE historical_admin.roleId = @h04_role_id
|
||||
AND historical_admin.userId IS NOT NULL
|
||||
AND historical_admin.userId <> ''
|
||||
AND historical_admin.unionid IS NOT NULL
|
||||
AND historical_admin.unionid <> ''
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM activity_basic_unit activity_unit
|
||||
WHERE activity_unit.unionid = historical_admin.unionid
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM sys_user_role current_admin
|
||||
WHERE current_admin.roleId = @sports_activity_union_admin_role_id
|
||||
AND current_admin.userId = historical_admin.userId
|
||||
AND current_admin.unionid = historical_admin.unionid
|
||||
);
|
||||
Reference in New Issue
Block a user