/**
* 查询所有一级组织
* @return
*/
@GET
@Path("/list/top")
@GZIP
@Produces({MediaType.APPLICATION_XML})
public List<Unit> getTopList() {
//获得所有是其他组织单元的子组织单元的ID
Set<Long> allSunUnitIds = new HashSet<Long>();
List<SubUnit> subUnits = subUnitDao.findAll();
for(SubUnit subUnit : subUnits){
allSunUnitIds.add(subUnit.getSub().getId());
}
Iterable<Unit> allUnits = getService().getDao().findAll();
List<Unit> topUnits = new ArrayList<Unit>();
for(Unit unit : allUnits){
//如果是其他组织单元的子组织单元,那么排除掉
if(allSunUnitIds.contains(unit.getId())){
continue;
}
topUnits.add(unit);
}
return topUnits;
}
/**
* 获得子组织单元
* @param id
* @return
*/
@GET
@Path("/list/subunits/{id}")
@GZIP
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public List<Unit> findSubUnits(@PathParam("id") Long id){
Unit unit = getService().getDao().findOne(id);
return DirectoryHelper.getSubUnits(unit);
}
/**
* 获得组织单元所包含的人
* @param id
* @return
*/
@GET
@Path("/list/member/{id}")
@GZIP
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public List<Person> findMembers(@PathParam("id") Long id){
Unit unit = getService().getDao().findOne(id);
return DirectoryHelper.getMembers(unit);
}
* 查询所有一级组织
* @return
*/
@GET
@Path("/list/top")
@GZIP
@Produces({MediaType.APPLICATION_XML})
public List<Unit> getTopList() {
//获得所有是其他组织单元的子组织单元的ID
Set<Long> allSunUnitIds = new HashSet<Long>();
List<SubUnit> subUnits = subUnitDao.findAll();
for(SubUnit subUnit : subUnits){
allSunUnitIds.add(subUnit.getSub().getId());
}
Iterable<Unit> allUnits = getService().getDao().findAll();
List<Unit> topUnits = new ArrayList<Unit>();
for(Unit unit : allUnits){
//如果是其他组织单元的子组织单元,那么排除掉
if(allSunUnitIds.contains(unit.getId())){
continue;
}
topUnits.add(unit);
}
return topUnits;
}
/**
* 获得子组织单元
* @param id
* @return
*/
@GET
@Path("/list/subunits/{id}")
@GZIP
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public List<Unit> findSubUnits(@PathParam("id") Long id){
Unit unit = getService().getDao().findOne(id);
return DirectoryHelper.getSubUnits(unit);
}
/**
* 获得组织单元所包含的人
* @param id
* @return
*/
@GET
@Path("/list/member/{id}")
@GZIP
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public List<Person> findMembers(@PathParam("id") Long id){
Unit unit = getService().getDao().findOne(id);
return DirectoryHelper.getMembers(unit);
}