@Overridepublic List<DepartmentVo> findDeptTree(String hoscode) {List<DepartmentVo> result = new ArrayList<>();//根据医院编号,查询医院所有科室列表Department department = new Department() ;department.setHoscode(hoscode);Example example = Example.of(department);//所有科室信息List<Department> all = departmentRepository.findAll(example);//根据大科室编号 bigcode分组,获取每个大科室里面下级子科室Map<String, List<Department>> collect =all.stream().collect(Collectors.groupingBy(Department::getBigcode));//遍历map集合 departmentMapfor(Map.Entry<String,List<Department>> entry :collect.entrySet()){// 大科室编号String bigcode = entry.getKey();//大科室编号对应的全部数据List<Department> departmentList = entry.getValue();//封装大科室DepartmentVo departmentVo = new DepartmentVo() ;departmentVo.setDepcode(bigcode);departmentVo.setDepname(departmentList.get(0).getBigname());//封装小科室List<DepartmentVo> children = new ArrayList<>();for (Department department1 : departmentList) {DepartmentVo departmentVo1 = new DepartmentVo();departmentVo1.setDepcode(department1.getDepcode());departmentVo1.setDepname(department1.getDepname());//封装到list集合children.add(departmentVo1);}//把小科室list集合放到大科室children里面departmentVo.setChildren(children);//放到最终result里面result.add(departmentVo);}//返回return result;}
高血压专题网,内容丰富有趣,生活中的好帮手!