Просмотр исходного кода

管理员选择人员信息报错处理

lizhenhao 2 лет назад
Родитель
Сommit
c5ac2ce782

+ 56 - 51
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -412,82 +412,87 @@ public class ReimbursementInfoService {
         // 查询部门
         List<TreeUserDto> officeList = infoMapper.findOfficeList();
         List<TreeUserDto> filterList = new ArrayList<>();
-        String parentIds = officeMapper.selectById(UserUtils.getCurrentUserDTO().getOfficeDTO().getId()).getParentIds();
-        String[] split = parentIds.split(",");
-        if(split.length>2){
-            // 公司id
-            String companyId = split[2];
-            // 过滤出登录人所属公司和集团
-            List<TreeUserDto> finalFilterList5 = filterList;
-            officeList.stream().forEach(o -> {
-                if (split[2].equals(o.getId())) {
-                    finalFilterList5.add(o);
-                } else if(split[1].equals(o.getId())) {
-                    finalFilterList5.add(o);
-                }
-            });
-            // 根据公司id找到其下部门
-            List<Office> oList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getParentId, companyId));
-            // 过滤出这些部门
-            List<TreeUserDto> finalFilterList4 = filterList;
-            oList.stream().forEach(item -> {
-                officeList.stream().forEach(o -> {
-                    if (item.getId().equals(o.getId())) {
-                        finalFilterList4.add(o);
-                    }
-                });
-            });
-            // 找到所有的公有部门
-            List<Office> publicOfficeList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getIsPublic, "1"));
-            // 过滤出这些部门
-            List<TreeUserDto> finalFilterList3 = filterList;
-            publicOfficeList.stream().forEach(item -> {
-                officeList.stream().forEach(o -> {
-                    if (item.getId().equals(o.getId())) {
-                        finalFilterList3.add(o);
-                    }
-                });
-            });
-        }else{
-            // 私有的
-            if ("0".equals(UserUtils.getCurrentUserDTO().getOfficeDTO().getIsPublic())) {
+        if (UserUtils.getCurrentUserDTO ().isAdmin ()) {
+            filterList = officeList;
+        } else {
+            String parentIds = officeMapper.selectById(UserUtils.getCurrentUserDTO().getOfficeDTO().getId()).getParentIds();
+            String[] split = parentIds.split(",");
+            if(split.length>2){
                 // 公司id
-                String companyId = UserUtils.getCurrentUserDTO().getOfficeDTO().getId();
+                String companyId = split[2];
                 // 过滤出登录人所属公司和集团
-                List<TreeUserDto> finalFilterList2 = filterList;
+                List<TreeUserDto> finalFilterList5 = filterList;
                 officeList.stream().forEach(o -> {
-                    if (companyId.equals(o.getId())) {
-                        finalFilterList2.add(o);
-                    } else if(split[1].equals(o.getId()) && !split[1].equals(companyId)) {
-                        finalFilterList2.add(o);
+                    if (split[2].equals(o.getId())) {
+                        finalFilterList5.add(o);
+                    } else if(split[1].equals(o.getId())) {
+                        finalFilterList5.add(o);
                     }
                 });
                 // 根据公司id找到其下部门
                 List<Office> oList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getParentId, companyId));
                 // 过滤出这些部门
-                List<TreeUserDto> finalFilterList1 = filterList;
+                List<TreeUserDto> finalFilterList4 = filterList;
                 oList.stream().forEach(item -> {
                     officeList.stream().forEach(o -> {
                         if (item.getId().equals(o.getId())) {
-                            finalFilterList1.add(o);
+                            finalFilterList4.add(o);
                         }
                     });
                 });
                 // 找到所有的公有部门
                 List<Office> publicOfficeList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getIsPublic, "1"));
                 // 过滤出这些部门
-                List<TreeUserDto> finalFilterList = filterList;
+                List<TreeUserDto> finalFilterList3 = filterList;
                 publicOfficeList.stream().forEach(item -> {
                     officeList.stream().forEach(o -> {
                         if (item.getId().equals(o.getId())) {
-                            finalFilterList.add(o);
+                            finalFilterList3.add(o);
                         }
                     });
                 });
-            } else {
-                filterList = officeList;
+            }else{
+                // 私有的
+                if ("0".equals(UserUtils.getCurrentUserDTO().getOfficeDTO().getIsPublic())) {
+                    // 公司id
+                    String companyId = UserUtils.getCurrentUserDTO().getOfficeDTO().getId();
+                    // 过滤出登录人所属公司和集团
+                    List<TreeUserDto> finalFilterList2 = filterList;
+                    officeList.stream().forEach(o -> {
+                        if (companyId.equals(o.getId())) {
+                            finalFilterList2.add(o);
+                        } else if(split[1].equals(o.getId()) && !split[1].equals(companyId)) {
+                            finalFilterList2.add(o);
+                        }
+                    });
+                    // 根据公司id找到其下部门
+                    List<Office> oList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getParentId, companyId));
+                    // 过滤出这些部门
+                    List<TreeUserDto> finalFilterList1 = filterList;
+                    oList.stream().forEach(item -> {
+                        officeList.stream().forEach(o -> {
+                            if (item.getId().equals(o.getId())) {
+                                finalFilterList1.add(o);
+                            }
+                        });
+                    });
+                    // 找到所有的公有部门
+                    List<Office> publicOfficeList = officeMapper.selectList(new QueryWrapper<Office>().lambda().eq(Office::getIsPublic, "1"));
+                    // 过滤出这些部门
+                    List<TreeUserDto> finalFilterList = filterList;
+                    publicOfficeList.stream().forEach(item -> {
+                        officeList.stream().forEach(o -> {
+                            if (item.getId().equals(o.getId())) {
+                                finalFilterList.add(o);
+                            }
+                        });
+                    });
+                } else {
+                    filterList = officeList;
+                }
             }
         }
+
         /*if (CollectionUtils.isNotEmpty(officeList)) {
             list.addAll(officeList);
         }*/