|
@@ -322,8 +322,10 @@ public class MarkGroupController extends BaseExamController {
|
|
|
return;
|
|
|
}
|
|
|
groupCount = groupService.countByExamAndSubject(group.getExamId(), group.getSubjectCode());
|
|
|
- List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(group.getExamId(), group.getSubjectCode(),
|
|
|
- SubjectiveStatus.UNMARK,true,false,false);
|
|
|
+ List<Integer> studentList = studentService
|
|
|
+ .findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(
|
|
|
+ group.getExamId(), group.getSubjectCode(), SubjectiveStatus.UNMARK, true, false,
|
|
|
+ false);
|
|
|
for (Integer studentId : studentList) {
|
|
|
lockService.waitlock(LockType.STUDENT, studentId);
|
|
|
markService.checkStudentSubjective(studentId, groupCount, unGroupQuestionCount);
|
|
@@ -550,7 +552,7 @@ public class MarkGroupController extends BaseExamController {
|
|
|
boolean selective = false;
|
|
|
for (int i = 0; i < questionIds.length; i++) {
|
|
|
ExamQuestion question = questionService.findById(questionIds[i]);
|
|
|
- if (ArbitrateType.QUESTION.equals(at)) {
|
|
|
+ if (doubleRate != null && doubleRate > 0 && ArbitrateType.QUESTION.equals(at)) {
|
|
|
question.setArbitrateThreshold(arbitrateThresholds.get(i));
|
|
|
} else {
|
|
|
question.setArbitrateThreshold(null);
|
|
@@ -835,7 +837,7 @@ public class MarkGroupController extends BaseExamController {
|
|
|
public String finish(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
|
@RequestParam String subjectCode, @RequestParam Integer[] groupNumbers) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
- String messages ="";
|
|
|
+ String messages = "";
|
|
|
for (Integer number : groupNumbers) {
|
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
|
if (group == null || group.getStatus() == MarkStatus.FINISH) {
|
|
@@ -847,14 +849,14 @@ public class MarkGroupController extends BaseExamController {
|
|
|
&& selectiveStudentDao.countByExamIdAndSubjectCodeAndLessSelectiveOrNotSelective(
|
|
|
group.getExamId(), group.getSubjectCode(), true, true) == 0) {
|
|
|
groupService.updateStatus(examId, subjectCode, number, MarkStatus.FINISH, group.getStatus());
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
messages = "评卷未完成或选做题异常,无法关闭分组";
|
|
|
}
|
|
|
} finally {
|
|
|
lockService.unlock(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
|
}
|
|
|
}
|
|
|
- if(StringUtils.isNotBlank(messages)){
|
|
|
+ if (StringUtils.isNotBlank(messages)) {
|
|
|
addMessage(redirectAttributes, messages);
|
|
|
}
|
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|