|
|
@ -1417,46 +1417,50 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM |
|
|
|
Page page = new Page(1, 10000); |
|
|
|
Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect); |
|
|
|
List<HuzhouProjectinfoOV> projectAndChildInfoList = projectAndChildInfoPageList.getRecords(); |
|
|
|
List<String> ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
//1、获取带权限的所有数据2、过滤出含有特定责任单位的数据3、针对这些数据去统计
|
|
|
|
//两个records最后合在一起,合完再排序
|
|
|
|
//责任单位
|
|
|
|
List<HuzhouProjectinfoOV> dutyWorkplaceGroup = projectAndChildInfoList.stream().filter(x -> dutyWorkplaceList.contains(x.getDutyWorkplace())).collect(Collectors.toList()); |
|
|
|
List<String> dutyWorkplaceGroupIds = dutyWorkplaceGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageListByDuty = projectinfoMapper.getProjectSummaryPageListByDuty(dutyWorkplaceGroupIds); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageListByDuty){ |
|
|
|
List<HuzhouProjectinfoOV> groupByDuty = dutyWorkplaceGroup.stream().filter(x -> x.getDutyWorkplace().equals(p.getDutyWorkplace())).collect(Collectors.toList()); |
|
|
|
List<String> projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
String progress = this.countProgress(projectIds); |
|
|
|
p.setProjectProgress(progress); |
|
|
|
} |
|
|
|
//区县
|
|
|
|
List<HuzhouProjectinfoOV> adminDivisionGroup = projectAndChildInfoList.stream().filter(x -> adminDivisionList.contains(x.getAdminDivision())).collect(Collectors.toList()); |
|
|
|
List<String> adminDivisionGroupIds = adminDivisionGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageListByDivision = projectinfoMapper.getProjectSummaryPageListByAdminDivision(adminDivisionGroupIds); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageListByDivision){ |
|
|
|
List<HuzhouProjectinfoOV> groupByDuty = adminDivisionGroup.stream().filter(x -> x.getAdminDivision().equals(p.getAdminDivision())).collect(Collectors.toList()); |
|
|
|
List<String> 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<String> ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
//1、获取带权限的所有数据2、过滤出含有特定责任单位的数据3、针对这些数据去统计
|
|
|
|
//两个records最后合在一起,合完再排序
|
|
|
|
//责任单位
|
|
|
|
List<HuzhouProjectinfoOV> dutyWorkplaceGroup = projectAndChildInfoList.stream().filter(x -> dutyWorkplaceList.contains(x.getDutyWorkplace())).collect(Collectors.toList()); |
|
|
|
List<String> dutyWorkplaceGroupIds = dutyWorkplaceGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageListByDuty = projectinfoMapper.getProjectSummaryPageListByDuty(dutyWorkplaceGroupIds); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageListByDuty){ |
|
|
|
List<HuzhouProjectinfoOV> groupByDuty = dutyWorkplaceGroup.stream().filter(x -> x.getDutyWorkplace().equals(p.getDutyWorkplace())).collect(Collectors.toList()); |
|
|
|
List<String> projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
String progress = this.countProgress(projectIds); |
|
|
|
p.setProjectProgress(progress); |
|
|
|
} |
|
|
|
//区县
|
|
|
|
List<HuzhouProjectinfoOV> adminDivisionGroup = projectAndChildInfoList.stream().filter(x -> adminDivisionList.contains(x.getAdminDivision())).collect(Collectors.toList()); |
|
|
|
List<String> adminDivisionGroupIds = adminDivisionGroup.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageListByDivision = projectinfoMapper.getProjectSummaryPageListByAdminDivision(adminDivisionGroupIds); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageListByDivision){ |
|
|
|
List<HuzhouProjectinfoOV> groupByDuty = adminDivisionGroup.stream().filter(x -> x.getAdminDivision().equals(p.getAdminDivision())).collect(Collectors.toList()); |
|
|
|
List<String> projectIds = groupByDuty.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
String progress = this.countProgress(projectIds); |
|
|
|
p.setProjectProgress(progress); |
|
|
|
p.setDutyWorkplace(p.getAdminDivision()); |
|
|
|
} |
|
|
|
|
|
|
|
List<ProjectSummaryOV> projectSummaryPageList=new ArrayList<>(); |
|
|
|
projectSummaryPageList.addAll(projectSummaryPageListByDuty); |
|
|
|
projectSummaryPageList.addAll(projectSummaryPageListByDivision); |
|
|
|
//排序
|
|
|
|
if(!orderBy.equals("")&&!orderDir.equals("")){ |
|
|
|
List<ProjectSummaryOV> summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); |
|
|
|
//手动分页
|
|
|
|
int fromIndex = (pageNo - 1) * pageSize; |
|
|
|
List<ProjectSummaryOV> currentPageData = summarySortedList.subList(fromIndex, Math.min(fromIndex + pageSize, summarySortedList.size())); |
|
|
|
result.setSize(pageSize).setCurrent(pageNo).setRecords(currentPageData).setTotal(summarySortedList.size()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageList=new ArrayList<>(); |
|
|
|
projectSummaryPageList.addAll(projectSummaryPageListByDuty); |
|
|
|
projectSummaryPageList.addAll(projectSummaryPageListByDivision); |
|
|
|
//排序
|
|
|
|
if(!orderBy.equals("")&&!orderDir.equals("")){ |
|
|
|
List<ProjectSummaryOV> summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); |
|
|
|
//手动分页
|
|
|
|
int fromIndex = (pageNo - 1) * pageSize; |
|
|
|
List<ProjectSummaryOV> 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<ProjectSummaryOV> 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<ProjectSummaryOV> 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<HuzhouProjectinfoM |
|
|
|
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo); |
|
|
|
Page page = new Page(1, 10000); |
|
|
|
Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect); |
|
|
|
List<String> ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageList = projectinfoMapper.getProjectSummaryPageListByTask(ids); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageList){ |
|
|
|
List<HuzhouProjectinfoOV> groupByTask = projectAndChildInfoPageList.getRecords().stream().filter(x -> x.getReformName().equals(p.getReformName()) && x.getSuperLeader().equals(p.getSuperLeader())).collect(Collectors.toList()); |
|
|
|
List<String> projectIds = groupByTask.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
String progress = this.countProgress(projectIds); |
|
|
|
p.setProjectProgress(progress); |
|
|
|
} |
|
|
|
//排序
|
|
|
|
if(!orderBy.equals("")&&!orderDir.equals("")){ |
|
|
|
List<ProjectSummaryOV> summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); |
|
|
|
//手动分页
|
|
|
|
int fromIndex = (pageNo - 1) * pageSize; |
|
|
|
List<ProjectSummaryOV> 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<ProjectSummaryOV> 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<String> ids = projectAndChildInfoPageList.getRecords().stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
List<ProjectSummaryOV> projectSummaryPageList = projectinfoMapper.getProjectSummaryPageListByTask(ids); |
|
|
|
for(ProjectSummaryOV p:projectSummaryPageList){ |
|
|
|
List<HuzhouProjectinfoOV> groupByTask = projectAndChildInfoPageList.getRecords().stream().filter(x -> x.getReformName().equals(p.getReformName()) && x.getSuperLeader().equals(p.getSuperLeader())).collect(Collectors.toList()); |
|
|
|
List<String> projectIds = groupByTask.stream().map(x -> x.getId()).collect(Collectors.toList()); |
|
|
|
String progress = this.countProgress(projectIds); |
|
|
|
p.setProjectProgress(progress); |
|
|
|
} |
|
|
|
//排序
|
|
|
|
if(!orderBy.equals("")&&!orderDir.equals("")){ |
|
|
|
List<ProjectSummaryOV> summarySortedList = this.getSummarySortedList(projectSummaryPageList, orderBy, orderDir); |
|
|
|
//手动分页
|
|
|
|
int fromIndex = (pageNo - 1) * pageSize; |
|
|
|
List<ProjectSummaryOV> 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<ProjectSummaryOV> 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; |
|
|
|
} |
|
|
|
|
|
|
|