ruoyi根据部门获取当前部门及以下部门的信息
时间: 2023-06-19 15:08:09 浏览: 349
RuoYi-activiti
在Ruoyi中,可以通过使用部门ID来获取当前部门及以下部门的信息。具体实现步骤如下:
1. 通过部门ID获取当前部门信息
```java
SysDept dept = deptService.selectDeptById(deptId);
```
2. 通过部门ID获取下级部门信息列表
```java
List<SysDept> deptList = deptService.selectDeptList(new SysDept(deptId));
```
3. 将当前部门信息和下级部门信息合并到一个列表中
```java
deptList.add(0, dept);
```
4. 使用递归函数获取所有下级部门信息,并将其添加到部门信息列表中
```java
List<SysDept> childDepts = getChildDepts(deptId, deptList);
deptList.addAll(childDepts);
```
完整代码示例:
```java
public List<SysDept> getChildDepts(Long deptId, List<SysDept> deptList) {
List<SysDept> childDepts = new ArrayList<>();
for (SysDept dept : deptList) {
if (dept.getParentId().equals(deptId)) {
childDepts.add(dept);
List<SysDept> grandchildDepts = getChildDepts(dept.getDeptId(), deptList);
childDepts.addAll(grandchildDepts);
}
}
return childDepts;
}
public List<SysDept> selectDeptListByDeptId(Long deptId) {
SysDept dept = deptService.selectDeptById(deptId);
List<SysDept> deptList = deptService.selectDeptList(new SysDept(deptId));
deptList.add(0, dept);
List<SysDept> childDepts = getChildDepts(deptId, deptList);
deptList.addAll(childDepts);
return deptList;
}
```
调用示例:
```java
List<SysDept> deptList = deptService.selectDeptListByDeptId(deptId);
```
阅读全文