|
|
@@ -1533,7 +1533,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
treeShowLevel.setShowLevel("subordinate");
|
|
|
}
|
|
|
//获取领导字段不为空的人的ID
|
|
|
- List<SysUser> users = lambdaQuery().isNotNull(SysUser::getLeaderId).list();
|
|
|
+ List<SysUser> users = lambdaQuery()
|
|
|
+ .isNotNull(SysUser::getLeaderId)
|
|
|
+ .ne(SysUser::getStatus, 0)
|
|
|
+ .list();
|
|
|
+ System.out.println(JSONObject.toJSONString(users));
|
|
|
|
|
|
if (users == null || users.size() == 0) {
|
|
|
return new ArrayList<>();
|
|
|
@@ -1866,11 +1870,61 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public List<SysUserBaseVO> getAllUsersByHospitality(SysUserVOExt sysUserVOExt) {
|
|
|
if (StringUtils.isNotEmpty(sysUserVOExt.getUserId()) || StringUtils.isNotEmpty(sysUserVOExt.getIdentity()) ||
|
|
|
StringUtils.isNotEmpty(sysUserVOExt.getMobile()) || StringUtils.isNotEmpty(sysUserVOExt.getName())) {
|
|
|
- return super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
|
|
|
+ List<SysUserBaseVO> allUsersByHospitality = super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
|
|
|
+ //数据隔离操作
|
|
|
+ List<SysUserBaseVO> divideUserInfo = this.dataDivide(allUsersByHospitality);
|
|
|
+ return divideUserInfo;
|
|
|
}
|
|
|
return new ArrayList<SysUserBaseVO>();
|
|
|
}
|
|
|
|
|
|
+ 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)) {
|
|
|
+ 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);
|
|
|
+ userList.addAll(sysUsers);
|
|
|
+ }
|
|
|
+
|
|
|
+ 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);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return divideUserInfo;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @version
|
|
|
* @author: hxl
|