|
@@ -167,12 +167,12 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
if (courseWeightDetailDto.getEnable() && Objects.equals(courseWeightDetailDto.getEvaluationName(), SystemConstant.FINAL_SCORE_STR)) {
|
|
if (courseWeightDetailDto.getEnable() && Objects.equals(courseWeightDetailDto.getEvaluationName(), SystemConstant.FINAL_SCORE_STR)) {
|
|
FinalScoreWordDto finalScoreWordDto = new FinalScoreWordDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, courseWeightResult.getDefaultRate());
|
|
FinalScoreWordDto finalScoreWordDto = new FinalScoreWordDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, courseWeightResult.getDefaultRate());
|
|
courseTargetWordDto.setFinalScoreDto(finalScoreWordDto);
|
|
courseTargetWordDto.setFinalScoreDto(finalScoreWordDto);
|
|
- ReportEvaluationDto reportEvaluationDto = new ReportEvaluationDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, courseWeightResult.getDefaultRate());
|
|
|
|
|
|
+ ReportEvaluationDto reportEvaluationDto = new ReportEvaluationDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, courseWeightResult.getDefaultRate(), 0.0d);
|
|
reportEvaluationDtoList.add(reportEvaluationDto);
|
|
reportEvaluationDtoList.add(reportEvaluationDto);
|
|
}//非期末考试
|
|
}//非期末考试
|
|
else if (courseWeightDetailDto.getEnable() && !Objects.equals(courseWeightDetailDto.getEvaluationName(), SystemConstant.FINAL_SCORE_STR)) {
|
|
else if (courseWeightDetailDto.getEnable() && !Objects.equals(courseWeightDetailDto.getEvaluationName(), SystemConstant.FINAL_SCORE_STR)) {
|
|
BigDecimal usualScoreRealityWeight = usualScoreWordDto.getUsualScoreTargetSumWeight().divide(bigDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(courseWeightDetailDto.getWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal usualScoreRealityWeight = usualScoreWordDto.getUsualScoreTargetSumWeight().divide(bigDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(courseWeightDetailDto.getWeight()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
- ReportEvaluationDto reportEvaluationDto = new ReportEvaluationDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, usualScoreRealityWeight);
|
|
|
|
|
|
+ ReportEvaluationDto reportEvaluationDto = new ReportEvaluationDto(courseWeightDto.getCourseTargetId(), courseWeightDetailDto, usualScoreRealityWeight, 0.0d);
|
|
usualScoreTargetSumScore = usualScoreTargetSumScore.add(reportEvaluationDto.getTargetScore());
|
|
usualScoreTargetSumScore = usualScoreTargetSumScore.add(reportEvaluationDto.getTargetScore());
|
|
usualScoreDetailList.add(reportEvaluationDto);
|
|
usualScoreDetailList.add(reportEvaluationDto);
|
|
reportEvaluationDtoList.add(reportEvaluationDto);
|
|
reportEvaluationDtoList.add(reportEvaluationDto);
|
|
@@ -197,7 +197,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
JSONArray finalScoreDetailJsonArray = JSONArray.parseArray(finalScoreResult.getFinalScoreDetail());
|
|
JSONArray finalScoreDetailJsonArray = JSONArray.parseArray(finalScoreResult.getFinalScoreDetail());
|
|
for (int i = 0; i < finalScoreDetailJsonArray.size(); i++) {
|
|
for (int i = 0; i < finalScoreDetailJsonArray.size(); i++) {
|
|
JSONObject jsonObject = finalScoreDetailJsonArray.getJSONObject(i);
|
|
JSONObject jsonObject = finalScoreDetailJsonArray.getJSONObject(i);
|
|
- //卷面分
|
|
|
|
Double score = Objects.nonNull(jsonObject.get("score")) ? Double.parseDouble(jsonObject.get("score").toString()) : 0d;
|
|
Double score = Objects.nonNull(jsonObject.get("score")) ? Double.parseDouble(jsonObject.get("score").toString()) : 0d;
|
|
PaperStructResult paperStructResult = paperStructResultMap.get(jsonObject.get("name").toString());
|
|
PaperStructResult paperStructResult = paperStructResultMap.get(jsonObject.get("name").toString());
|
|
if (Objects.nonNull(paperStructResult)) {
|
|
if (Objects.nonNull(paperStructResult)) {
|
|
@@ -209,7 +208,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
//考生知识点
|
|
//考生知识点
|
|
this.calculateFinalScoreByExamStudent(finalScoreExamStudentDimensionMap,
|
|
this.calculateFinalScoreByExamStudent(finalScoreExamStudentDimensionMap,
|
|
finalScoreResult, courseTargetDto, dimensionDto, score);
|
|
finalScoreResult, courseTargetDto, dimensionDto, score);
|
|
-
|
|
|
|
//目标-考生知识点去重
|
|
//目标-考生知识点去重
|
|
if (!targetDimensionMap.containsKey(courseTargetDto.getTargetId())) {
|
|
if (!targetDimensionMap.containsKey(courseTargetDto.getTargetId())) {
|
|
Map<Long, DimensionDto> dimensionMap = new LinkedHashMap<>();
|
|
Map<Long, DimensionDto> dimensionMap = new LinkedHashMap<>();
|
|
@@ -227,6 +225,21 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Map<Long, CourseTargetWordDto> finalTargetWordMap = targetWordMap;
|
|
|
|
+ targetDimensionMap.forEach((k, v) -> {
|
|
|
|
+ List<DimensionDto> dimensionDtoList = new ArrayList<>(v.values());
|
|
|
|
+ Collections.sort(dimensionDtoList);
|
|
|
|
+ if (finalTargetWordMap.containsKey(k)) {
|
|
|
|
+ finalTargetWordMap.get(k).getFinalScoreDto().setDimensionList(dimensionDtoList);
|
|
|
|
+ }
|
|
|
|
+ Map<Long, Map<Long, DimensionDto>> mapExamStudent1 = finalScoreExamStudentDimensionMap.get(finalScoreResult.getStudentCode());
|
|
|
|
+ Map<Long, DimensionDto> mapExamStudent2 = mapExamStudent1.get(k);
|
|
|
|
+ List<DimensionDto> list = new ArrayList<>(mapExamStudent2.values());
|
|
|
|
+ Double score = list.stream().mapToDouble(DimensionDto::getDimensionScore).sum();
|
|
|
|
+ Map<Long, Double> map = finalScoreResult.getFinalScore();
|
|
|
|
+ map.put(k, score);
|
|
|
|
+ });
|
|
|
|
+
|
|
//解析平时作业分数图
|
|
//解析平时作业分数图
|
|
ReportExamStudentUsualScoreDto reportExamStudentUsualScoreDto = this.calculateUsualScoreByExamStudent(finalScoreResult, usualScoreMap, targetWordMap);
|
|
ReportExamStudentUsualScoreDto reportExamStudentUsualScoreDto = this.calculateUsualScoreByExamStudent(finalScoreResult, usualScoreMap, targetWordMap);
|
|
finalScoreResult.setUsualScoreDto(reportExamStudentUsualScoreDto);
|
|
finalScoreResult.setUsualScoreDto(reportExamStudentUsualScoreDto);
|
|
@@ -234,15 +247,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- Map<Long, CourseTargetWordDto> finalTargetMap = targetWordMap;
|
|
|
|
- targetDimensionMap.forEach((k, v) -> {
|
|
|
|
- List<DimensionDto> dimensionDtoList = new ArrayList<>(v.values());
|
|
|
|
- Collections.sort(dimensionDtoList);
|
|
|
|
- if (finalTargetMap.containsKey(k)) {
|
|
|
|
- finalTargetMap.get(k).getFinalScoreDto().setDimensionList(dimensionDtoList);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
paramsMap.put("finalScoreResultList", finalScoreResultList);
|
|
paramsMap.put("finalScoreResultList", finalScoreResultList);
|
|
paramsMap.put("usualScoreMap", usualScoreMap);
|
|
paramsMap.put("usualScoreMap", usualScoreMap);
|
|
paramsMap.put("finalScoreExamStudentDimensionMap", finalScoreExamStudentDimensionMap);
|
|
paramsMap.put("finalScoreExamStudentDimensionMap", finalScoreExamStudentDimensionMap);
|
|
@@ -733,7 +737,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentTargetDto.getTargetMatrixAvgScore())).create());
|
|
examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentTargetDto.getTargetMatrixAvgScore())).create());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
- examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentFinalScoreDto.getTargetMatrixSumScore())).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(SystemConstant.df.format(reportExamStudentFinalScoreDto.getScore())).create());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|