部门数以及部门下面的管理人(也可以说是员工)

mac2026-01-13  9

 controller层:

/** * 返回树形菜单集合 * * @return 树形菜单 */ @ApiOperation(value = "树形菜单集合", notes = "返回树形菜单集合") @GetMapping(value = "/tree") public R getTree() { return R.ok(sysDeptService.selectTree()); }

Impl:

@Override public List<DeptTree> selectTree() { return getDeptTree(this.list(Wrappers.emptyWrapper())); } private List<DeptTree> getDeptTree(List<SysDept> depts) { List<DeptTree> treeList = depts.stream() .filter(dept -> !dept.getDeptId().equals(dept.getParentId())) .sorted(Comparator.comparingInt(SysDept::getSort)) .map(dept -> { DeptTree node = new DeptTree(); QSysDeptLeader qSysDeptLeader = new QSysDeptLeader(); qSysDeptLeader.setDeptId(dept.getDeptId()); List<SysDeptLeader> leadersList = sysDeptLeaderService.list(CreateQuery.getQueryWrapper(qSysDeptLeader)); node.setId(dept.getDeptId()); node.setParentId(dept.getParentId()); node.setName(dept.getName()); node.setType(dept.getType()); if(dept.getDeptContact()!=null){ node.setDeptContact(dept.getDeptContact()); node.setPhone(dept.getPhone()); } for (int i = 0; i < leadersList.size(); i++) { String nickname = sysUserMapper.getByUserId(leadersList.get(i).getUserId(), dept.getDeptId()); leadersList.get(i).setNickname(nickname); } node.setLeadersList(leadersList); return node; }).collect(Collectors.toList()); return TreeUtil.build(treeList, 0); }

deptTree:

/** * 部门名称 */ @ApiModelProperty(value = "部门名称") private String name; /** * 部门类型 */ @ApiModelProperty(value = "部门类型") private String type; /** * 部门联系单位 */ @ApiModelProperty(value = "部门联系单位") private String deptContact; /** * 部门电话 */ @ApiModelProperty(value = "部门电话") private String phone; private List<SysDeptLeader> leadersList;//当前部门下的联系人

 

 

最新回复(0)