获取人员脚本计算

应用场景一:

能实现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   作者:刘宏桂