|
@@ -1198,9 +1198,12 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
|
List<ReportExamStudentUsualScoreObjDto> reportExamStudentUsualScoreObjDtoList = !scoreListMap.containsKey(reportEvaluationDto.getTargetId()) ? new ArrayList<>() : scoreListMap.get(reportEvaluationDto.getTargetId());
|
|
|
CourseTargetWordDto courseTargetWordDto = targetWordMap.get(reportEvaluationDto.getTargetId());
|
|
|
UsualScoreWordDto usualScoreWordDto = courseTargetWordDto.getUsualScoreDto();
|
|
|
- BigDecimal matrixPageScore = score.multiply(reportEvaluationDto.getTargetWeight()).divide(new BigDecimal(targetWeightSum), 4, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- BigDecimal matrixTargetScore = SystemConstant.PERCENT.multiply(reportEvaluationDto.getTargetWeight()).divide(new BigDecimal(targetWeightSum), 4, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- BigDecimal matrixScore = matrixPageScore.divide(matrixTargetScore, 4, BigDecimal.ROUND_HALF_UP).multiply(reportEvaluationDto.getTargetWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal matrixPageScore = new BigDecimal(0), matrixTargetScore = new BigDecimal(0), matrixScore = new BigDecimal(0);
|
|
|
+ if (targetWeightSum.doubleValue() > 0) {
|
|
|
+ matrixPageScore = score.multiply(reportEvaluationDto.getTargetWeight()).divide(new BigDecimal(targetWeightSum), 4, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ matrixTargetScore = SystemConstant.PERCENT.multiply(reportEvaluationDto.getTargetWeight()).divide(new BigDecimal(targetWeightSum), 4, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ matrixScore = matrixPageScore.divide(matrixTargetScore, 4, BigDecimal.ROUND_HALF_UP).multiply(reportEvaluationDto.getTargetWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
reportExamStudentUsualScoreObjDtoList.add(new ReportExamStudentUsualScoreObjDto(reportEvaluationDto.getTargetId(), reportEvaluationDto, score, matrixScore, usualScoreWordDto.getUsualScoreTargetSumScore(), matrixPageScore, matrixTargetScore));
|
|
|
scoreListMap.put(reportEvaluationDto.getTargetId(), reportExamStudentUsualScoreObjDtoList);
|
|
|
}
|