fix:78288
This commit is contained in:
@@ -326,16 +326,6 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
|
||||
List<SysUser> getUserListByDepIds(List<String> departIds);
|
||||
|
||||
/**
|
||||
* 内部工作组模糊搜索获取满足条件的用户id集合,全为空的话就返回空
|
||||
* @param realname 姓名
|
||||
* @param username 工号
|
||||
* @param userRoleName 角色
|
||||
* @param userPostName 职位
|
||||
* @return
|
||||
*/
|
||||
List<String> LawsWorkingGroupUserSearch(String realname, String username, String userRoleName, String userPostName);
|
||||
|
||||
/**
|
||||
* 根据username"登陆账号"返回"用户名(工号)"
|
||||
*/
|
||||
|
||||
-43
@@ -625,49 +625,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
return userMapper.getUserListByDepIds(departIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 内部工作组模糊搜索获取满足条件的用户id集合
|
||||
* @param userName 姓名
|
||||
* @param userWorkNo 工号
|
||||
* @param userRoleName 角色
|
||||
* @param userPostName 职位
|
||||
* @return 满足条件的用户id集合
|
||||
*/
|
||||
@Override
|
||||
public List<String> LawsWorkingGroupUserSearch(String userName, String userWorkNo, String userRoleName, String userPostName) {
|
||||
if (StringUtils.isAllBlank(userName, userWorkNo, userRoleName, userPostName)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
List<SysRole> roles = new ArrayList<>();
|
||||
List<String> userIds = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(userRoleName)) {
|
||||
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(SysRole::getRoleName, userRoleName);
|
||||
roles = sysRoleMapper.selectList(wrapper);
|
||||
if (roles.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<SysUserRole> sysUserRoles = sysUserRoleMapper.selectList(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roles.stream().map(SysRole::getId).collect(Collectors.toList())));
|
||||
if (sysUserRoles.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
userIds = sysUserRoles.stream().map(SysUserRole::getUserId).distinct().collect(Collectors.toList());
|
||||
if (userIds.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotBlank(userName), SysUser::getRealname, userName)
|
||||
.like(StringUtils.isNotBlank(userWorkNo), SysUser::getUsername, userWorkNo)
|
||||
.in(!userIds.isEmpty() && StringUtils.isNotBlank(userRoleName), SysUser::getId, userIds);
|
||||
// .like(StringUtils.isNotBlank(userPostName), SysUser::getPostName, userPostName); //目前没有岗位字段
|
||||
|
||||
List<SysUser> userRoles = list(wrapper);
|
||||
return userRoles.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNameNoByUsername(String userName) {
|
||||
if (StringUtils.isBlank(userName)){
|
||||
|
||||
+5
-5
@@ -209,7 +209,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
@AutoLog(value = "内部工作组人员关联表-导出")
|
||||
@ApiOperation(value="内部工作组人员关联表-导出", notes="内部工作组人员关联表-导出")
|
||||
@GetMapping(value = "/export")
|
||||
public Result<?> template(@RequestParam(required = false) String workingGroupId, @RequestParam(required = false) String userName, @RequestParam(required = false) String userWorkNo, @RequestParam(required = false) String userRoleName, @RequestParam(required = false) String userPostName, HttpServletRequest request, HttpServletResponse response) {
|
||||
public Result<?> template(@RequestParam(required = false) String workingGroupId, @RequestParam(required = false) String realname, @RequestParam(required = false) String username, @RequestParam(required = false) String userRoleName, @RequestParam(required = false) String userPostName, HttpServletRequest request, HttpServletResponse response) {
|
||||
if (StringUtils.isBlank(workingGroupId)){
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_A_WORKGROUP_TO_EXPORT);
|
||||
}
|
||||
@@ -228,10 +228,10 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
if (StringUtils.isNotBlank(selections)){
|
||||
dos = this.queryDataByUserId(selections);
|
||||
}
|
||||
if (StringUtils.isBlank(selections) && !StringUtils.isAllBlank(userName, userWorkNo, userRoleName, userPostName)){
|
||||
dos = this.queryDataByConditions(userName, userWorkNo, userRoleName, userPostName, workingGroupId);
|
||||
if (StringUtils.isBlank(selections) && !StringUtils.isAllBlank(realname, username, userRoleName, userPostName)){
|
||||
dos = this.queryDataByConditions(realname, username, userRoleName, userPostName, workingGroupId);
|
||||
}
|
||||
if (StringUtils.isBlank(selections) && StringUtils.isAllBlank(userName, userWorkNo, userRoleName, userPostName)){
|
||||
if (StringUtils.isBlank(selections) && StringUtils.isAllBlank(realname, username, userRoleName, userPostName)){
|
||||
dos = this.queryDataByTree(workingGroupId);
|
||||
}
|
||||
|
||||
@@ -264,7 +264,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
return lawsWorkingGroupUserService.listByIds(Arrays.asList(userId.split(",")));
|
||||
}
|
||||
private List<LawsWorkingGroupUser> queryDataByConditions(String userName, String userWorkNo, String userRoleName, String userPostName, String workingGroupId) {
|
||||
List<String> ids = sysUserService.LawsWorkingGroupUserSearch(userName, userWorkNo, userRoleName, userPostName);
|
||||
List<String> ids = lawsWorkingGroupUserService.lawsWorkingGroupUserSearch(userName, userWorkNo, userRoleName, userPostName);
|
||||
List<LawsWorkingGroupUser> list = new ArrayList<>();
|
||||
if (!ids.isEmpty()) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
+10
@@ -79,4 +79,14 @@ public interface ILawsWorkingGroupUserService extends IService<LawsWorkingGroupU
|
||||
* 为人员赋值姓名、工号、角色、岗位
|
||||
*/
|
||||
public void userAssignment(List<LawsWorkingGroupUser> list);
|
||||
|
||||
/**
|
||||
* 内部工作组模糊搜索获取满足条件的用户id集合,全为空的话就返回空
|
||||
* @param realname 姓名
|
||||
* @param username 工号
|
||||
* @param userRoleName 角色
|
||||
* @param userPostName 职位
|
||||
* @return
|
||||
*/
|
||||
List<String> lawsWorkingGroupUserSearch(String realname, String username, String userRoleName, String userPostName);
|
||||
}
|
||||
|
||||
+49
-1
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
@@ -27,6 +28,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -49,6 +52,7 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
@Autowired
|
||||
private ISysUserRoleService sysUserRoleService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询, TODO 改为一个联表查询不行吗??
|
||||
*/
|
||||
@@ -62,7 +66,7 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
String userPostName = lawsWorkingGroupUser.getUserPostName();
|
||||
String workingGroupId = lawsWorkingGroupUser.getWorkingGroupId();
|
||||
if (!StringUtils.isAllBlank(realname, userName, userRoleName, userPostName)){
|
||||
List<String> ids = sysUserService.LawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName);
|
||||
List<String> ids = lawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName);
|
||||
if (ids.isEmpty()){
|
||||
return new Page<>();
|
||||
}
|
||||
@@ -77,6 +81,50 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 内部工作组模糊搜索获取满足条件的用户id集合
|
||||
* @param userName 姓名
|
||||
* @param userWorkNo 工号
|
||||
* @param userRoleName 角色
|
||||
* @param userPostName 职位
|
||||
* @return 满足条件的用户id集合
|
||||
*/
|
||||
@Override
|
||||
public List<String> lawsWorkingGroupUserSearch(String userName, String userWorkNo, String userRoleName, String userPostName) {
|
||||
if (StringUtils.isAllBlank(userName, userWorkNo, userRoleName, userPostName)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
List<SysRole> roles;
|
||||
List<String> userIds = new ArrayList<>();
|
||||
userIds.add("-1");
|
||||
if (StringUtils.isNotBlank(userRoleName)) {
|
||||
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(SysRole::getRoleName, userRoleName);
|
||||
roles = sysRoleService.list(wrapper);
|
||||
if (roles.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<SysUserRole> sysUserRoles = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roles.stream().map(SysRole::getId).collect(Collectors.toList())));
|
||||
if (sysUserRoles.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
userIds = sysUserRoles.stream().map(SysUserRole::getUserId).distinct().collect(Collectors.toList());
|
||||
if (userIds.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotBlank(userName), SysUser::getRealname, userName)
|
||||
.like(StringUtils.isNotBlank(userWorkNo), SysUser::getUsername, userWorkNo)
|
||||
.in(!userIds.isEmpty() && StringUtils.isNotBlank(userRoleName), SysUser::getId, userIds)
|
||||
.like(StringUtils.isNotBlank(userPostName), SysUser::getPost, userPostName);
|
||||
|
||||
List<SysUser> userRoles = sysUserService.list(wrapper);
|
||||
return userRoles.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user