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

Loading…
Cancel
Save