修改理论考试计算平均分

master
xiaoCJ 1 month ago
parent 8630ad3be5
commit 9dad07aa61

@ -437,7 +437,7 @@ public class ScoreRankServiceImpl implements ScoreRankService {
List<TrainingReport> trainingReports = trainingReportMapper.selectByExample(trainingReportExample); List<TrainingReport> trainingReports = trainingReportMapper.selectByExample(trainingReportExample);
BigDecimal reportScore=BigDecimal.ZERO; BigDecimal reportScore=BigDecimal.ZERO;
if (!trainingReports.isEmpty()) { if (!trainingReports.isEmpty()) {
if (trainingReports.get(0).getTeacherScore() != null) { if (trainingReports.get(0).getTeacherScore() != null) { //todo 报告得分为0导致更新成绩报错这里加了一个判断
reportScore = trainingReports.get(0).getTeacherScore().multiply(studentScoreWeight.getReportWeight()); reportScore = trainingReports.get(0).getTeacherScore().multiply(studentScoreWeight.getReportWeight());
} }
} }

@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -247,7 +248,13 @@ public class TrainingServiceImpl implements TrainingService {
} }
StuSynthesisPlanScoreAndAvgScoreDto dto = new StuSynthesisPlanScoreAndAvgScoreDto(); StuSynthesisPlanScoreAndAvgScoreDto dto = new StuSynthesisPlanScoreAndAvgScoreDto();
dto.setList(returnList); dto.setList(returnList);
dto.setAvgScore(fenzi.divide(fenmu).setScale(4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, BigDecimal.ROUND_HALF_UP)); if (fenzi.compareTo(BigDecimal.ZERO)<=0){
System.out.println();
}
//todo 报错舍去模式有问题,修改了四舍五入模式
dto.setAvgScore(fenzi.divide(fenmu,4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100))
.setScale(2, RoundingMode.HALF_UP));
return dto; return dto;
} }
} }

Loading…
Cancel
Save