|
@@ -48,12 +48,13 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
TRBasicInfoService trBasicInfoService;
|
|
TRBasicInfoService trBasicInfoService;
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private ObeCourseTargetService obeCourseTargetService;
|
|
private ObeCourseTargetService obeCourseTargetService;
|
|
- @Resource
|
|
|
|
- private ObeCultureProgramRequirementService obeCultureProgramRequirementService;
|
|
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private ObeCourseRequirementReportService obeCourseRequirementReportService;
|
|
private ObeCourseRequirementReportService obeCourseRequirementReportService;
|
|
|
|
|
|
@@ -93,9 +94,11 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
BigDecimal targetMatrixScore = new BigDecimal(0);
|
|
BigDecimal targetMatrixScore = new BigDecimal(0);
|
|
if (Objects.nonNull(courseTargetWordDto.getFinalScoreDto())) {
|
|
if (Objects.nonNull(courseTargetWordDto.getFinalScoreDto())) {
|
|
//卷面分/目标卷面总分*权重
|
|
//卷面分/目标卷面总分*权重
|
|
- targetMatrixScore = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
- BigDecimal targetEvaluationValue = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight().divide(courseTargetWordDto.getTargetSumWeight(), 4, BigDecimal.ROUND_HALF_UP)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
- matrixDegree.set(matrixDegree.get().add(targetEvaluationValue));
|
|
|
|
|
|
+ if (courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore().doubleValue() > 0) {
|
|
|
|
+ targetMatrixScore = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal targetEvaluationValue = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight().divide(courseTargetWordDto.getTargetSumWeight(), 4, BigDecimal.ROUND_HALF_UP)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ matrixDegree.set(matrixDegree.get().add(targetEvaluationValue));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
targetMatrixSumScore = targetMatrixSumScore.add(targetMatrixScore);
|
|
targetMatrixSumScore = targetMatrixSumScore.add(targetMatrixScore);
|
|
reportExamStudentDto.setScore(reportExamStudentDto.getScore().add(targetMatrixScore));
|
|
reportExamStudentDto.setScore(reportExamStudentDto.getScore().add(targetMatrixScore));
|
|
@@ -127,10 +130,11 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
BigDecimal targetMatrixScore = new BigDecimal(0);
|
|
BigDecimal targetMatrixScore = new BigDecimal(0);
|
|
if (Objects.nonNull(reportExamStudentTargetDto.getFinalScore())) {
|
|
if (Objects.nonNull(reportExamStudentTargetDto.getFinalScore())) {
|
|
reportExamStudentFinalScoreAvgDto = reportExamStudentTargetDto.getFinalScore();
|
|
reportExamStudentFinalScoreAvgDto = reportExamStudentTargetDto.getFinalScore();
|
|
- targetMatrixScore = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
-
|
|
|
|
- BigDecimal targetEvaluationValue = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight().divide(courseTargetWordDto.getTargetSumWeight(), 4, BigDecimal.ROUND_HALF_UP)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
- matrixDegree.set(matrixDegree.get().add(targetEvaluationValue));
|
|
|
|
|
|
+ if (courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore().doubleValue() > 0) {
|
|
|
|
+ targetMatrixScore = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ BigDecimal targetEvaluationValue = v.divide(courseTargetWordDto.getFinalScoreDto().getFinalScoreTargetSumScore(), 4, BigDecimal.ROUND_HALF_UP).multiply(courseTargetWordDto.getFinalScoreDto().getFinalScoreSumWeight().divide(courseTargetWordDto.getTargetSumWeight(), 4, BigDecimal.ROUND_HALF_UP)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ matrixDegree.set(matrixDegree.get().add(targetEvaluationValue));
|
|
|
|
+ }
|
|
reportExamStudentTargetDto.setMatrixDegree(matrixDegree.get());
|
|
reportExamStudentTargetDto.setMatrixDegree(matrixDegree.get());
|
|
}
|
|
}
|
|
targetMatrixSumScore = targetMatrixSumScore.add(targetMatrixScore);
|
|
targetMatrixSumScore = targetMatrixSumScore.add(targetMatrixScore);
|
|
@@ -238,8 +242,8 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
|
|
List<StudentCourseRequirementDetail> requirementDetailList = new ArrayList<>();
|
|
List<StudentCourseRequirementDetail> requirementDetailList = new ArrayList<>();
|
|
for (Map.Entry<String, List<CourseTargetRequirement>> entry : map.entrySet()) {
|
|
for (Map.Entry<String, List<CourseTargetRequirement>> entry : map.entrySet()) {
|
|
String[] s = entry.getKey().split("##");
|
|
String[] s = entry.getKey().split("##");
|
|
- StudentCourseRequirementDetail studentCourseRequirementDetail= new StudentCourseRequirementDetail(Integer.valueOf(s[0]), s[1], null);
|
|
|
|
- studentCourseRequirementDetail.setSubRequirementDetailList(entry.getValue().stream().map(m-> new StudentCourseRequirementDetail(m.getSubRequirementSortNum(), m.getSubRequirementName(), m.getCourseTargetDegree())).collect(Collectors.toList()));
|
|
|
|
|
|
+ StudentCourseRequirementDetail studentCourseRequirementDetail = new StudentCourseRequirementDetail(Integer.valueOf(s[0]), s[1], null);
|
|
|
|
+ studentCourseRequirementDetail.setSubRequirementDetailList(entry.getValue().stream().map(m -> new StudentCourseRequirementDetail(m.getSubRequirementSortNum(), m.getSubRequirementName(), m.getCourseTargetDegree())).collect(Collectors.toList()));
|
|
requirementDetailList.add(studentCourseRequirementDetail);
|
|
requirementDetailList.add(studentCourseRequirementDetail);
|
|
}
|
|
}
|
|
requirementDetailList.sort(Comparator.comparingInt(StudentCourseRequirementDetail::getRequirementSortNum));
|
|
requirementDetailList.sort(Comparator.comparingInt(StudentCourseRequirementDetail::getRequirementSortNum));
|