|
@@ -625,7 +625,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
// 尝试提交评卷结果
|
|
|
Date now = new Date();
|
|
|
if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.MARKED, marker.getId(),
|
|
|
- result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), LibraryStatus.WAITING,
|
|
|
+ result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), null, LibraryStatus.WAITING,
|
|
|
LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.REJECTED) == 0) {
|
|
|
// 条件不符更新失败,直接返回
|
|
|
return false;
|
|
@@ -1427,44 +1427,51 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- @Transactional
|
|
|
- public boolean backStudentByGroup(ExamStudent student, Integer groupNumber, Integer userId) {
|
|
|
- MarkGroup group = groupDao.findOne(student.getExamId(), student.getSubjectCode(), groupNumber);
|
|
|
- if (group.getStatus() == MarkStatus.FINISH) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), groupNumber);
|
|
|
- int count = 0;
|
|
|
- for (MarkLibrary library : list) {
|
|
|
- if (libraryDao.resetById(library.getId(), null, LibraryStatus.REJECTED, LibraryStatus.MARKED,
|
|
|
- LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
|
|
|
- count++;
|
|
|
- trackDao.deleteByLibraryId(library.getId());
|
|
|
- specialTagDao.deleteByLibraryId(library.getId());
|
|
|
- problemHistoryDao.resetByLibraryId(library.getId(), HistoryStatus.WAITING, userId, HistoryStatus.BACK,
|
|
|
- new Date());
|
|
|
- if (library.getTaskNumber() == 3) {
|
|
|
- // 出现三评时删除第三条任务
|
|
|
- problemHistoryDao.deleteByLibraryId(library.getId());
|
|
|
- libraryDao.delete(library);
|
|
|
- updateLibraryCount(group);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (count > 0) {
|
|
|
- updateMarkedCount(group);
|
|
|
- resetStudentGroup(student.getId(), group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
- studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(), SubjectiveStatus.UNMARK, null,
|
|
|
- null);
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
+ // @Override
|
|
|
+ // @Transactional
|
|
|
+ // public boolean backStudentByGroup(ExamStudent student, Integer
|
|
|
+ // groupNumber, Integer userId) {
|
|
|
+ // MarkGroup group = groupDao.findOne(student.getExamId(),
|
|
|
+ // student.getSubjectCode(), groupNumber);
|
|
|
+ // if (group.getStatus() == MarkStatus.FINISH) {
|
|
|
+ // return false;
|
|
|
+ // }
|
|
|
+ // List<MarkLibrary> list =
|
|
|
+ // libraryDao.findByStudentIdAndGroupNumber(student.getId(), groupNumber);
|
|
|
+ // int count = 0;
|
|
|
+ // for (MarkLibrary library : list) {
|
|
|
+ // if (libraryDao.resetById(library.getId(), null, LibraryStatus.REJECTED,
|
|
|
+ // LibraryStatus.MARKED,
|
|
|
+ // LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
|
|
|
+ // count++;
|
|
|
+ // trackDao.deleteByLibraryId(library.getId());
|
|
|
+ // specialTagDao.deleteByLibraryId(library.getId());
|
|
|
+ // problemHistoryDao.resetByLibraryId(library.getId(),
|
|
|
+ // HistoryStatus.WAITING, userId, HistoryStatus.BACK,
|
|
|
+ // new Date());
|
|
|
+ // if (library.getTaskNumber() == 3) {
|
|
|
+ // // 出现三评时删除第三条任务
|
|
|
+ // problemHistoryDao.deleteByLibraryId(library.getId());
|
|
|
+ // libraryDao.delete(library);
|
|
|
+ // updateLibraryCount(group);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (count > 0) {
|
|
|
+ // updateMarkedCount(group);
|
|
|
+ // resetStudentGroup(student.getId(), group.getExamId(),
|
|
|
+ // group.getSubjectCode(), group.getNumber());
|
|
|
+ // studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(),
|
|
|
+ // SubjectiveStatus.UNMARK, null,
|
|
|
+ // null);
|
|
|
+ // return true;
|
|
|
+ // }
|
|
|
+ // return false;
|
|
|
+ // }
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean rejectedStudent(ExamStudent student, MarkStepDTO[] markStepDTOs, Integer userId) {
|
|
|
+ public boolean rejectedStudent(ExamStudent student, MarkStepDTO[] markStepDTOs, Integer userId, String reason) {
|
|
|
Map<Integer, List<MarkStepDTO>> map = new HashMap<Integer, List<MarkStepDTO>>();
|
|
|
|
|
|
for (MarkStepDTO markStepDTO : markStepDTOs) {
|
|
@@ -1534,10 +1541,9 @@ public class MarkServiceImpl implements MarkService {
|
|
|
markerScoreList.append(",");
|
|
|
}
|
|
|
}
|
|
|
- if (libraryDao
|
|
|
- .updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
- markerScoreList.toString(), null, null, LibraryStatus.MARKED,
|
|
|
- LibraryStatus.INSPECTED) == 1) {
|
|
|
+ if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
|
|
|
+ null, markerScoreList.toString(), null, null, reason, LibraryStatus.MARKED,
|
|
|
+ LibraryStatus.INSPECTED) == 1) {
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
@@ -1596,7 +1602,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId) {
|
|
|
+ public boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId, String reason) {
|
|
|
List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
|
library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
|
|
|
if (questionList.length == questions.size()) {
|
|
@@ -1632,7 +1638,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
}
|
|
|
if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
- markerScoreList.toString(), null, null, LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 1) {
|
|
|
+ markerScoreList.toString(), null, null, reason, LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 1) {
|
|
|
resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
|
library.getGroupNumber());
|
|
|
problemHistoryDao.resetByLibraryId(library.getId(), HistoryStatus.WAITING, userId, HistoryStatus.BACK,
|