|
@@ -501,33 +501,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
if (group.getStatus() == MarkStatus.FORMAL) {
|
|
|
// 仲裁和等待仲裁的任务不被重置
|
|
|
- // trackDao.deleteByMarkerId(marker.getId(),
|
|
|
- // LibraryStatus.ARBITRATED, LibraryStatus.WAIT_ARBITRATE,
|
|
|
- // LibraryStatus.PROBLEM);
|
|
|
- // specialTagDao.deleteByMarkerId(marker.getId(),
|
|
|
- // LibraryStatus.ARBITRATED, LibraryStatus.WAIT_ARBITRATE,
|
|
|
- // LibraryStatus.PROBLEM);
|
|
|
- // libraryDao.resetByMarkerId(marker.getId(), LibraryStatus.WAITING,
|
|
|
- // LibraryStatus.ARBITRATED,
|
|
|
- // LibraryStatus.WAIT_ARBITRATE, LibraryStatus.PROBLEM);
|
|
|
- // 原遍历模式改为SQL批量更新模式,提高执行速度
|
|
|
- // groupStudentDao.updateStatusByMarkLibraryStatus(marker.getExamId(),
|
|
|
- // marker.getSubjectCode(),
|
|
|
- // marker.getGroupNumber(), SubjectiveStatus.UNMARK,
|
|
|
- // LibraryStatus.WAITING);
|
|
|
- // scoreDao.deleteByStudentGroupStatus(marker.getExamId(),
|
|
|
- // marker.getSubjectCode(), marker.getGroupNumber(),
|
|
|
- // SubjectiveStatus.UNMARK);
|
|
|
- // studentService.resetSubjectiveStatusByGroupStatus(marker.getExamId(),
|
|
|
- // marker.getSubjectCode());
|
|
|
// 只选取评卷完成状态的记录重新检查
|
|
|
- // List<Integer> studentIdList =
|
|
|
- // groupStudentDao.findStudentIdByGroupNumberAndStatus(marker.getExamId(),
|
|
|
- // marker.getSubjectCode(), marker.getGroupNumber(),
|
|
|
- // SubjectiveStatus.MARKED);
|
|
|
- // for (Integer studentId : studentIdList) {
|
|
|
- // checkStudentGroup(studentId, group);
|
|
|
- // }
|
|
|
// 遍历相关评卷任务的模式
|
|
|
List<MarkLibrary> list = libraryDao.findByMarkerIdAndStatusNotIn(marker.getId(), LibraryStatus.ARBITRATED,
|
|
|
LibraryStatus.WAIT_ARBITRATE, LibraryStatus.PROBLEM);
|
|
@@ -545,6 +519,15 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
markerDao.resetById(marker.getId());
|
|
|
} else if (group.getStatus() == MarkStatus.TRIAL) {
|
|
|
+ List<TrialLibrary> list = trialLibraryDao.findByMarkerId(marker.getId());
|
|
|
+ for (TrialLibrary library : list) {
|
|
|
+ lockService.waitlock(LockType.STUDENT, library.getStudentId());
|
|
|
+ updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
|
+ library.getGroupNumber(), SubjectiveStatus.UNMARK);
|
|
|
+ studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
|
|
|
+ inspectedService.cancelByStudent(library.getStudentId());
|
|
|
+ lockService.unlock(LockType.STUDENT, library.getStudentId());
|
|
|
+ }
|
|
|
trialTagDao.deleteByMarkerId(marker.getId());
|
|
|
trialTrackDao.deleteByMarkerId(marker.getId());
|
|
|
trialLibraryDao.resetByMarkerId(marker.getId());
|
|
@@ -1365,14 +1348,16 @@ public class MarkServiceImpl implements MarkService {
|
|
|
group.getNumber(), LibraryStatus.WAITING);
|
|
|
libraryDao.deleteByExamIdAndSubjectCodeAndGroupNumberAndTaskNumber(group.getExamId(),
|
|
|
group.getSubjectCode(), group.getNumber(), 3);
|
|
|
- markerDao.resetByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(), group.getSubjectCode(),
|
|
|
- group.getNumber());
|
|
|
- resetStudentGroup(group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
} else if (group.getStatus() == MarkStatus.TRIAL) {
|
|
|
trialTrackDao.deleteByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(), group.getSubjectCode(),
|
|
|
group.getNumber());
|
|
|
trialTagDao.deleteByExamAndSubjectAndGroup(group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
+ trialLibraryDao.resetByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(), group.getSubjectCode(),
|
|
|
+ group.getNumber());
|
|
|
}
|
|
|
+ markerDao.resetByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(), group.getSubjectCode(),
|
|
|
+ group.getNumber());
|
|
|
+ resetStudentGroup(group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
updateLibraryCount(group);
|
|
|
groupDao.resetCount(group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
releaseByGroup(group);
|