天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1440|回复: 6

[已解决] dept.getUsers() 返回了该部门及其子部门所有人集合

[复制链接]
云南腾俊 发表于 2012-7-4 13:36:33 | 显示全部楼层 |阅读模式
本帖最后由 irene 于 2012-7-4 15:47 编辑

我只想要部门直属人员,怎么办,不想要n级子部门的人员。
bess 发表于 2012-7-4 13:40:54 | 显示全部楼层
本帖最后由 bess 于 2012-7-4 13:41 编辑

您好,关于您的问题,您可以类似参考这个帖子:
http://teemlink.com/bbs/viewthre ... hlight=%B2%BF%C3%C5
 楼主| 云南腾俊 发表于 2012-7-4 13:42:54 | 显示全部楼层
您好,您的方案还是得到了所有归属子部门的人员,我只要当前部门直属人员。
bess 发表于 2012-7-4 14:23:26 | 显示全部楼层
您好,我这边测试了一下,获取到的是直属部门下的用户的哦,我的代码如下:
var value ;     //部门名称
var user = getWebUser();
var depts = user.getDepartments();
for (var iter = depts.iterator(); iter.hasNext();) {
var dept = iter.next();
var users=dept.getUsers();
value=users.size();
   break;
}
value;
我获取的大小正好是直属部门下的直属用户的哦。
请您仔细检查您的代码。
 楼主| 云南腾俊 发表于 2012-7-4 15:06:46 | 显示全部楼层
本帖最后由 云南腾俊 于 2012-7-4 15:08 编辑

dept //一个dept对象。
var userslist = new Packages.java.util.ArrayList();
for (var it2=getUsersByDptId(dept.getId()).iterator(); it2.hasNext(); ){
        var user=null;                user=it2.next();
        for (it3=user.getRoles().iterator(); it3.hasNext();){
                role=null; role=it3.next();
                if(role.getName().indexOf("经理")>-1) userslist.add(user);
                if(role.getName().indexOf("总裁")>-1) userslist.add(user);
                if(role.getName().indexOf("董事长")>-1) userslist.add(user);
        }
}


以上代码将dept下面所有二级部门的经理都找出来了(除了dept本身的经理),亲。 什么问题
 楼主| 云南腾俊 发表于 2012-7-4 15:31:41 | 显示全部楼层
问题已经处理,是我获取 dept 的代码错误导致了,获取了跟多的dept了,sorry,可以结案。
purple 发表于 2012-7-4 16:09:36 | 显示全部楼层
好的,感谢楼主的反馈。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 13:12

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表