平台默认在BIZ层的组织机构函数中提供了根据角色ID和角色Code获取相关组织的函数如下:

findOrgUnitsHasRole(String roldID, Object inOrg, Boolean isPersonMember)
获取拥有某个角色的组织单元
        findOrgUnitsHasRole('角色ID', '', true)
        findOrgUnitsHasRole('角色ID', currentOgnID(), false)
参数:String roldID 角色ID							
     Object inOrg 组织单元所在的组织, 允许三种情况: 空值, 表示不限制范围; 单个组织单元ID或FID(String类型); 多个组织单元ID或FID(String类型)形成的List; 						
     Boolean isPersonMember 是否取到人员成员
返回:List<OrgUnit>
				
findOrgUnitsHasRoleByCode(String roldCode, Object inOrg, Boolean isPersonMember)
获取拥有某个角色的组织单元 
        findOrgUnitsHasRoleByCode('角色code', '', true)
        findOrgUnitsHasRoleByCode('角色code', currentOgnID(), false
参数:String roldCode 角色的code 
     Object inOrg 组织单元所在的组织, 允许三种情况: 空值, 表示不限制范围; 单个组织单元ID或FID(String类型); 多个组织单元ID或FID(String类型)形成的List; 	
     Boolean isPersonMember> 是否取到人员成员
返回:List<OrgUnit>

这两个函数的实现分别调用的是的OrgUtils.findOrgUnitsHasRoleByCode(roleCode, inOrg, isPersonMember);
和OrgUtils.findOrgUnitsHasRole(roleID, inOrg, isPersonMember);
实现的,因此如果需要在action中根据角色获取组织的时候可以直接调用这两个API

如下是通过角色code获取拥有该角色的人员名称
action定义的java代码

public static void findPersonByRole(String roleCode){
		List<OrgUnit> orgUtils = OrgUtils.findOrgUnitsHasRoleByCode(roleCode, null, true);	
		for (OrgUnit person : orgUtils) {
			String fid = person.getFID();//获取人员成员sFID的值
			String fname = person.getFName();//获取人员成功sFName的值
			OrgUtils.getPersonNameByFName(fid, fname);//通过sFID和sFName或者人员名称sName
		}
}

js中调用action,并传入roleCode

Model.prototype.button8Click = function(event) {
		var roleCodes = this.getContext().getAllRoleCodes();// 获取操作者的所有角色的编码
		var params = new biz.Request.ActionParam();
		params.setString("roleCode", roleCodes[0]);// 给调用的action中的参数赋值
		biz.Request.sendBizRequest({
			context : this.getContext(),
			dataType : "json",
			action : "findPersonByRoleAction",
			parameters : params,
			callback : function(result) {
				if (result.state) {
					alert("调用成功");
				} else {
					throw new Error("调用失败!|" + result.response.message);
				}
			}
		});

	};