|
@ -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()); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|