判断发起人是否在角色中
场景:在流程中需要判断发起人是否属于某个角色,如果属于,则走用户任务2,否则流转到用户任务4
用超级管理员做演示,超级管理员所属的角色有
- 用到的脚本
return scriptImpl.isUserInRole('用户账号','角色编码')
参数:用户账号,角色编码
返回值:true 、false
分支网关内的判断条件写法:
return scriptImpl.isUserInRole(wbbmrz.getString("name"),'ybyh')//在一般用户角色内
return !scriptImpl.isUserInRole(wbbmrz.getString("name"),'ybyh')//不在一般用户角色内
流程流转情况:可以看到,超级管理员在一般用户这个角色内,所以直接流转到用户任务2
同时判断多个角色
场景:判断发起人是否在两个角色其中一个内,若在其中一个角色中,则流转到用户任务2,若都不在两个角色内,流转到用户任务4
//若在其中一个角色内,流转到用户任务2
if((scriptImpl.isUserInRole(wbbmrz.getString("name"),'xzgly'))||(scriptImpl.isUserInRole(wbbmrz.getString("name"),'hwgly'))){
return true;
}else{
return false;
}
//若都不在两个角色中,流转到用户任务4
if(!(scriptImpl.isUserInRole(wbbmrz.getString("name"),'xzgly'))&&!(scriptImpl.isUserInRole(wbbmrz.getString("name"),'hwgly'))){
return true;
}else{
return false;
}
同样用超级管理员举例,超级管理员所属的角色中不包含 xzgly 和 hwgly,所以流程会流转到用户任务4中