|
@@ -88,7 +88,8 @@ public class SelectiveGroupController extends BaseExamController {
|
|
addMessage(redirectAttributes, "该科目已经存在分组,无法设置");
|
|
addMessage(redirectAttributes, "该科目已经存在分组,无法设置");
|
|
return "redirect:/admin/exam/paper";
|
|
return "redirect:/admin/exam/paper";
|
|
}
|
|
}
|
|
- if (!checkTotalScore(examId, subjectCode, mainNumbers)) {
|
|
|
|
|
|
+ double questionScore = 0;
|
|
|
|
+ if (!checkTotalScore(examId, subjectCode, mainNumbers, questionScore)) {
|
|
addMessage(redirectAttributes, "选做题分数必须一样");
|
|
addMessage(redirectAttributes, "选做题分数必须一样");
|
|
return "redirect:/admin/exam/paper";
|
|
return "redirect:/admin/exam/paper";
|
|
}
|
|
}
|
|
@@ -99,11 +100,14 @@ public class SelectiveGroupController extends BaseExamController {
|
|
list.add(new SelectiveGroup(examId, subjectCode, mainNumber, 1, selectiveCount));
|
|
list.add(new SelectiveGroup(examId, subjectCode, mainNumber, 1, selectiveCount));
|
|
}
|
|
}
|
|
selectiveGroupService.save(list);
|
|
selectiveGroupService.save(list);
|
|
|
|
+ Double totalScore = questionService.sumTotalScore(examId, subjectCode, false);
|
|
|
|
+ totalScore = totalScore - (mainNumbers.length - selectiveCount) * questionScore;
|
|
|
|
+ subjectService.updateScore(examId, subjectCode, false, totalScore);
|
|
}
|
|
}
|
|
return "redirect:/admin/exam/paper";
|
|
return "redirect:/admin/exam/paper";
|
|
}
|
|
}
|
|
|
|
|
|
- private boolean checkTotalScore(int examId, String subjectCode, Integer[] mainNumbers) {
|
|
|
|
|
|
+ private boolean checkTotalScore(int examId, String subjectCode, Integer[] mainNumbers, double questionScore) {
|
|
List<ExamQuestion> questions = questionService.findMainByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
List<ExamQuestion> questions = questionService.findMainByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
Map<Integer, ExamQuestion> map = new HashMap<Integer, ExamQuestion>();
|
|
Map<Integer, ExamQuestion> map = new HashMap<Integer, ExamQuestion>();
|
|
for (ExamQuestion examQuestion : questions) {
|
|
for (ExamQuestion examQuestion : questions) {
|
|
@@ -118,6 +122,7 @@ public class SelectiveGroupController extends BaseExamController {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ questionScore = totalScore;
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -133,6 +138,8 @@ public class SelectiveGroupController extends BaseExamController {
|
|
return "redirect:/admin/exam/paper";
|
|
return "redirect:/admin/exam/paper";
|
|
}
|
|
}
|
|
selectiveGroupService.deleteByExamIdAndSubjectCode(examId, subjectCode);
|
|
selectiveGroupService.deleteByExamIdAndSubjectCode(examId, subjectCode);
|
|
|
|
+ subjectService.updateScore(examId, subjectCode, false,
|
|
|
|
+ questionService.sumTotalScore(examId, subjectCode, false));
|
|
return "redirect:/admin/exam/paper";
|
|
return "redirect:/admin/exam/paper";
|
|
}
|
|
}
|
|
}
|
|
}
|