|
@@ -178,11 +178,16 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
TRBasicInfo trBasicInfo = trBasicInfoService.queryBasicInfo(obeCourseOutline.getCultureProgramId(), obeCourseOutline.getCourseId(), null);
|
|
TRBasicInfo trBasicInfo = trBasicInfoService.queryBasicInfo(obeCourseOutline.getCultureProgramId(), obeCourseOutline.getCourseId(), null);
|
|
if (Objects.nonNull(trBasicInfo)) {
|
|
if (Objects.nonNull(trBasicInfo)) {
|
|
ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = Objects.nonNull(trBasicInfo.getCourseEvaluationResult()) ? JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class) : null;
|
|
ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = Objects.nonNull(trBasicInfo.getCourseEvaluationResult()) ? JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class) : null;
|
|
|
|
+ BigDecimal courseMatrixDegree = new BigDecimal(0);
|
|
if (Objects.nonNull(reportCourseEvaluationResultDto)) {
|
|
if (Objects.nonNull(reportCourseEvaluationResultDto)) {
|
|
List<CourseTargetWebDto> courseTargetWebDtoList = reportCourseEvaluationResultDto.getTargetList();
|
|
List<CourseTargetWebDto> courseTargetWebDtoList = reportCourseEvaluationResultDto.getTargetList();
|
|
|
|
+ OptionalDouble courseDegree = courseTargetWebDtoList.stream().filter(x -> Objects.nonNull(x.getEvaluationValue()) && x.getEvaluationValue().doubleValue() > 0).mapToDouble(x -> x.getEvaluationValue().doubleValue()).min();
|
|
|
|
+ if (courseDegree.isPresent()) {
|
|
|
|
+ courseMatrixDegree = new BigDecimal(courseDegree.getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
courseTargetWebDtoMap = courseTargetWebDtoList.stream().collect(Collectors.toMap(CourseTargetWebDto::getTargetId, Function.identity(), (dto1, dto2) -> dto1));
|
|
courseTargetWebDtoMap = courseTargetWebDtoList.stream().collect(Collectors.toMap(CourseTargetWebDto::getTargetId, Function.identity(), (dto1, dto2) -> dto1));
|
|
}
|
|
}
|
|
- ObeCourseRequirementDto obeCourseRequirementDto = new ObeCourseRequirementDto(c);
|
|
|
|
|
|
+ ObeCourseRequirementDto obeCourseRequirementDto = new ObeCourseRequirementDto(c, courseMatrixDegree);
|
|
obeCourseRequirementDtoList.add(obeCourseRequirementDto);
|
|
obeCourseRequirementDtoList.add(obeCourseRequirementDto);
|
|
List<MatrixRequirementDto> matrixRequirementDtoList = c.getRequirements();
|
|
List<MatrixRequirementDto> matrixRequirementDtoList = c.getRequirements();
|
|
if (!CollectionUtils.isEmpty(matrixRequirementDtoList)) {
|
|
if (!CollectionUtils.isEmpty(matrixRequirementDtoList)) {
|
|
@@ -228,7 +233,6 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
|
|
for (Map.Entry<Long, List<ObeSubRequirementsDto>> entry : matrixSubRequirementIdMap.entrySet()) {
|
|
for (Map.Entry<Long, List<ObeSubRequirementsDto>> entry : matrixSubRequirementIdMap.entrySet()) {
|
|
OptionalDouble evaluationValue = entry.getValue().stream().mapToDouble(x -> Objects.nonNull(x.getEvaluationValue()) ? x.getEvaluationValue().doubleValue() : 0.0d).average();
|
|
OptionalDouble evaluationValue = entry.getValue().stream().mapToDouble(x -> Objects.nonNull(x.getEvaluationValue()) ? x.getEvaluationValue().doubleValue() : 0.0d).average();
|
|
if (evaluationValue.isPresent()) {
|
|
if (evaluationValue.isPresent()) {
|
|
- obeCourseRequirementDto.setCourseMatrixDegree(new BigDecimal(evaluationValue.getAsDouble()));
|
|
|
|
ObeSubRequirementsDto obeSubRequirementsDto = entry.getValue().get(0);
|
|
ObeSubRequirementsDto obeSubRequirementsDto = entry.getValue().get(0);
|
|
BigDecimal bigDecimal = new BigDecimal(evaluationValue.getAsDouble()).multiply(obeSubRequirementsDto.getScale()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal bigDecimal = new BigDecimal(evaluationValue.getAsDouble()).multiply(obeSubRequirementsDto.getScale()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
entry.getValue().stream().peek(x -> x.setMatrixDegree(bigDecimal)).collect(Collectors.toList());
|
|
entry.getValue().stream().peek(x -> x.setMatrixDegree(bigDecimal)).collect(Collectors.toList());
|