|
@@ -246,7 +246,7 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
List<CourseTargetRequirement> courseTargetRequirementListAll = new ArrayList<>();
|
|
List<CourseTargetRequirement> courseTargetRequirementListAll = new ArrayList<>();
|
|
for (StudentCourseInfoDto studentCourseInfoDto : studentCourseInfoDtoList) {
|
|
for (StudentCourseInfoDto studentCourseInfoDto : studentCourseInfoDtoList) {
|
|
courseTargetRequirementListAll.addAll(studentCourseInfoDto.getCourseTargetRequirementList().stream().map(m -> {
|
|
courseTargetRequirementListAll.addAll(studentCourseInfoDto.getCourseTargetRequirementList().stream().map(m -> {
|
|
- m.setCourseTargetDegree(m.getCourseTargetDegree() == null ? 0 : m.getCourseTargetDegree());
|
|
|
|
|
|
+ m.setCourseTargetDegree(m.getCourseTargetDegree() == null ? null : m.getCourseTargetDegree());
|
|
return m;
|
|
return m;
|
|
}).collect(Collectors.toList()));
|
|
}).collect(Collectors.toList()));
|
|
}
|
|
}
|
|
@@ -262,11 +262,14 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
List<StudentTotalRequirement> studentTotalRequirementList = new ArrayList<>();
|
|
List<StudentTotalRequirement> studentTotalRequirementList = new ArrayList<>();
|
|
for (Map.Entry<String, List<CourseTargetRequirement>> entry : stringDoubleMap.entrySet()) {
|
|
for (Map.Entry<String, List<CourseTargetRequirement>> entry : stringDoubleMap.entrySet()) {
|
|
String[] keys = entry.getKey().split("##");
|
|
String[] keys = entry.getKey().split("##");
|
|
- Map<Long, Double> doubleMap = entry.getValue().stream().collect(Collectors.groupingBy(CourseTargetRequirement::getSubRequirementId, Collectors.averagingDouble(CourseTargetRequirement::getCourseTargetDegree)));
|
|
|
|
|
|
+ Map<Long, Double> doubleMap = entry.getValue().stream().filter(m -> m.getCourseTargetDegree() != null).collect(Collectors.groupingBy(CourseTargetRequirement::getSubRequirementId, Collectors.averagingDouble(CourseTargetRequirement::getCourseTargetDegree)));
|
|
StudentTotalRequirement studentTotalRequirement = new StudentTotalRequirement();
|
|
StudentTotalRequirement studentTotalRequirement = new StudentTotalRequirement();
|
|
studentTotalRequirement.setRequirementName(keys[1]);
|
|
studentTotalRequirement.setRequirementName(keys[1]);
|
|
studentTotalRequirement.setRequirementSortNum(Integer.valueOf(keys[0]));
|
|
studentTotalRequirement.setRequirementSortNum(Integer.valueOf(keys[0]));
|
|
- studentTotalRequirement.setStudentDegree(new BigDecimal(doubleMap.values().stream().min(Double::compare).get()).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(doubleMap)) {
|
|
|
|
+ Double minValue = doubleMap.values().stream().filter(m -> m != null).min(Double::compare).orElseGet(null);
|
|
|
|
+ studentTotalRequirement.setStudentDegree(minValue != null ? new BigDecimal(minValue).setScale(2, RoundingMode.HALF_UP).doubleValue() : null);
|
|
|
|
+ }
|
|
if (requirementDegreeMap.containsKey(keys[1])) {
|
|
if (requirementDegreeMap.containsKey(keys[1])) {
|
|
studentTotalRequirement.setProfessionalDegree(requirementDegreeMap.get(keys[1]).doubleValue());
|
|
studentTotalRequirement.setProfessionalDegree(requirementDegreeMap.get(keys[1]).doubleValue());
|
|
}
|
|
}
|