|
@@ -441,7 +441,7 @@ public class MarkServiceImpl implements MarkService {
|
|
for (MarkLibrary library : list) {
|
|
for (MarkLibrary library : list) {
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
- libraryDao.resetById(library.getId(), null, LibraryStatus.WAITING, library.getStatus());
|
|
|
|
|
|
+ libraryDao.resetById(library.getId(), null, null, LibraryStatus.WAITING, library.getStatus());
|
|
updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
library.getGroupNumber(), SubjectiveStatus.UNMARK);
|
|
library.getGroupNumber(), SubjectiveStatus.UNMARK);
|
|
studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
|
|
studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
|
|
@@ -764,13 +764,14 @@ public class MarkServiceImpl implements MarkService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public boolean rejectLibrary(MarkLibrary library, Integer userId, boolean isRest) {
|
|
|
|
|
|
+ public boolean rejectLibrary(MarkLibrary library, Integer userId, String reason, boolean isRest) {
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- if (libraryDao.resetById(library.getId(), null, isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED,
|
|
|
|
- LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
|
|
|
|
|
|
+ if (libraryDao.resetById(library.getId(), null, reason,
|
|
|
|
+ isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
|
|
|
|
+ LibraryStatus.INSPECTED) > 0) {
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
@@ -1506,7 +1507,7 @@ public class MarkServiceImpl implements MarkService {
|
|
}
|
|
}
|
|
if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
|
|
if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
|
|
// 仲裁任务直接重置 或者该分组下所有分数被打回也重置
|
|
// 仲裁任务直接重置 或者该分组下所有分数被打回也重置
|
|
- libraryDao.resetById(library.getId(), null, LibraryStatus.REJECTED, LibraryStatus.MARKED,
|
|
|
|
|
|
+ libraryDao.resetById(library.getId(), null, reason, LibraryStatus.REJECTED, LibraryStatus.MARKED,
|
|
LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
|
|
LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
trackDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
specialTagDao.deleteByLibraryId(library.getId());
|
|
@@ -1606,7 +1607,7 @@ public class MarkServiceImpl implements MarkService {
|
|
List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
|
|
library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
|
|
if (questionList.length == questions.size()) {
|
|
if (questionList.length == questions.size()) {
|
|
- return rejectLibrary(library, userId, false);
|
|
|
|
|
|
+ return rejectLibrary(library, userId, reason, false);
|
|
}
|
|
}
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|