diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index 192e522..97c3df7 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -1417,46 +1417,50 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect); List projectAndChildInfoList = projectAndChildInfoPageList.getRecords(); - List ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); - //1、获取带权限的所有数据2、过滤出含有特定责任单位的数据3、针对这些数据去统计 - //两个records最后合在一起,合完再排序 - //责任单位 - List dutyWorkplaceGroup = projectAndChildInfoList.stream().filter(x -> dutyWorkplaceList.contains(x.getDutyWorkplace())).collect(Collectors.toList()); - List dutyWorkplaceGroupIds = dutyWorkplaceGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); - List projectSummaryPageListByDuty = projectinfoMapper.getProjectSummaryPageListByDuty(dutyWorkplaceGroupIds); - for(ProjectSummaryOV p:projectSummaryPageListByDuty){ - List groupByDuty = dutyWorkplaceGroup.stream().filter(x -> x.getDutyWorkplace().equals(p.getDutyWorkplace())).collect(Collectors.toList()); - List projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); - String progress = this.countProgress(projectIds); - p.setProjectProgress(progress); - } - //区县 - List adminDivisionGroup = projectAndChildInfoList.stream().filter(x -> adminDivisionList.contains(x.getAdminDivision())).collect(Collectors.toList()); - List adminDivisionGroupIds = adminDivisionGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); - List projectSummaryPageListByDivision = projectinfoMapper.getProjectSummaryPageListByAdminDivision(adminDivisionGroupIds); - for(ProjectSummaryOV p:projectSummaryPageListByDivision){ - List groupByDuty = adminDivisionGroup.stream().filter(x -> x.getAdminDivision().equals(p.getAdminDivision())).collect(Collectors.toList()); - List projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); - String progress = this.countProgress(projectIds); - p.setProjectProgress(progress); - p.setDutyWorkplace(p.getAdminDivision()); - } + if(projectAndChildInfoList.size()>0){ + List ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); + //1、获取带权限的所有数据2、过滤出含有特定责任单位的数据3、针对这些数据去统计 + //两个records最后合在一起,合完再排序 + //责任单位 + List dutyWorkplaceGroup = projectAndChildInfoList.stream().filter(x -> dutyWorkplaceList.contains(x.getDutyWorkplace())).collect(Collectors.toList()); + List dutyWorkplaceGroupIds = dutyWorkplaceGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); + List projectSummaryPageListByDuty = projectinfoMapper.getProjectSummaryPageListByDuty(dutyWorkplaceGroupIds); + for(ProjectSummaryOV p:projectSummaryPageListByDuty){ + List groupByDuty = dutyWorkplaceGroup.stream().filter(x -> x.getDutyWorkplace().equals(p.getDutyWorkplace())).collect(Collectors.toList()); + List projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); + String progress = this.countProgress(projectIds); + p.setProjectProgress(progress); + } + //区县 + List adminDivisionGroup = projectAndChildInfoList.stream().filter(x -> adminDivisionList.contains(x.getAdminDivision())).collect(Collectors.toList()); + List adminDivisionGroupIds = adminDivisionGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); + List projectSummaryPageListByDivision = projectinfoMapper.getProjectSummaryPageListByAdminDivision(adminDivisionGroupIds); + for(ProjectSummaryOV p:projectSummaryPageListByDivision){ + List groupByDuty = adminDivisionGroup.stream().filter(x -> x.getAdminDivision().equals(p.getAdminDivision())).collect(Collectors.toList()); + List projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); + String progress = this.countProgress(projectIds); + p.setProjectProgress(progress); + p.setDutyWorkplace(p.getAdminDivision()); + } - List projectSummaryPageList=new ArrayList<>(); - projectSummaryPageList.addAll(projectSummaryPageListByDuty); - projectSummaryPageList.addAll(projectSummaryPageListByDivision); - //排序 - if(!orderBy.equals("")&&!orderDir.equals("")){ - List summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); - //手动分页 - int fromIndex = (pageNo - 1) * pageSize; - List currentPageData = summarySortedList.subList(fromIndex, Math.min(fromIndex + pageSize, summarySortedList.size())); - result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(summarySortedList.size()); + List projectSummaryPageList=new ArrayList<>(); + projectSummaryPageList.addAll(projectSummaryPageListByDuty); + projectSummaryPageList.addAll(projectSummaryPageListByDivision); + //排序 + if(!orderBy.equals("")&&!orderDir.equals("")){ + List summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); + //手动分页 + int fromIndex = (pageNo - 1) * pageSize; + List currentPageData = summarySortedList.subList(fromIndex, Math.min(fromIndex + pageSize, summarySortedList.size())); + result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(summarySortedList.size()); + }else { + //手动分页 + int fromIndex = (pageNo - 1) * pageSize; + List currentPageData = projectSummaryPageList.subList(fromIndex, Math.min(fromIndex + pageSize, projectSummaryPageList.size())); + result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(projectSummaryPageList.size()); + } }else { - //手动分页 - int fromIndex = (pageNo - 1) * pageSize; - List currentPageData = projectSummaryPageList.subList(fromIndex, Math.min(fromIndex + pageSize, projectSummaryPageList.size())); - result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(projectSummaryPageList.size()); + result.setSize(pageSize).setCurrent(pageNo).setRecords(Collections.emptyList()).setTotal(0); } return result; @@ -1472,28 +1476,33 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect); - List ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); - List projectSummaryPageList = projectinfoMapper.getProjectSummaryPageListByTask(ids); - for(ProjectSummaryOV p:projectSummaryPageList){ - List groupByTask = projectAndChildInfoPageList.getRecords().stream().filter(x -> x.getReformName().equals(p.getReformName()) && x.getSuperLeader().equals(p.getSuperLeader())).collect(Collectors.toList()); - List projectIds = groupByTask.stream().map(x -> x.getId()).collect(Collectors.toList()); - String progress = this.countProgress(projectIds); - p.setProjectProgress(progress); - } - //排序 - if(!orderBy.equals("")&&!orderDir.equals("")){ - List summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); - //手动分页 - int fromIndex = (pageNo - 1) * pageSize; - List currentPageData = summarySortedList.subList(fromIndex, Math.min(fromIndex + pageSize, summarySortedList.size())); - result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(summarySortedList.size()); - }else { - //手动分页 - int fromIndex = (pageNo - 1) * pageSize; - List currentPageData = projectSummaryPageList.subList(fromIndex, Math.min(fromIndex + pageSize, projectSummaryPageList.size())); - result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(projectSummaryPageList.size()); + if(projectAndChildInfoPageList.getRecords().size()>0){ + List ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); + List projectSummaryPageList = projectinfoMapper.getProjectSummaryPageListByTask(ids); + for(ProjectSummaryOV p:projectSummaryPageList){ + List groupByTask = projectAndChildInfoPageList.getRecords().stream().filter(x -> x.getReformName().equals(p.getReformName()) && x.getSuperLeader().equals(p.getSuperLeader())).collect(Collectors.toList()); + List projectIds = groupByTask.stream().map(x -> x.getId()).collect(Collectors.toList()); + String progress = this.countProgress(projectIds); + p.setProjectProgress(progress); + } + //排序 + if(!orderBy.equals("")&&!orderDir.equals("")){ + List summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); + //手动分页 + int fromIndex = (pageNo - 1) * pageSize; + List currentPageData = summarySortedList.subList(fromIndex, Math.min(fromIndex + pageSize, summarySortedList.size())); + result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(summarySortedList.size()); + }else { + //手动分页 + int fromIndex = (pageNo - 1) * pageSize; + List currentPageData = projectSummaryPageList.subList(fromIndex, Math.min(fromIndex + pageSize, projectSummaryPageList.size())); + result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(projectSummaryPageList.size()); + } + }else { + result.setSize(pageSize).setCurrent(pageNo).setRecords(Collections.emptyList()).setTotal(0); } + return result; }