获取人员脚本计算
应用场景一:
能实现A公司的员工发起,能找到A公司下”商管秘书”。B公司的员工发起,能找到B公司下的“商管秘书”
共有三个步骤:
1.先判断该发起人是否在这个公司下
2.根据部门和关系找到符合的用户
3.判断这个关系下的用户是否有商管秘书这个角色
函数作用:fn:判断用户是否在指定组中
调用示例说明:
boolean result=OrgUserApi.isInGroup(userId,groupKey);
参数说明:
userId:java.lang.String, 用户Id
groupKey:java.lang.String, 用户组Key
函数作用:获取某个部门下的关系用户作为任务节点执行人
调用示例说明:
java.util.List result=OrgUserApi.getGroupIdRelKeyByUser(groupId,relKey);
参数说明:
groupId:java.lang.String, 组ID
relKey:java.lang.String, 组关系
示例
import com.redxun.dto.bpm.TaskExecutor;
import java.util.List;
import java.util.ArrayList;
if(OrgUserApi.isInGroup(vars.startUserId,"BXJT1")){
List<TaskExecutor> temp=new ArrayList<>();
List<TaskExecutor> list=OrgUserApi.getGroupIdRelKeyByUser("1330811186801557507","GROUP-USER-BELONG")
for (TaskExecutor obj:list){
if(OrgUserApi.isInGroup(obj.getId(),"sgms")){
temp.add(obj)
}
}
return temp;
}
if(OrgUserApi.isInGroup(vars.startUserId,"bx")){
List<TaskExecutor> temp=new ArrayList<>();
List<TaskExecutor> list=OrgUserApi.getGroupIdRelKeyByUser("1330871749732745218","GROUP-USER-BELONG")
for (TaskExecutor obj:list){
if(OrgUserApi.isInGroup(obj.getId(),"sgms")){
temp.add(obj)
}
}
return temp;
}
应用场景二:
计算某个节点的分管领导
两个步骤:
1.获取该节点的执行人,得到主部门对象,再获取该分管领导id
ps:该关系是否存在用户需要判断为空的情况
2.获取该关系下的用户
函数作用:根据组ID和关系获取下面的人员
java.util.List result=OrgUserApi.getUserByGroupIdRelKey(groupId,relKey);
参数说明:
groupId:java.lang.String, 组ID
relKey:java.lang.String, 组关系
示例
String data = OrgUserApi.getMainDep(OrgUserApi.getCurUserId()).getBranchDeptId();
if(data == null){
return null;
}
OrgUserApi.getUserByGroupIdRelKey(data,'GROUP-USER-LEADER');
文档更新时间: 2022-01-11 15:25 作者:刘宏桂