|
@@ -2564,7 +2564,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, StudentEntity> i
|
|
|
student.setAbsentSuspect(false);
|
|
|
student.setAssignedCheckCount(1);
|
|
|
saveOrUpdate(student);
|
|
|
- assignedCheckHistoryService.deleteByStudentIdAndUserRole(student.getId(),Role.SCHOOL_ADMIN);
|
|
|
+ assignedCheckHistoryService.deleteByStudentIdAndUserRole(student.getId(), Role.SCHOOL_ADMIN);
|
|
|
} finally {
|
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + student.getId()).writeLock().unlock();
|
|
|
}
|
|
@@ -2580,4 +2580,18 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, StudentEntity> i
|
|
|
update(lw);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean existUncheck(Long examId, String subjectCode) {
|
|
|
+ List<ExamStatus> st = new ArrayList<>();
|
|
|
+ st.add(ExamStatus.UNCHECK1);
|
|
|
+ st.add(ExamStatus.UNCHECK2);
|
|
|
+ st.add(ExamStatus.UNCHECK3);
|
|
|
+ LambdaQueryWrapper<StudentEntity> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(StudentEntity::getExamId, examId);
|
|
|
+ wrapper.eq(StudentEntity::getSubjectCode, subjectCode);
|
|
|
+ wrapper.in(StudentEntity::getExamStatus, st);
|
|
|
+ wrapper.last("LIMIT 1");
|
|
|
+ return this.getOne(wrapper) != null;
|
|
|
+ }
|
|
|
+
|
|
|
}
|