Browse Source

Merge remote-tracking branch 'origin/dev'

dev_shibei_match
yinzuomei 4 years ago
parent
commit
f3428aa0b0
  1. 15
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

15
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

@ -270,9 +270,11 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
// 查询已存在的项目记录 // 查询已存在的项目记录
List<String> existsProjects = statisticsDao.selectExistsProject(); List<String> existsProjects = statisticsDao.selectExistsProject();
List<ComplementedProjectEvaluateResultDTO> projects = new ArrayList<>(); List<ComplementedProjectEvaluateResultDTO> projects = new ArrayList<>();
// 要是 评价统计库没有记录,所有的项目都得插入
if (CollectionUtils.isEmpty(existsProjects)){ if (CollectionUtils.isEmpty(existsProjects)){
projects = allProjects; projects = allProjects;
}else { }else {
// 把 评价统计库存在的 标记为true,
allProjects.forEach(a -> { allProjects.forEach(a -> {
existsProjects.forEach(p -> { existsProjects.forEach(p -> {
if (a.getProjectId().equals(p)){ if (a.getProjectId().equals(p)){
@ -287,12 +289,15 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
List<ProjectSatisfactionStatisticsEntity> needAdd = new ArrayList<>(); List<ProjectSatisfactionStatisticsEntity> needAdd = new ArrayList<>();
if (!CollectionUtils.isEmpty(projects)){ if (!CollectionUtils.isEmpty(projects)){
List<String> projectIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); List<String> projectIds = projects.stream().map(m -> m.getProjectId()).collect(Collectors.toList());
List<String> issueIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList());
// 根据项目ID查询 项目的评价细节
List<ProjectEvaluateDetailResultDTO> projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds); List<ProjectEvaluateDetailResultDTO> projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds);
// 根据项目ID分组
Map<String, List<ProjectEvaluateDetailResultDTO>> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId)); Map<String, List<ProjectEvaluateDetailResultDTO>> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId));
boolean empty = groupByProject.isEmpty(); boolean empty = groupByProject.isEmpty();
// 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】 // 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】
Result<List<CanEvaluateProjectCountBatchResultDTO>> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(projectIds); Result<List<CanEvaluateProjectCountBatchResultDTO>> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(issueIds);
if (!canEvaluateProjectCountBatch.success()){ if (!canEvaluateProjectCountBatch.success()){
throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】"); throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】");
} }
@ -304,9 +309,9 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
groupByProject.forEach((projectId,list) -> { groupByProject.forEach((projectId,list) -> {
if (p.getProjectId().equals(projectId)){ if (p.getProjectId().equals(projectId)){
Map<String, List<ProjectEvaluateDetailResultDTO>> groupByS = list.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getSatisfaction)); Map<String, List<ProjectEvaluateDetailResultDTO>> groupByS = list.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getSatisfaction));
e.setBadCount(groupByS.get(ProjectConstant.EVALUATE_BAD).size()); e.setBadCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_BAD)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_BAD).size());
e.setGoodCount(groupByS.get(ProjectConstant.EVALUATE_GOOD).size()); e.setGoodCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_GOOD)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_GOOD).size());
e.setPerfectCount(groupByS.get(ProjectConstant.EVALUATE_PERFECT).size()); e.setPerfectCount(CollectionUtils.isEmpty(groupByS.get(ProjectConstant.EVALUATE_PERFECT)) ? NumConstant.ZERO : groupByS.get(ProjectConstant.EVALUATE_PERFECT).size());
} }
}); });
} }

Loading…
Cancel
Save