|
@@ -1533,7 +1533,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
treeShowLevel.setShowLevel("subordinate");
|
|
treeShowLevel.setShowLevel("subordinate");
|
|
|
}
|
|
}
|
|
|
//获取领导字段不为空的人的ID
|
|
//获取领导字段不为空的人的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) {
|
|
if (users == null || users.size() == 0) {
|
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
@@ -1866,11 +1870,77 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public List<SysUserBaseVO> getAllUsersByHospitality(SysUserVOExt sysUserVOExt) {
|
|
public List<SysUserBaseVO> getAllUsersByHospitality(SysUserVOExt sysUserVOExt) {
|
|
|
if (StringUtils.isNotEmpty(sysUserVOExt.getUserId()) || StringUtils.isNotEmpty(sysUserVOExt.getIdentity()) ||
|
|
if (StringUtils.isNotEmpty(sysUserVOExt.getUserId()) || StringUtils.isNotEmpty(sysUserVOExt.getIdentity()) ||
|
|
|
StringUtils.isNotEmpty(sysUserVOExt.getMobile()) || StringUtils.isNotEmpty(sysUserVOExt.getName())) {
|
|
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>();
|
|
return new ArrayList<SysUserBaseVO>();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private List<SysUserBaseVO> dataDivide(List<SysUserBaseVO> allUsersByHospitality) {
|
|
|
|
|
+ List<SysUser> userList = new ArrayList<>();
|
|
|
|
|
+ SysUser landerInfo = BaseController.getUser();
|
|
|
|
|
+ //超级管理员不做处理
|
|
|
|
|
+ if ("admin".equals(landerInfo.getId()) || "99D1501".equals(landerInfo.getId())) {
|
|
|
|
|
+ return allUsersByHospitality;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //获取查询结果id
|
|
|
|
|
+ List<String> userIds = new ArrayList<>();
|
|
|
|
|
+ //如果登陆者部门所属总裁办,则进行是否是运营中心领导人逻辑的判断
|
|
|
|
|
+ if ("99D15".equals(landerInfo.getDeptId())) {
|
|
|
|
|
+ //判断登陆者下属是否所属运营中心
|
|
|
|
|
+ LambdaQueryWrapper<SysUser> getLanderBranch = new LambdaQueryWrapper<>();
|
|
|
|
|
+ getLanderBranch.notLike(SysUser::getId, "M")
|
|
|
|
|
+ .eq(SysUser::getDeptId, "9914D18")
|
|
|
|
|
+ .eq(SysUser::getLeaderId, landerInfo.getId());
|
|
|
|
|
+ List<SysUser> sysUserList = list(getLanderBranch);
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNullOrEmpty(sysUserList) || sysUserList.isEmpty()) {
|
|
|
|
|
+ //如果不属于运营中心则不展示数据
|
|
|
|
|
+ return new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+ userIds.add(landerInfo.getId());
|
|
|
|
|
+ //获取运营中心全部员工
|
|
|
|
|
+ LambdaQueryWrapper<SysUser> getOperationUser = new LambdaQueryWrapper<>();
|
|
|
|
|
+ getOperationUser.notLike(SysUser::getId, "M")
|
|
|
|
|
+ .eq(SysUser::getDeptId, "9914D18")
|
|
|
|
|
+ .isNotNull(SysUser::getLeaderId);
|
|
|
|
|
+ userList.addAll(list(getOperationUser));
|
|
|
|
|
+ } else if ("9914D18".equals(landerInfo.getDeptId())) {
|
|
|
|
|
+ //查询登陆者组长信息
|
|
|
|
|
+ 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);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //如果不属于运营中心则不展示数据
|
|
|
|
|
+ return new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //获取查询结果id
|
|
|
|
|
+ userIds.addAll(userList.stream()
|
|
|
|
|
+ .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getId()))
|
|
|
|
|
+ .map(SysUser::getId)
|
|
|
|
|
+ .collect(Collectors.toList()));
|
|
|
|
|
+
|
|
|
|
|
+ List<SysUserBaseVO> divideUserInfo = allUsersByHospitality.stream()
|
|
|
|
|
+ .filter(allUser -> !StringUtils.isNullOrEmpty(allUser) && StringUtils.isNotEmpty(allUser.getLeaderId())
|
|
|
|
|
+ && userIds.contains(allUser.getLeaderId()))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ return divideUserInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @version
|
|
* @version
|
|
|
* @author: hxl
|
|
* @author: hxl
|