|
|
@@ -1881,47 +1881,39 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
private List<SysUserBaseVO> dataDivide(List<SysUserBaseVO> allUsersByHospitality) {
|
|
|
List<SysUserBaseVO> divideUserInfo = new ArrayList<>();
|
|
|
List<SysUser> userList = new ArrayList<>();
|
|
|
- String userId = BaseController.getUserId();
|
|
|
-// String userId = "99D1502";
|
|
|
- if ("admin".equals(userId) || "99D1501".equals(userId)) {
|
|
|
+ SysUser landerInfo = BaseController.getUser();
|
|
|
+ //超级管理员不做处理
|
|
|
+ if ("admin".equals(landerInfo.getId()) || "99D1501".equals(landerInfo.getId())) {
|
|
|
return allUsersByHospitality;
|
|
|
}
|
|
|
- SysUser sysUser = sysUserMapper.selectById(userId);
|
|
|
- if ("99D1502".equals(userId)) {
|
|
|
- List<SysUser> leaderUsers = sysUserMapper.selectByLeadId(userId);
|
|
|
- List<String> leaderInfoList = leaderUsers.stream()
|
|
|
- .filter(userInfo -> !StringUtils.isNullOrEmpty(userInfo) && StringUtils.isNotEmpty(userInfo.getId())
|
|
|
- && !userInfo.getId().contains("M"))
|
|
|
- .map(userInfo -> userInfo.getId()).collect(Collectors.toList());
|
|
|
- if (!StringUtils.isNullOrEmpty(leaderInfoList)) {
|
|
|
- QueryWrapper<SysUser> leaderIds = new QueryWrapper<SysUser>().in("leader_id", leaderInfoList);
|
|
|
- List<SysUser> sysUsers = sysUserMapper.selectList(leaderIds);
|
|
|
- userList.addAll(sysUsers);
|
|
|
- }
|
|
|
- userList.addAll(leaderUsers);
|
|
|
- } else if ("99D1502".equals(sysUser.getLeaderId())) {
|
|
|
- userList.add(sysUser);
|
|
|
- List<SysUser> leaderUsers = sysUserMapper.selectByLeadId(userId);
|
|
|
- userList.addAll(leaderUsers);
|
|
|
- } else {
|
|
|
- List<SysUser> sysUsers = sysUserMapper.selectByLeadId(sysUser.getLeaderId());
|
|
|
- SysUser loginUserLeader = sysUserMapper.selectById(sysUser.getLeaderId());
|
|
|
- userList.add(loginUserLeader);
|
|
|
+
|
|
|
+ //获取查询结果id
|
|
|
+ List<String> userIds = new ArrayList<>();
|
|
|
+ //查询登陆者组长信息
|
|
|
+ List<SysUser> sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), null, landerInfo.getLeaderId());
|
|
|
+ if (StringUtils.isNullOrEmpty(sysUsers) || sysUsers.size() < 1) {
|
|
|
+ userIds.add(landerInfo.getId());
|
|
|
+ //为空则登陆者为组长,id当做leaderID查询
|
|
|
+ sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getId(), null);
|
|
|
userList.addAll(sysUsers);
|
|
|
+ } else {
|
|
|
+ SysUser sysUser = sysUsers.get(0);
|
|
|
+ userList.add(sysUser);
|
|
|
+ List<SysUser> sysUserList = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getLeaderId(), null);
|
|
|
+ userList.addAll(sysUserList);
|
|
|
}
|
|
|
|
|
|
- userList.stream()
|
|
|
- .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getIdentity()))
|
|
|
- .forEach(user -> {
|
|
|
- allUsersByHospitality.stream()
|
|
|
- .filter(selectUser -> !StringUtils.isNullOrEmpty(selectUser) && StringUtils.isNotEmpty(selectUser.getIdentity())
|
|
|
- && user.getIdentity().equals(selectUser.getIdentity()))
|
|
|
- .forEach(selectUser -> {
|
|
|
- selectUser.setLeaderId(user.getLeaderId());
|
|
|
- selectUser.setLeaderName(user.getLeaderName());
|
|
|
- divideUserInfo.add(selectUser);
|
|
|
- });
|
|
|
- });
|
|
|
+ //获取查询结果id
|
|
|
+ userIds.addAll(userList.stream()
|
|
|
+ .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getId()))
|
|
|
+ .map(SysUser::getId)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+
|
|
|
+ divideUserInfo = allUsersByHospitality.stream()
|
|
|
+ .filter(allUser -> !StringUtils.isNullOrEmpty(allUser) && StringUtils.isNotEmpty(allUser.getLeaderId())
|
|
|
+ && userIds.contains(allUser.getLeaderId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
return divideUserInfo;
|
|
|
}
|
|
|
|