|
@@ -417,6 +417,45 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ScanOmrStudent getTask(Long examId, Long userId,Long studentId) {
|
|
|
+ MarkStudentVo student = studentService.getMarkStudentVoByStudentId(studentId);
|
|
|
+ if (student == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("没有识别对照任务");
|
|
|
+ }
|
|
|
+ QueryWrapper<ScanOmrTask> wrapper = new QueryWrapper<>();
|
|
|
+ LambdaQueryWrapper<ScanOmrTask> lw = wrapper.lambda();
|
|
|
+ lw.eq(ScanOmrTask::getStudentId, studentId);
|
|
|
+ List<ScanOmrTask> list = baseMapper.selectList(wrapper);
|
|
|
+ if (list.isEmpty()) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("没有识别对照任务");
|
|
|
+ }
|
|
|
+ if(list.get(0).getStatus().equals(OmrTaskStatus.WAITING)&& this.apply(student, userId)){
|
|
|
+ ScanOmrStudent scanOmrStudent = new ScanOmrStudent();
|
|
|
+ scanOmrStudent.setCardNumber(student.getCardNumber());
|
|
|
+ scanOmrStudent.setStudentCode(student.getStudentCode());
|
|
|
+ scanOmrStudent.setStudentName(student.getStudentName());
|
|
|
+ scanOmrStudent.setCourseCode(student.getCourseCode());
|
|
|
+ scanOmrStudent.setCourseName(student.getCourseName());
|
|
|
+ scanOmrStudent.setCoursePaperId(student.getCoursePaperId());
|
|
|
+ scanOmrStudent.setCoursePaperNumber(student.getPaperNumber());
|
|
|
+ scanOmrStudent.setTasks(toTaskVo(list));
|
|
|
+ return scanOmrStudent;
|
|
|
+ } else if(list.get(0).getStatus().equals(OmrTaskStatus.PROCESSED)&&list.get(0).getUserId().equals(userId)){
|
|
|
+ ScanOmrStudent scanOmrStudent = new ScanOmrStudent();
|
|
|
+ scanOmrStudent.setCardNumber(student.getCardNumber());
|
|
|
+ scanOmrStudent.setStudentCode(student.getStudentCode());
|
|
|
+ scanOmrStudent.setStudentName(student.getStudentName());
|
|
|
+ scanOmrStudent.setCourseCode(student.getCourseCode());
|
|
|
+ scanOmrStudent.setCourseName(student.getCourseName());
|
|
|
+ scanOmrStudent.setCoursePaperId(student.getCoursePaperId());
|
|
|
+ scanOmrStudent.setCoursePaperNumber(student.getPaperNumber());
|
|
|
+ scanOmrStudent.setTasks(toTaskVo(list));
|
|
|
+ return scanOmrStudent;
|
|
|
+ }else{
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("没有识别对照任务");
|
|
|
+ }
|
|
|
+ }
|
|
|
@Override
|
|
|
public ScanOmrStudent getTask(Long examId, Long userId) {
|
|
|
Long studentId = findWaitingTask(examId,userId);
|