Commit aca177f4 authored by 施翔轲's avatar 施翔轲

修复查询部门列表时部门下是否有用户显示不正确的问题

parent 24249ebd
...@@ -41,7 +41,8 @@ public class SysDeptController extends BaseController { ...@@ -41,7 +41,8 @@ public class SysDeptController extends BaseController {
List<SysDept> depts = deptService.selectDeptList(dept); List<SysDept> depts = deptService.selectDeptList(dept);
List<SysDeptVo> deptVos = BeanUtil.copyToList(depts, SysDeptVo.class); List<SysDeptVo> deptVos = BeanUtil.copyToList(depts, SysDeptVo.class);
deptVos.forEach(sysDeptVo -> { deptVos.forEach(sysDeptVo -> {
sysDeptVo.setExistUsers(deptService.hasChildByDeptId(sysDeptVo.getDeptId())); //查询该部门及其子部门是否存在用户
sysDeptVo.setExistUsers(deptService.checkAllDeptsAndUsers(sysDeptVo.getDeptId()));
}); });
return R.ok(deptVos); return R.ok(deptVos);
} }
...@@ -56,7 +57,7 @@ public class SysDeptController extends BaseController { ...@@ -56,7 +57,7 @@ public class SysDeptController extends BaseController {
public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) { public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept()); List<SysDept> depts = deptService.selectDeptList(new SysDept());
depts.removeIf(d -> d.getDeptId().equals(deptId) depts.removeIf(d -> d.getDeptId().equals(deptId)
|| StringUtils.splitList(d.getAncestors()).contains(Convert.toStr(deptId))); || StringUtils.splitList(d.getAncestors()).contains(Convert.toStr(deptId)));
return R.ok(depts); return R.ok(depts);
} }
...@@ -99,7 +100,7 @@ public class SysDeptController extends BaseController { ...@@ -99,7 +100,7 @@ public class SysDeptController extends BaseController {
} else if (dept.getParentId().equals(deptId)) { } else if (dept.getParentId().equals(deptId)) {
return R.fail("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己"); return R.fail("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
} else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) } else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
&& deptService.selectNormalChildrenDeptById(deptId) > 0) { && deptService.selectNormalChildrenDeptById(deptId) > 0) {
return R.fail("该部门包含未停用的子部门!"); return R.fail("该部门包含未停用的子部门!");
} }
return toAjax(deptService.updateDept(dept)); return toAjax(deptService.updateDept(dept));
......
...@@ -71,18 +71,25 @@ public interface ISysDeptService { ...@@ -71,18 +71,25 @@ public interface ISysDeptService {
* 是否存在部门子节点 * 是否存在部门子节点
* *
* @param deptId 部门ID * @param deptId 部门ID
* @return 结果 * @return 结果 true 存在 false 不存在
*/ */
boolean hasChildByDeptId(Long deptId); boolean hasChildByDeptId(Long deptId);
/** /**
* 查询部门是否存在用户 * 查询部门是否存在用户
* *
* @param deptId 部门ID * @param deptId 部门ID
* @return 结果 true 存在 false 不存在 * @return 结果 true 存在 false 不存在
*/ */
boolean checkDeptExistUser(Long deptId); boolean checkDeptExistUser(Long deptId);
/**
* 查询该部门及其子部门是否存在用户
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
*/
Boolean checkAllDeptsAndUsers(Long deptId);
/** /**
* 校验部门名称是否唯一 * 校验部门名称是否唯一
* *
......
...@@ -8,9 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -8,9 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.dsk.common.constant.CacheNames; import com.dsk.common.constant.CacheNames;
import com.dsk.common.constant.UserConstants; import com.dsk.common.constant.UserConstants;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysRole;
import com.dsk.system.domain.SysUser;
import com.dsk.common.core.service.DeptService; import com.dsk.common.core.service.DeptService;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.DataBaseHelper; import com.dsk.common.helper.DataBaseHelper;
...@@ -19,6 +16,9 @@ import com.dsk.common.utils.StringUtils; ...@@ -19,6 +16,9 @@ import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.TreeBuildUtils; import com.dsk.common.utils.TreeBuildUtils;
import com.dsk.common.utils.redis.CacheUtils; import com.dsk.common.utils.redis.CacheUtils;
import com.dsk.common.utils.spring.SpringUtils; import com.dsk.common.utils.spring.SpringUtils;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysRole;
import com.dsk.system.domain.SysUser;
import com.dsk.system.mapper.SysDeptMapper; import com.dsk.system.mapper.SysDeptMapper;
import com.dsk.system.mapper.SysRoleMapper; import com.dsk.system.mapper.SysRoleMapper;
import com.dsk.system.mapper.SysUserMapper; import com.dsk.system.mapper.SysUserMapper;
...@@ -183,7 +183,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { ...@@ -183,7 +183,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
} }
/** /**
* 查询部门是否存在用户 * 查询部门是否存在用户
* *
* @param deptId 部门ID * @param deptId 部门ID
* @return 结果 true 存在 false 不存在 * @return 结果 true 存在 false 不存在
...@@ -194,6 +194,26 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { ...@@ -194,6 +194,26 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
.eq(SysUser::getDeptId, deptId)); .eq(SysUser::getDeptId, deptId));
} }
/**
* 查询该部门及其子部门是否存在用户
*
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
*/
@Override
public Boolean checkAllDeptsAndUsers(Long deptId) {
List<SysDept> childDeptList = baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>()
.eq(SysDept::getParentId, deptId));
if (!childDeptList.isEmpty()) {
for (SysDept sysDept : childDeptList) {
if (checkDeptExistUser(sysDept.getDeptId())) {
return true;
}
}
}
return checkDeptExistUser(deptId);
}
/** /**
* 校验部门名称是否唯一 * 校验部门名称是否唯一
* *
......
...@@ -149,19 +149,11 @@ public class SysMenuServiceImpl implements ISysMenuService { ...@@ -149,19 +149,11 @@ public class SysMenuServiceImpl implements ISysMenuService {
*/ */
@Override @Override
public List<SysMenu> selectMenuTreeByUserId(Long userId) { public List<SysMenu> selectMenuTreeByUserId(Long userId) {
List<SysMenu> menus = null; List<SysMenu> menus;
if (LoginHelper.isSuperAdmin(userId)) { if (LoginHelper.isSuperAdmin(userId)) {
//Sass超管 //Sass超管
menus = baseMapper.selectMenuTreeAll(); menus = baseMapper.selectMenuTreeAll();
} }else {
// else if (LoginHelper.isTenantAdmin()) {
// //租户管理员
// SysTenantVo sysTenantVo = tenantMapper.selectVoOne(new LambdaQueryWrapper<SysTenant>().eq(SysTenant::getTenantId, LoginHelper.getTenantId()));
// SysTenantPackageVo sysTenantPackageVo = tenantPackageMapper.selectVoOne(new LambdaQueryWrapper<SysTenantPackage>().eq(SysTenantPackage::getPackageId, sysTenantVo.getPackageId()));
// List<Long> menuIds = StringUtils.splitTo(sysTenantPackageVo.getMenuIds(), Convert::toLong);
// menus = baseMapper.selectBatchIds(menuIds);
// }
else {
//租户下的员工 //租户下的员工
menus = baseMapper.selectMenuTreeByUserId(userId); menus = baseMapper.selectMenuTreeByUserId(userId);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment