diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index 71c52e66f..d6c91eec1 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -20,7 +20,6 @@ package com.bsd.pjcloud.admin.controller; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -247,10 +246,10 @@ public class SysUserController { * @return */ @ResponseExcel - @GetMapping("/export") + @PostMapping("/export") @HasPermission("sys_user_export") - public List export(UserDTO userDTO, Long[] ids) { - return userService.listUser(userDTO, ids); + public List export(@RequestBody UserDTO userDTO) { + return userService.listUser(userDTO, null); } /** @@ -380,11 +379,11 @@ public class SysUserController { @GetMapping("/getSimpleUserAll") @Schema(description = "简要用户信息") - public R> getSimpleUserAllList(@RequestParam(value = "mobile",required = false) String mobile, - @RequestParam(value = "name",required = false) String name){ + public R> getSimpleUserAllList(@RequestParam(value = "mobile", required = false) String mobile, + @RequestParam(value = "name", required = false) String name) { LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); - sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(mobile),SysUser::getPhone,mobile); - sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(name),SysUser::getName,name); + sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(mobile), SysUser::getPhone, mobile); + sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(name), SysUser::getName, name); List list = userService.listScope(sysUserLambdaQueryWrapper); return R.ok(list); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index df9fe7bca..fd637c1a1 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -220,6 +220,7 @@ public class SysUserServiceImpl extends ServiceImpl impl */ @Override public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { + // 部门 if (ObjectUtil.isNotEmpty(userDTO.getIsDeepDept()) && userDTO.getIsDeepDept() && ObjectUtil.isNotEmpty(userDTO.getDeptId())) { List deptList = sysDeptService.listDescendant(userDTO.getDeptId()); userDTO.setDeptId(null); @@ -227,6 +228,9 @@ public class SysUserServiceImpl extends ServiceImpl impl userDTO.setDeptIds(deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList())); } } + if (ObjectUtil.isNotEmpty(userDTO.getDeptIds())) { + userDTO.setDeptId(null); + } IPage list = baseMapper.getUserVosPage(page, userDTO, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { List userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList(); @@ -363,6 +367,17 @@ public class SysUserServiceImpl extends ServiceImpl impl */ @Override public List listUser(UserDTO userDTO, Long[] ids) { + // 部门 + if (ObjectUtil.isNotEmpty(userDTO.getIsDeepDept()) && userDTO.getIsDeepDept() && ObjectUtil.isNotEmpty(userDTO.getDeptId())) { + List deptList = sysDeptService.listDescendant(userDTO.getDeptId()); + userDTO.setDeptId(null); + if (ObjectUtil.isNotEmpty(deptList)) { + userDTO.setDeptIds(deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList())); + } + } + if (ObjectUtil.isNotEmpty(userDTO.getDeptIds())) { + userDTO.setDeptId(null); + } // 根据数据权限查询全部的用户信息 List voList = baseMapper.selectVoListByScope(userDTO, ids, DataScope.of()); // 转换成execl 对象输出 @@ -768,7 +783,7 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public List listScope(LambdaQueryWrapper sysUserLambdaQueryWrapper) { - List sysUsers = baseMapper.selectListByScope(sysUserLambdaQueryWrapper,DataScope.of()); + List sysUsers = baseMapper.selectListByScope(sysUserLambdaQueryWrapper, DataScope.of()); List collect = sysUsers.stream().map(sysUser -> { SimpleUserAllListVO vo = new SimpleUserAllListVO(); vo.setId(sysUser.getUserId()); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml index f49b9b596..0f850493a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -247,9 +247,15 @@ AND u.dept_id = #{query.deptId} - + + AND u.dept_id in + + #{id} + + + AND u.user_id in - + #{id}