|
@@ -350,20 +350,32 @@ public class ExamScoreDataCloudServiceProvider extends ControllerSupport impleme
|
|
|
}
|
|
|
|
|
|
GetFinalScoreDataResp resp = new GetFinalScoreDataResp();
|
|
|
+ //如果该学生缺考,直接返回
|
|
|
+ ExamStudentEntity examStudent = examStudentRepo.findByIdentityNumberAndExamIdAndCourseId(
|
|
|
+ identityNumber, req.getExamId(), courseId);
|
|
|
+ Boolean isAbsent = examStudent.getFinished() == null || !examStudent.getFinished();
|
|
|
+ if (isAbsent) {
|
|
|
+ resp.setAbsent(true);
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
//最终生效的考试分数对象
|
|
|
ExamScoreEntity finalExamScore =
|
|
|
examScoreService.getFinalEffectiveExamScore(req.getExamId(), identityNumber, courseId);
|
|
|
|
|
|
//如果查到最终有分数数据,则直接返回
|
|
|
if (finalExamScore != null) {
|
|
|
- resp.setPresent(true);
|
|
|
- resp.setScoreDataBean(buildScoreDataBean(identityNumber, courseBean,
|
|
|
- finalExamScore.getTotalScore(), finalExamScore.getExamRecordDataId()));
|
|
|
+ ScoreDataBean scoreDataBean = buildScoreDataBean(identityNumber, courseBean,
|
|
|
+ finalExamScore.getTotalScore(), finalExamScore.getExamRecordDataId());
|
|
|
+ resp.setScoreDataBean(scoreDataBean);
|
|
|
+ resp.setAbsent(false);
|
|
|
+ resp.setIllegality(false);
|
|
|
+ resp.setAudit(scoreDataBean.getIsAudit());
|
|
|
return resp;
|
|
|
}
|
|
|
|
|
|
//如果查不到有效的分数集合,则将所有的考试分数集合均返回
|
|
|
- resp.setPresent(false);
|
|
|
+ resp.setAbsent(false);
|
|
|
List<ExamScoreEntity> allExamScoreList =
|
|
|
examScoreService.getAllExamScoreList(req.getExamId(), identityNumber, courseId);
|
|
|
if (allExamScoreList == null) {
|
|
@@ -376,6 +388,8 @@ public class ExamScoreDataCloudServiceProvider extends ControllerSupport impleme
|
|
|
courseBean, scoreEntity.getTotalScore(), scoreEntity.getExamRecordDataId()));
|
|
|
}
|
|
|
resp.setAllScoreDataBeanList(scoreDataBeanList);
|
|
|
+ resp.setAudit(scoreDataBeanList.stream().anyMatch(p -> p.getIsAudit() == null || !p.getIsAudit()));
|
|
|
+ resp.setIllegality(scoreDataBeanList.stream().anyMatch(p -> p.getIsIllegality() != null && p.getIsIllegality()));
|
|
|
return resp;
|
|
|
|
|
|
}
|