Browse Source

不全项目评价统计修改

dev_shibei_match
zxc 4 years ago
parent
commit
2c776eb409
  1. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

7
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)){
@ -288,11 +290,14 @@ 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.getProjectId()).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()+"】");
} }

Loading…
Cancel
Save