Java Web层代码
/**
* 根据部门id查询一级部门id
* @return
*/
@GetMapping("/user/getDepartmentId")
public AjaxMessage getDepartmentId(HttpServletRequest request){
String depId = request.getParameter("depId");
String topLevelDepartmentId = getTopLevelDepartmentId(depId);
return AjaxMessage.ok(topLevelDepartmentId);
}
/**
* 根据部门获取一级部门id
* @param departmentId
* @return
*/
public String getTopLevelDepartmentId(String departmentId) {
Department department = departmentService.getDepartmentByDepId(departmentId); // 根据部门ID获取部门对象
if (department == null) {
return ""; // 部门不存在,或查询出错
}
// 根据一级部门的等级进行判断是否达到一级部门
if (department.getGrade() == 1 || department.getGrade() == 0) {
return department.getId(); // 已达到一级部门,返回部门ID
} else {
// 递归调用,传入父级部门对象进行下一级别的查询
return getTopLevelDepartmentId(departmentService.getDepartmentByDepId(department.getParentId()).getId());
}
}