|
@@ -145,17 +145,18 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ScanExamInfoVo getScanExamInfo(BasicExam exam) {
|
|
|
+ public ScanExamInfoVo getScanExamInfo(BasicExam exam, String courseCode, String coursePaperId) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
ScanExamInfoVo vo = new ScanExamInfoVo();
|
|
|
vo.setId(exam.getId());
|
|
|
vo.setName(exam.getName());
|
|
|
- vo.getAnswerScan().setCourseCount(markPaperService.getCountByExam(exam.getId(), dpr));
|
|
|
- vo.getAnswerScan().setTotalCount(getCount(exam.getId(), null, dpr));
|
|
|
- vo.getAnswerScan().setScannedCount(getCount(exam.getId(), ScanStatus.SCANNED, dpr));
|
|
|
- vo.getPackageScan().setTotalCount(markPaperService.getPackageCountByExamId(exam.getId(), dpr));
|
|
|
- vo.getPackageScan().setScannedCount(scanPackageService.getCount(exam.getId(), dpr));
|
|
|
+ vo.getAnswerScan().setCourseCount(markPaperService.getCourseCount(exam.getId(), courseCode, coursePaperId, dpr));
|
|
|
+ vo.getAnswerScan().setPaperNumberCount(markPaperService.getPaperNumberCount(exam.getId(), courseCode, coursePaperId, dpr));
|
|
|
+ vo.getAnswerScan().setTotalCount(getCount(exam.getId(), null, courseCode, coursePaperId, dpr));
|
|
|
+ vo.getAnswerScan().setScannedCount(getCount(exam.getId(), ScanStatus.SCANNED, courseCode, coursePaperId, dpr));
|
|
|
+ vo.getPackageScan().setTotalCount(markPaperService.getPackageCountByExamId(exam.getId(), courseCode, coursePaperId, dpr));
|
|
|
+ vo.getPackageScan().setScannedCount(scanPackageService.getCount(exam.getId(), courseCode, coursePaperId, dpr));
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
@@ -197,30 +198,36 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
return sheetUrls;
|
|
|
}
|
|
|
|
|
|
- private int getCount(Long examId, ScanStatus status, DataPermissionRule dpr) {
|
|
|
+ private int getCount(Long examId, ScanStatus status, String courseCode, String coursePaperId, DataPermissionRule dpr) {
|
|
|
MarkStudent markStudent = new MarkStudent();
|
|
|
markStudent.setExamId(examId);
|
|
|
+ markStudent.setCourseCode(courseCode);
|
|
|
+ markStudent.setCoursePaperId(coursePaperId);
|
|
|
markStudent.setScanStatus(status);
|
|
|
return baseMapper.selectCountByQuery(markStudent, dpr);
|
|
|
}
|
|
|
|
|
|
- private int getOmrAbsentCount(Long examId, Boolean checked, DataPermissionRule dpr) {
|
|
|
+ private int getOmrAbsentCount(Long examId, Boolean checked, String courseCode, String coursePaperId, DataPermissionRule dpr) {
|
|
|
MarkStudent markStudent = new MarkStudent();
|
|
|
markStudent.setExamId(examId);
|
|
|
+ markStudent.setCourseCode(courseCode);
|
|
|
+ markStudent.setCoursePaperId(coursePaperId);
|
|
|
markStudent.setOmrAbsent(true);
|
|
|
markStudent.setOmrAbsentChecked(checked);
|
|
|
return baseMapper.selectCountByQuery(markStudent, dpr);
|
|
|
}
|
|
|
|
|
|
- private int getIncompleteCount(Long examId, DataPermissionRule dpr) {
|
|
|
+ private int getIncompleteCount(Long examId, String courseCode, String coursePaperId, DataPermissionRule dpr) {
|
|
|
MarkStudent markStudent = new MarkStudent();
|
|
|
markStudent.setExamId(examId);
|
|
|
+ markStudent.setCourseCode(courseCode);
|
|
|
+ markStudent.setCoursePaperId(coursePaperId);
|
|
|
markStudent.setIncomplete(true);
|
|
|
return baseMapper.selectCountByQuery(markStudent, dpr);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ScanExamCheckInfoVo checkInfo(BasicExam exam) {
|
|
|
+ public ScanExamCheckInfoVo checkInfo(BasicExam exam, String courseCode, String coursePaperId) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
Long examId = exam.getId();
|
|
@@ -228,15 +235,15 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
vo.setId(exam.getId());
|
|
|
vo.setName(exam.getName());
|
|
|
CheckTask ct = vo.getCheckTask();
|
|
|
- ct.setUnexistCount(getCount(examId, ScanStatus.UNEXIST, dpr));
|
|
|
- ct.setUnexistCheckedCount(getCount(examId, ScanStatus.MANUAL_ABSENT, dpr));
|
|
|
- ct.setAssignedCount(scanPaperService.getAssignedCount(examId, false, dpr));
|
|
|
- ct.setAssignedCheckedCount(scanPaperService.getAssignedCount(examId, true, dpr));
|
|
|
- ct.setAbsentCheckCount(getOmrAbsentCount(examId, false, dpr));
|
|
|
- ct.setAbsentCheckedCount(getOmrAbsentCount(examId, true, dpr));
|
|
|
- ct.setObjectiveCheckCount(scanOmrTaskService.getCount(examId, OmrTaskStatus.WAITING, dpr));
|
|
|
- ct.setObjectiveCheckedCount(scanOmrTaskService.getCount(examId, OmrTaskStatus.PROCESSED, dpr));
|
|
|
- ct.setIncompleteCount(getIncompleteCount(examId, dpr));
|
|
|
+ ct.setUnexistCount(getCount(examId, ScanStatus.UNEXIST, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setUnexistCheckedCount(getCount(examId, ScanStatus.MANUAL_ABSENT, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setAssignedCount(scanPaperService.getAssignedCount(examId, false, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setAssignedCheckedCount(scanPaperService.getAssignedCount(examId, true, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setAbsentCheckCount(getOmrAbsentCount(examId, false, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setAbsentCheckedCount(getOmrAbsentCount(examId, true, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setObjectiveCheckCount(scanOmrTaskService.getCount(examId, OmrTaskStatus.WAITING, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setObjectiveCheckedCount(scanOmrTaskService.getCount(examId, OmrTaskStatus.PROCESSED, courseCode, coursePaperId, dpr));
|
|
|
+ ct.setIncompleteCount(getIncompleteCount(examId, courseCode, coursePaperId, dpr));
|
|
|
return vo;
|
|
|
}
|
|
|
|