From 9d7ad46fe98534d5fb835b7dbd48d0460ca319ef Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期六, 07 十月 2023 20:58:51 +0800 Subject: [PATCH] 187234 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 63 insertions(+), 12 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java index c7a1608..8da6d16 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java @@ -30,6 +30,7 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * <p> @@ -295,6 +296,10 @@ // } catch (NullPointerException e) { // throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�"); // } + + List<ZInfoUser> myFamilyPeopleList = allPeopleList.stream().filter(people -> people.getUserId() != 1 && people.getIsMyFamily() == 1).collect(Collectors.toList()); + + result = allPeopleList.stream().filter(people -> people.getUserId() != 1 && (people.getFatherId() == 0 || people.getMomId() == 0) && people.getIsMyFamily() == 1) .map(people -> { if (depth > 1) { @@ -304,7 +309,7 @@ ZInfoUser spouse = zInfoUserService.getById(spouseId); spouse.setIdentity(1); people.setSpouse(spouse); - people.setChildList(fillChildren(people, allPeopleList, depth - 1)); + people.setChildList(fillChildren(people, myFamilyPeopleList, depth - 1)); } return people; }).collect(Collectors.toList()); @@ -321,16 +326,15 @@ */ public AjaxResult listWithTreeByCondition(Integer depth, Genealogy genealogy) { -// ZInfoUser zInfoUser = new ZInfoUser(); -// BeanUtils.copyProperties(genealogy, zInfoUser); -// LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); -// lqw.eq(zInfoUser.getIdentity() != null, ZInfoUser::getIdentity, zInfoUser.getIdentity()); -// lqw.eq(zInfoUser.getSex() != null, ZInfoUser::getSex, zInfoUser.getSex()); -// lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()), ZInfoUser::getNickName, zInfoUser.getNickName()); -// lqw.eq(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth()); + ZInfoUser zInfoUser = new ZInfoUser(); + BeanUtils.copyProperties(genealogy, zInfoUser); + LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); + lqw.eq(zInfoUser.getSex() != null, ZInfoUser::getSex, zInfoUser.getSex()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()), ZInfoUser::getNickName, zInfoUser.getNickName()); +// lqw.between(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth(),zInfoUser.getBirth()); -// List<ZInfoUser> allPeopleList = list(lqw); - List<ZInfoUser> allPeopleList = list(); + List<ZInfoUser> allPeopleList = list(lqw); +// List<ZInfoUser> allPeopleList = list(); List<ZInfoUser> result = null; try { result = allPeopleList.stream().filter(people -> people.getUserId() != 1 && (people.getFatherId() == 0 || people.getMomId() == 0)) @@ -369,6 +373,9 @@ // ) +// if(genealogy.getIdentity()!=null){ +// result = result.stream().filter(data -> data.getIdentity() == genealogy.getIdentity()).collect(Collectors.toList()); +// } return AjaxResult.success(result); @@ -394,13 +401,23 @@ if (zInfoUser.getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUser.getSpouseId()); + + Genealogy spouseInfo = new Genealogy(); + BeanUtils.copyProperties(spouse,spouseInfo); + newGenealogy.setSpouse(spouseInfo); + spouseInfo.setIdentity(newGenealogy.getIdentity()); + spouseInfo.setSpouseName(zInfoUser.getNickName()); newGenealogy.setSpouseName(spouse.getNickName()); } return newGenealogy; } ).collect(Collectors.toList()); - List<Genealogy> collect = allData.stream().distinct().sorted(Comparator.comparing(Genealogy::getIdentity)).collect(Collectors.toList()); + List<Genealogy> collect = allData.stream() + .distinct() + .filter((data)-> data.getIsMyFamily() == 1) + .sorted(Comparator.comparing(Genealogy::getIdentity)) + .collect(Collectors.toList()); List<Genealogy> resultData = new ArrayList<>(); for (int i = (pageNum - 1) * pageSize; i < pageNum * pageSize + pageSize; i++) { @@ -419,24 +436,42 @@ if(genealogy.getIdentity()!=null){ if(data.getIdentity()!=genealogy.getIdentity()){ it.remove(); + continue; } } if(genealogy.getNickName()!=null){ if(!data.getNickName().contains(genealogy.getNickName())){ it.remove(); + continue; } } if(genealogy.getSex()!=null){ if(data.getSex()!=genealogy.getSex()){ it.remove(); + continue; + } + } + + if(genealogy.getPhoneNumber()!=null){ + if(data.getPhoneNumber()!=genealogy.getPhoneNumber()){ + it.remove(); + continue; + } + } + + if(genealogy.getUnit()!=null){ + if(data.getUnit()!=genealogy.getUnit()){ + it.remove(); + continue; } } if(genealogy.getBirth()!=null){ - if(data.getBirth()!=genealogy.getBirth()){ + if(data.getBirth().compareTo(genealogy.getBirth())!=0){ it.remove(); + continue; } } } @@ -491,6 +526,11 @@ BeanUtils.copyProperties(zInfoUser, genealogy); if (zInfoUser.getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUser.getSpouseId()); + Genealogy spouseInfo = new Genealogy(); + BeanUtils.copyProperties(spouse,spouseInfo); + spouseInfo.setIdentity(genealogy.getIdentity()); + spouseInfo.setSpouseName(zInfoUser.getNickName()); + genealogy.setSpouse(spouseInfo); genealogy.setSpouseName(spouse.getNickName()); } result.add(genealogy); @@ -516,7 +556,13 @@ genealogy.setIdentity(params.get(i).getIdentity()); if (zInfoUsers.get(i).getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUsers.get(i).getSpouseId()); + Genealogy spouseInfo = new Genealogy(); + BeanUtils.copyProperties(spouse,spouseInfo); + spouseInfo.setIdentity(genealogy.getIdentity()); genealogy.setSpouseName(spouse.getNickName()); + spouseInfo.setSpouseName(zInfoUsers.get(i).getNickName()); + genealogy.setSpouse(spouseInfo); + } result.add(genealogy); @@ -657,6 +703,11 @@ // layer = layer + 1; System.out.println(depth); + +// List<ZInfoUser> myFamilyPeopleList = allPeopleList.stream().filter( +// one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) && (people.getIsMyFamily() == 1) +// ).collect(Collectors.toList()); + List<ZInfoUser> collect = allPeopleList.stream().filter( one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) && (people.getIsMyFamily() == 1) ).map( -- Gitblit v1.9.1