|
@@ -948,13 +948,20 @@ public class ReportService {
|
|
|
List<Programme> programmeList = programmeMap.get(performance.getId());
|
|
List<Programme> programmeList = programmeMap.get(performance.getId());
|
|
|
Map<Long, List<Programme>> specialty = programmeList.stream()
|
|
Map<Long, List<Programme>> specialty = programmeList.stream()
|
|
|
.collect(Collectors.groupingBy(Programme::getParentSpecialtyId));
|
|
.collect(Collectors.groupingBy(Programme::getParentSpecialtyId));
|
|
|
|
|
+ Set<Long> artSet = new HashSet<>(artMap.keySet());
|
|
|
specialty.forEach((key, value) -> {
|
|
specialty.forEach((key, value) -> {
|
|
|
|
|
+ artSet.remove(key);
|
|
|
String name = artMap.get(key);
|
|
String name = artMap.get(key);
|
|
|
programmeNum.add(new NumOfReport(name, value.size()));
|
|
programmeNum.add(new NumOfReport(name, value.size()));
|
|
|
long sum = value.stream()
|
|
long sum = value.stream()
|
|
|
.mapToLong(programme -> ObjectUtil.isNull(participantMap.get(programme.getId())) ? 0L : participantMap.get(programme.getId()))
|
|
.mapToLong(programme -> ObjectUtil.isNull(participantMap.get(programme.getId())) ? 0L : participantMap.get(programme.getId()))
|
|
|
.sum();
|
|
.sum();
|
|
|
participantNum.add(new NumOfReport(name, (int) sum));
|
|
participantNum.add(new NumOfReport(name, (int) sum));
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+ artSet.forEach(artId -> {
|
|
|
|
|
+ programmeNum.add(new NumOfReport(artMap.get(artId), 0));
|
|
|
|
|
+ participantNum.add(new NumOfReport(artMap.get(artId), 0));
|
|
|
});
|
|
});
|
|
|
performanceStatistic.setParticipantNum(participantNum);
|
|
performanceStatistic.setParticipantNum(participantNum);
|
|
|
performanceStatistic.setProgrammeNum(programmeNum);
|
|
performanceStatistic.setProgrammeNum(programmeNum);
|