Prechádzať zdrojové kódy

待客录单新增运营中心领导人筛选数据逻辑

lyh 1 rok pred
rodič
commit
237cd7d985

+ 36 - 12
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1879,7 +1879,6 @@ 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<>();
         SysUser landerInfo = BaseController.getUser();
         //超级管理员不做处理
@@ -1889,18 +1888,43 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         //获取查询结果id
         List<String> userIds = new ArrayList<>();
-        //查询登陆者组长信息
-        List<SysUser> sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), null, landerInfo.getLeaderId());
-        if (StringUtils.isNullOrEmpty(sysUsers) || sysUsers.size() < 1) {
+        //如果登陆者部门所属总裁办,则进行是否是运营中心领导人逻辑的判断
+        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());
-            //为空则登陆者为组长,id当做leaderID查询
-            sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getId(), null);
-            userList.addAll(sysUsers);
+            //获取运营中心全部员工
+            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 {
-            SysUser sysUser = sysUsers.get(0);
-            userList.add(sysUser);
-            List<SysUser> sysUserList = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getLeaderId(), null);
-            userList.addAll(sysUserList);
+            //如果不属于运营中心则不展示数据
+            return new ArrayList<>();
         }
 
         //获取查询结果id
@@ -1909,7 +1933,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 .map(SysUser::getId)
                 .collect(Collectors.toList()));
 
-        divideUserInfo = allUsersByHospitality.stream()
+        List<SysUserBaseVO> divideUserInfo = allUsersByHospitality.stream()
                 .filter(allUser -> !StringUtils.isNullOrEmpty(allUser) && StringUtils.isNotEmpty(allUser.getLeaderId())
                         && userIds.contains(allUser.getLeaderId()))
                 .collect(Collectors.toList());