|
@@ -182,7 +182,7 @@ public class MarkServiceImpl implements MarkService {
|
|
markProblemHistoryService.deleteByExamIdAndPaperNumberAndTaskId(examId, paperNumber, markTask.getId());
|
|
markProblemHistoryService.deleteByExamIdAndPaperNumberAndTaskId(examId, paperNumber, markTask.getId());
|
|
markArbitrateHistoryService.deleteByExamIdAndPaperNumberAndStudentIdAndQuestionId(examId, paperNumber, studentId, questionId);
|
|
markArbitrateHistoryService.deleteByExamIdAndPaperNumberAndStudentIdAndQuestionId(examId, paperNumber, studentId, questionId);
|
|
lockService.waitlock(LockType.STUDENT, markTask.getStudentId());
|
|
lockService.waitlock(LockType.STUDENT, markTask.getStudentId());
|
|
- markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, null, null);
|
|
|
|
|
|
+ markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK);
|
|
lockService.unlock(LockType.STUDENT, markTask.getStudentId());
|
|
lockService.unlock(LockType.STUDENT, markTask.getStudentId());
|
|
}
|
|
}
|
|
markUserQuestionService.resetById(markUserQuestion.getId());
|
|
markUserQuestionService.resetById(markUserQuestion.getId());
|
|
@@ -221,8 +221,7 @@ public class MarkServiceImpl implements MarkService {
|
|
}
|
|
}
|
|
|
|
|
|
private void resetStudentStatus(Long studentId) {
|
|
private void resetStudentStatus(Long studentId) {
|
|
-// markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, null, null);
|
|
|
|
- markStudentService.updateSubjectiveScoreByVersion(studentId, SubjectiveStatus.UNMARK, null, null, null);
|
|
|
|
|
|
+ markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -361,7 +360,7 @@ public class MarkServiceImpl implements MarkService {
|
|
updateStudentQuestionScore(studentId, markQuestion, markScore);
|
|
updateStudentQuestionScore(studentId, markQuestion, markScore);
|
|
// checkStudentSubjective(studentId, markQuestion.getExamId(), markQuestion.getPaperNumber(), version);
|
|
// checkStudentSubjective(studentId, markQuestion.getExamId(), markQuestion.getPaperNumber(), version);
|
|
} else {
|
|
} else {
|
|
- markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, null, null);
|
|
|
|
|
|
+ markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -410,6 +409,9 @@ public class MarkServiceImpl implements MarkService {
|
|
@Override
|
|
@Override
|
|
public void buildMarkTask(MarkPaper markPaper) {
|
|
public void buildMarkTask(MarkPaper markPaper) {
|
|
try {
|
|
try {
|
|
|
|
+ if(markPaper.getPaperNumber().equals("1017")){
|
|
|
|
+ System.out.println(1);
|
|
|
|
+ }
|
|
lockService.watch(LockType.EXAM_SUBJECT, markPaper.getExamId(), markPaper.getPaperNumber());
|
|
lockService.watch(LockType.EXAM_SUBJECT, markPaper.getExamId(), markPaper.getPaperNumber());
|
|
log.info("start create library for examId=" + markPaper.getExamId() + ", paperNumber="
|
|
log.info("start create library for examId=" + markPaper.getExamId() + ", paperNumber="
|
|
+ markPaper.getPaperNumber());
|
|
+ markPaper.getPaperNumber());
|
|
@@ -434,7 +436,7 @@ public class MarkServiceImpl implements MarkService {
|
|
for (MarkQuestion markQuestion : markQuestionList) {
|
|
for (MarkQuestion markQuestion : markQuestionList) {
|
|
// 生成正评任务
|
|
// 生成正评任务
|
|
buildFormalTask(markQuestion);
|
|
buildFormalTask(markQuestion);
|
|
- if (markQuestion.getDoubleRate() > 0) {
|
|
|
|
|
|
+ if (markQuestion.getDoubleRate() != null && markQuestion.getDoubleRate() > 0) {
|
|
// 补双评任务
|
|
// 补双评任务
|
|
fillFormalTask(markQuestion);
|
|
fillFormalTask(markQuestion);
|
|
}
|
|
}
|
|
@@ -630,7 +632,7 @@ public class MarkServiceImpl implements MarkService {
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public void deleteMarkTaskByStudent(MarkStudent student) {
|
|
public void deleteMarkTaskByStudent(MarkStudent student) {
|
|
- markStudentService.updateSubjectiveStatusAndScore(student.getId(), SubjectiveStatus.UNMARK, null, null);
|
|
|
|
|
|
+ markStudentService.updateSubjectiveStatusAndScore(student.getId(), SubjectiveStatus.UNMARK);
|
|
// 正评相关数据
|
|
// 正评相关数据
|
|
markArbitrateHistoryService.deleteByStudentId(student.getId());
|
|
markArbitrateHistoryService.deleteByStudentId(student.getId());
|
|
markProblemHistoryService.deleteByStudentId(student.getId());
|
|
markProblemHistoryService.deleteByStudentId(student.getId());
|
|
@@ -925,12 +927,13 @@ public class MarkServiceImpl implements MarkService {
|
|
Page<Long> page = new Page<>(pageNumber, pageSize);
|
|
Page<Long> page = new Page<>(pageNumber, pageSize);
|
|
OrderItem orderItem = new OrderItem(order, sort.equals(Sort.asc));
|
|
OrderItem orderItem = new OrderItem(order, sort.equals(Sort.asc));
|
|
page.addOrder(orderItem);
|
|
page.addOrder(orderItem);
|
|
- IPage<Long> list = markTaskService.listPageHistory(page, userId, examId, paperNumber, secretNumber, markerScore);
|
|
|
|
|
|
+ IPage<MarkTask> list = markTaskService.listPageHistory(page, userId, examId, paperNumber, secretNumber, markerScore);
|
|
List<Task> recordsDtos = new ArrayList<>();
|
|
List<Task> recordsDtos = new ArrayList<>();
|
|
List<MarkTaskStatus> markTaskStatuses = Arrays.asList(MarkTaskStatus.MARKED, MarkTaskStatus.WAIT_ARBITRATE, MarkTaskStatus.PROBLEM);
|
|
List<MarkTaskStatus> markTaskStatuses = Arrays.asList(MarkTaskStatus.MARKED, MarkTaskStatus.WAIT_ARBITRATE, MarkTaskStatus.PROBLEM);
|
|
- for (Long studentId : list.getRecords()) {
|
|
|
|
- List<MarkTask> markTaskList = markTaskService.listByStudentIdAndMarkerId(studentId, userId, markTaskStatuses);
|
|
|
|
|
|
+ for (MarkTask markTask : list.getRecords()) {
|
|
|
|
+ List<MarkTask> markTaskList = markTaskService.listByStudentIdAndMarkerId(markTask.getStudentId(), userId, markTaskStatuses);
|
|
Task dto = taskService.build(userId, markTaskList);
|
|
Task dto = taskService.build(userId, markTaskList);
|
|
|
|
+ dto.setMarkerTime(markTask.getMarkerTime());
|
|
recordsDtos.add(dto);
|
|
recordsDtos.add(dto);
|
|
}
|
|
}
|
|
IPage<Task> result = new Page<>();
|
|
IPage<Task> result = new Page<>();
|
|
@@ -1266,6 +1269,8 @@ public class MarkServiceImpl implements MarkService {
|
|
// 回评时,分数不一致,需要重新统分
|
|
// 回评时,分数不一致,需要重新统分
|
|
if (task.getMarkerScore() != null && !task.getMarkerScore().equals(result.getMarkerScore())) {
|
|
if (task.getMarkerScore() != null && !task.getMarkerScore().equals(result.getMarkerScore())) {
|
|
resetStudentStatus(task.getStudentId());
|
|
resetStudentStatus(task.getStudentId());
|
|
|
|
+ markTaskService.resetHeaderByStudentIdAndQuestionId(task.getStudentId(), task.getQuestionId());
|
|
|
|
+ markHeaderHistoryService.deleteByStudentIdAndQuestionId(task.getStudentId(), task.getQuestionId());
|
|
}
|
|
}
|
|
// 判断当前分组是否已完成评卷
|
|
// 判断当前分组是否已完成评卷
|
|
checkStudentQuestion(task.getStudentId(), markQuestion, result.getMarkerScore());
|
|
checkStudentQuestion(task.getStudentId(), markQuestion, result.getMarkerScore());
|
|
@@ -1322,6 +1327,8 @@ public class MarkServiceImpl implements MarkService {
|
|
// markSubjectiveScoreService.updateRejected(markTask.getStudentId(), markTask.getQuestionId(), true);
|
|
// markSubjectiveScoreService.updateRejected(markTask.getStudentId(), markTask.getQuestionId(), true);
|
|
markSubjectiveScoreService.deleteByStudentIdAndQuestionId(markTask.getStudentId(), markTask.getQuestionId());
|
|
markSubjectiveScoreService.deleteByStudentIdAndQuestionId(markTask.getStudentId(), markTask.getQuestionId());
|
|
resetStudentStatus(markTask.getStudentId());
|
|
resetStudentStatus(markTask.getStudentId());
|
|
|
|
+ markTaskService.resetHeaderByStudentIdAndQuestionId(markTask.getStudentId(), markTask.getQuestionId());
|
|
|
|
+ markHeaderHistoryService.deleteByStudentIdAndQuestionId(markTask.getStudentId(), markTask.getQuestionId());
|
|
updateMarkedCount(markTask.getExamId(), markTask.getPaperNumber(), markTask.getQuestionId());
|
|
updateMarkedCount(markTask.getExamId(), markTask.getPaperNumber(), markTask.getQuestionId());
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|