|
@@ -569,7 +569,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void backArbitrate(Integer historyId, Integer userId, String reason) {
|
|
|
+ public void backArbitrate(Integer historyId, Integer userId,Integer rejectTypeId, String reason) {
|
|
|
ArbitrateHistory history = arbitrateDao.findOne(historyId);
|
|
|
List<Integer> questionIndexList = history.getQuestionIndexList();
|
|
|
List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
@@ -594,25 +594,30 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
RejectHistory rejectHistory = new RejectHistory(library);
|
|
|
rejectHistory.setUserId(userId);
|
|
|
+ rejectHistory.setRejectTypeId(rejectTypeId);
|
|
|
rejectHistory.setReason(reason);
|
|
|
-
|
|
|
+ String markerScore = library.getMarkerScoreList();
|
|
|
if (questionIndexList.isEmpty() || questionIndexList.size() == questions.size()) {
|
|
|
// 仲裁任务直接重置该分组下所有分数被打回也重置
|
|
|
markerService.updateRejectCountById(library.getMarkerId());
|
|
|
- libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
|
|
|
- LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED,
|
|
|
+// libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
|
|
|
+// LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED,
|
|
|
+// LibraryStatus.WAIT_ARBITRATE);
|
|
|
+ libraryDao.reject(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
+ markerScore, null, null,rejectTypeId, reason, userId, now, null, null,
|
|
|
+ LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED,
|
|
|
LibraryStatus.WAIT_ARBITRATE);
|
|
|
rejectHistoryDao.save(rejectHistory);
|
|
|
- trackDao.deleteByLibraryId(library.getId());
|
|
|
- specialTagDao.deleteByLibraryId(library.getId());
|
|
|
+// trackDao.deleteByLibraryId(library.getId());
|
|
|
+// specialTagDao.deleteByLibraryId(library.getId());
|
|
|
count++;
|
|
|
continue;
|
|
|
} else {
|
|
|
List<ScoreItem> sList = library.getMarkerScoreItem();
|
|
|
for (Integer questionIndex : questionIndexList) {
|
|
|
ExamQuestion question = questions.get(questionIndex - 1);
|
|
|
- trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
- question.getMainNumber() + "." + question.getSubNumber());
|
|
|
+// trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
+// question.getMainNumber() + "." + question.getSubNumber());
|
|
|
scoreDao.updateRejected(library.getStudentId(), question.getMainNumber(), question.getSubNumber(),
|
|
|
true);
|
|
|
ScoreItem si = sList.get(questionIndex - 1);
|
|
@@ -627,8 +632,8 @@ public class MarkServiceImpl implements MarkService {
|
|
|
markerScoreList.add("#");
|
|
|
}
|
|
|
}
|
|
|
- if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
- StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, null, null,
|
|
|
+ if (libraryDao.reject(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
+ markerScore, null, null, rejectTypeId,reason, userId, now, null, null,
|
|
|
LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED,
|
|
|
LibraryStatus.WAIT_ARBITRATE) == 1) {
|
|
|
markerService.updateRejectCountById(library.getMarkerId());
|
|
@@ -824,7 +829,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(), null, null, null, null, null,
|
|
|
+ result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), null,null, null, null, null, null,
|
|
|
LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.REJECTED) == 0) {
|
|
|
// 条件不符更新失败,直接返回
|
|
|
return false;
|
|
@@ -1054,24 +1059,27 @@ public class MarkServiceImpl implements MarkService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean rejectLibrary(MarkLibrary library, Integer userId, String reason, boolean isRest) {
|
|
|
+ public boolean rejectLibrary(MarkLibrary library, Integer userId,Integer rejectTypeId, String reason, boolean isRest) {
|
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|
|
|
return false;
|
|
|
}
|
|
|
- RejectHistory history = new RejectHistory(library);
|
|
|
- history.setUserId(userId);
|
|
|
- history.setReason(reason);
|
|
|
Date now = new Date();
|
|
|
- if (libraryDao.resetById(library.getId(), null, reason, userId, now,
|
|
|
- isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
|
|
|
- LibraryStatus.INSPECTED) > 0) {
|
|
|
+ if (libraryDao.reject(library.getId(), isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED, library.getMarkerId(),
|
|
|
+ null, isRest ? null:library.getMarkerScoreList(), null, null,rejectTypeId, reason, userId, now, null, null,
|
|
|
+ LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
|
|
|
if (!isRest) {
|
|
|
markerService.updateRejectCountById(library.getMarkerId());
|
|
|
+ RejectHistory history = new RejectHistory(library);
|
|
|
+ history.setUserId(userId);
|
|
|
+ history.setRejectTypeId(rejectTypeId);
|
|
|
+ history.setReason(reason);
|
|
|
rejectHistoryDao.save(history);
|
|
|
}
|
|
|
- trackDao.deleteByLibraryId(library.getId());
|
|
|
- specialTagDao.deleteByLibraryId(library.getId());
|
|
|
+ if(isRest){
|
|
|
+ trackDao.deleteByLibraryId(library.getId());
|
|
|
+ specialTagDao.deleteByLibraryId(library.getId());
|
|
|
+ }
|
|
|
scoreDao.updateRejected(library.getStudentId(), library.getGroupNumber(), true);
|
|
|
resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
|
|
|
library.getGroupNumber());
|
|
@@ -1952,7 +1960,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean rejectedStudent(ExamStudent student, MarkStepDTO[] markStepDTOs, Integer userId, String reason) {
|
|
|
+ public boolean rejectedStudent(ExamStudent student, MarkStepDTO[] markStepDTOs, Integer userId,Integer rejectTypeId, String reason) {
|
|
|
Map<Integer, List<MarkStepDTO>> map = new HashMap<Integer, List<MarkStepDTO>>();
|
|
|
|
|
|
for (MarkStepDTO markStepDTO : markStepDTOs) {
|
|
@@ -1989,34 +1997,36 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
RejectHistory history = new RejectHistory(library);
|
|
|
history.setUserId(userId);
|
|
|
+ history.setRejectTypeId(rejectTypeId);
|
|
|
history.setReason(reason);
|
|
|
|
|
|
- if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
|
|
|
- // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
|
|
|
+ if (library.getStatus().equals(LibraryStatus.ARBITRATED)) {
|
|
|
+ // 仲裁任务直接重置
|
|
|
headerTagDao.deleteByStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
|
|
|
headerTrackDao.deleteByPkStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
|
|
|
arbitrateDao.deleteByStudentIdAndGroupNumber(student.getId(), groupNumber);
|
|
|
- if (!ArbitrateType.QUESTION.equals(group.getArbitrateType())) {
|
|
|
- // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
|
|
|
- markerService.updateRejectCountById(library.getMarkerId());
|
|
|
- libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
|
|
|
- LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED,
|
|
|
- LibraryStatus.ARBITRATED);
|
|
|
- rejectHistoryDao.save(history);
|
|
|
- trackDao.deleteByLibraryId(library.getId());
|
|
|
- specialTagDao.deleteByLibraryId(library.getId());
|
|
|
- count++;
|
|
|
- continue;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if(qList.size() == questions.size()){
|
|
|
+ //该分组下所有分数被打回时回到待评池
|
|
|
+ markerService.updateRejectCountById(library.getMarkerId());
|
|
|
+// libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
|
|
|
+// LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
|
|
|
+ libraryDao.reject(library.getId(), LibraryStatus.REJECTED,null,
|
|
|
+ null, library.getMarkerScoreList(), null, null,rejectTypeId, reason, userId, now, null, null,
|
|
|
+ LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
|
|
|
+ rejectHistoryDao.save(history);
|
|
|
+// trackDao.deleteByLibraryId(library.getId());
|
|
|
+// specialTagDao.deleteByLibraryId(library.getId());
|
|
|
+ count++;
|
|
|
+ continue;
|
|
|
}
|
|
|
if (library.getStatus().equals(LibraryStatus.MARKED)
|
|
|
- || library.getStatus().equals(LibraryStatus.INSPECTED)
|
|
|
- || (library.getStatus().equals(LibraryStatus.ARBITRATED)
|
|
|
- && ArbitrateType.QUESTION.equals(group.getArbitrateType()))) {
|
|
|
+ || library.getStatus().equals(LibraryStatus.INSPECTED) || library.getStatus().equals(LibraryStatus.ARBITRATED)) {
|
|
|
+ String markerScore = library.getMarkerScoreList();
|
|
|
List<ScoreItem> sList = library.getMarkerScoreItem();
|
|
|
for (MarkStepDTO markStepDTO : qList) {
|
|
|
- trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
- markStepDTO.getMainNumber() + "." + markStepDTO.getSubNumber());
|
|
|
+// trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
+// markStepDTO.getMainNumber() + "." + markStepDTO.getSubNumber());
|
|
|
scoreDao.updateRejected(library.getStudentId(), markStepDTO.getMainNumber(),
|
|
|
markStepDTO.getSubNumber(), true);
|
|
|
for (int i = 0; i < questions.size(); i++) {
|
|
@@ -2037,8 +2047,8 @@ public class MarkServiceImpl implements MarkService {
|
|
|
markerScoreList.add("#");
|
|
|
}
|
|
|
}
|
|
|
- if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
|
|
|
- null, StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, null, null,
|
|
|
+ if (libraryDao.reject(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
|
|
|
+ null, markerScore, null, null,rejectTypeId, reason, userId, now, null, null,
|
|
|
LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED) == 1) {
|
|
|
markerService.updateRejectCountById(library.getMarkerId());
|
|
|
history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
|
|
@@ -2116,11 +2126,11 @@ public class MarkServiceImpl implements MarkService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId, String reason) {
|
|
|
+ public boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId,Integer rejectTypeId, String reason) {
|
|
|
List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
|
library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
|
|
|
if (questionList.length == questions.size()) {
|
|
|
- return rejectLibrary(library, userId, reason, false);
|
|
|
+ return rejectLibrary(library, userId, rejectTypeId,reason, false);
|
|
|
}
|
|
|
MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
|
if (group.getStatus() == MarkStatus.FINISH) {
|
|
@@ -2128,13 +2138,15 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
RejectHistory history = new RejectHistory(library);
|
|
|
history.setUserId(userId);
|
|
|
+ history.setRejectTypeId(rejectTypeId);
|
|
|
history.setReason(reason);
|
|
|
|
|
|
Date now = new Date();
|
|
|
List<ScoreItem> sList = library.getMarkerScoreItem();
|
|
|
+ String markerScore = library.getMarkerScoreList();
|
|
|
for (MarkStepDTO markStepDTO : questionList) {
|
|
|
- trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
- markStepDTO.getMainNumber() + "." + markStepDTO.getSubNumber());
|
|
|
+// trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
|
|
|
+// markStepDTO.getMainNumber() + "." + markStepDTO.getSubNumber());
|
|
|
scoreDao.updateRejected(library.getStudentId(), markStepDTO.getMainNumber(), markStepDTO.getSubNumber(),
|
|
|
true);
|
|
|
for (int i = 0; i < questions.size(); i++) {
|
|
@@ -2158,8 +2170,8 @@ public class MarkServiceImpl implements MarkService {
|
|
|
// markerScoreList.append(",");
|
|
|
// }
|
|
|
}
|
|
|
- if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
- StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, null, null,
|
|
|
+ if (libraryDao.reject(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
|
|
|
+ markerScore, null, null,rejectTypeId, reason, userId, now, null, null,
|
|
|
LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 1) {
|
|
|
markerService.updateRejectCountById(library.getMarkerId());
|
|
|
history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
|