|
|
@ -357,33 +357,23 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { |
|
|
|
// 根据网格分组
|
|
|
|
Map<String, List<ProjectEvaluateResultDTO>> groupByGrid = projectEvaluateList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getGridId)); |
|
|
|
groupByGrid.forEach((gridId,projectEvaluateInfoList) -> { |
|
|
|
Map<String,Integer> scoreMap = new HashMap<>(16); |
|
|
|
// 根据项目分组
|
|
|
|
Map<String, List<ProjectEvaluateResultDTO>> groupByProject = projectEvaluateInfoList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getProjectId)); |
|
|
|
groupByProject.forEach((projectId,projectList) -> { |
|
|
|
projectList.forEach(project -> { |
|
|
|
switch (project.getActionCode()) { |
|
|
|
case ExtractConstant.EVALUATE_BAD: |
|
|
|
project.setScore(ProjectEvaluateConstant.BAD); |
|
|
|
break; |
|
|
|
case ExtractConstant.EVALUATE_GOOD: |
|
|
|
project.setScore(ProjectEvaluateConstant.GOOD); |
|
|
|
break; |
|
|
|
case ExtractConstant.EVALUATE_PERFECT: |
|
|
|
project.setScore(ProjectEvaluateConstant.PERFECT); |
|
|
|
break; |
|
|
|
default: |
|
|
|
log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", project.getActionCode()); |
|
|
|
} |
|
|
|
}); |
|
|
|
Integer projectAllScore = projectList.stream().mapToInt(ProjectEvaluateResultDTO::getScore).sum(); |
|
|
|
scoreMap.put(projectId,projectAllScore/projectList.size()); |
|
|
|
}); |
|
|
|
AtomicReference<Integer> allScore = new AtomicReference<>(0); |
|
|
|
scoreMap.forEach((k,v) -> { |
|
|
|
allScore.set(++v); |
|
|
|
projectEvaluateInfoList.forEach(p -> { |
|
|
|
switch (p.getActionCode()) { |
|
|
|
case ExtractConstant.EVALUATE_BAD: |
|
|
|
p.setScore(ProjectEvaluateConstant.BAD); |
|
|
|
break; |
|
|
|
case ExtractConstant.EVALUATE_GOOD: |
|
|
|
p.setScore(ProjectEvaluateConstant.GOOD); |
|
|
|
break; |
|
|
|
case ExtractConstant.EVALUATE_PERFECT: |
|
|
|
p.setScore(ProjectEvaluateConstant.PERFECT); |
|
|
|
break; |
|
|
|
default: |
|
|
|
log.warn("calGridIndexGovernAbility other projectEvaluate,actionCode:{}", p.getActionCode()); |
|
|
|
} |
|
|
|
}); |
|
|
|
resultSatisfactionScore.put(gridId,getRound(new BigDecimal(allScore.get()/scoreMap.size()))); |
|
|
|
Integer projectAllScore = projectEvaluateInfoList.stream().collect(Collectors.summingInt(ProjectEvaluateResultDTO::getScore)); |
|
|
|
resultSatisfactionScore.put(gridId,getRound(new BigDecimal(projectAllScore/projectEvaluateInfoList.size()))); |
|
|
|
}); |
|
|
|
} |
|
|
|
String quarterId = DateUtils.getQuarterId(monthId); |
|
|
|