|
@@ -66,15 +66,18 @@ public class TIeReportServiceImpl implements TIeReportService {
|
|
|
@Resource
|
|
|
TOeExamRecordMapper tOeExamRecordMapper;
|
|
|
|
|
|
- @Resource
|
|
|
- TOeExamRecordService tOeExamRecordService;
|
|
|
-
|
|
|
@Resource
|
|
|
ThemisCacheService themisCacheService;
|
|
|
|
|
|
@Resource
|
|
|
TEExamService teExamService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TEExamActivityService teExamActivityService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ TEExamStudentService teExamStudentService;
|
|
|
+
|
|
|
/**
|
|
|
* 考试概览
|
|
|
*
|
|
@@ -94,15 +97,23 @@ public class TIeReportServiceImpl implements TIeReportService {
|
|
|
Integer examTotal = 0, actualExamTotal = 0, absentNum = 0, completeOffExamTotal = 0;
|
|
|
ExamCacheBean exam = examService.getExamCacheBean(examId);
|
|
|
// 应考人数&实考人数
|
|
|
- List<Integer> list = tOeExamRecordService.findByViewAdmin(orgId, examId, examActivityId, roomCode, courseCode, exam.getMonitorStatus());
|
|
|
- if (Objects.nonNull(list) && list.size() > 0) {
|
|
|
- examTotal = list.get(0);
|
|
|
- actualExamTotal = list.get(1);
|
|
|
- completeOffExamTotal = list.get(2);
|
|
|
+// List<Integer> list = tOeExamRecordService.findByViewAdmin(orgId, examId, examActivityId, roomCode, courseCode, exam.getMonitorStatus());
|
|
|
+// if (Objects.nonNull(list) && list.size() > 0) {
|
|
|
+// examTotal = list.get(0);
|
|
|
+// actualExamTotal = list.get(1);
|
|
|
+// completeOffExamTotal = list.get(2);
|
|
|
+// }
|
|
|
+ List<TEExamSummary> teExamSummaryList = themisCacheService.getExamSummaryCache(examId, examActivityId, roomCode);
|
|
|
+ for (TEExamSummary t : teExamSummaryList) {
|
|
|
+ examTotal = examTotal + t.getTotalCount();
|
|
|
+ actualExamTotal = actualExamTotal + t.getFinishCount();
|
|
|
+ absentNum = absentNum + t.getAbsentCount();
|
|
|
}
|
|
|
+
|
|
|
if (exam.getMonitorStatus() == InvigilateMonitorStatusEnum.FINISHED) {// 结束监考的,未考试的都是缺考
|
|
|
absentNum = examTotal.intValue() - actualExamTotal.intValue();
|
|
|
}
|
|
|
+ completeOffExamTotal = absentNum;
|
|
|
// 每日已考人数
|
|
|
List<Map<String, Object>> doneCountByDay = tOeExamRecordMapper.getDoneCountByDay(orgId, examId, examActivityId, roomCode, courseCode);
|
|
|
|