|
@@ -270,6 +270,7 @@ public class MarkGroupController extends BaseExamController {
|
|
|
model.addAttribute("pictureConfig", pictureConfig);
|
|
|
model.addAttribute("markModeList", MarkMode.values());
|
|
|
model.addAttribute("scorePolicyList", ScorePolicy.values());
|
|
|
+ model.addAttribute("thirdPolicyList", ThirdPolicy.values());
|
|
|
return "modules/exam/groupEditSimple";
|
|
|
} else {
|
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
@@ -354,10 +355,10 @@ public class MarkGroupController extends BaseExamController {
|
|
|
public String save(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam Boolean reset,
|
|
|
@RequestParam(required = false) String picList, @RequestParam(required = false) Double doubleRate,
|
|
|
- @RequestParam(required = false) Double arbitrateThreshold,@RequestParam(required = false) Integer thirdPolicy,
|
|
|
- @RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) MarkMode markMode,
|
|
|
- @RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView,
|
|
|
- @RequestParam(required = false) String questionDetail,
|
|
|
+ @RequestParam(required = false) Double arbitrateThreshold,
|
|
|
+ @RequestParam(required = false) Integer thirdPolicy, @RequestParam(required = false) Integer scorePolicy,
|
|
|
+ @RequestParam(required = false) MarkMode markMode, @RequestParam(required = false) Integer trialCount,
|
|
|
+ @RequestParam(required = false) boolean sheetView, @RequestParam(required = false) String questionDetail,
|
|
|
@RequestParam(required = false) String intervalScoreList) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
@@ -368,7 +369,8 @@ public class MarkGroupController extends BaseExamController {
|
|
|
questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
|
|
|
JSONArray array = JSONArray.fromObject(questionDetail);
|
|
|
List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
|
|
|
- List<ExamQuestion> all = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
|
+ List<ExamQuestion> all = questionService.findByExamAndSubjectAndObjective(examId, subjectCode,
|
|
|
+ false);
|
|
|
List<ExamQuestion> old = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
subjectCode, false, number);
|
|
|
Set<Integer> mainNumbers = new HashSet<Integer>();
|
|
@@ -395,11 +397,12 @@ public class MarkGroupController extends BaseExamController {
|
|
|
}
|
|
|
if (detailList != null && detailList.size() > 0) {
|
|
|
ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
|
|
|
- ThirdPolicy third = thirdPolicy != null ? ThirdPolicy.findByValue(thirdPolicy) : ThirdPolicy.DISABLE;
|
|
|
+ ThirdPolicy third = thirdPolicy != null ? ThirdPolicy.findByValue(thirdPolicy)
|
|
|
+ : ThirdPolicy.DISABLE;
|
|
|
try {
|
|
|
lockService.waitlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),
|
|
|
group.getNumber());
|
|
|
- markService.updateGroup(group, buildQuestionList(group, detailList), policy,third);
|
|
|
+ markService.updateGroup(group, buildQuestionList(group, detailList), policy, third);
|
|
|
} catch (Exception e) {
|
|
|
log.error("update group error", e);
|
|
|
throw new RuntimeException("重置更新大题失败", e);
|
|
@@ -442,7 +445,7 @@ public class MarkGroupController extends BaseExamController {
|
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
redirectAttributes.addAttribute("number", number);
|
|
|
return "redirect:/admin/exam/group";
|
|
|
-
|
|
|
+
|
|
|
} catch (Exception e) {
|
|
|
log.error("edit markgroup error", e);
|
|
|
addMessage(redirectAttributes, "参数有误");
|
|
@@ -465,9 +468,10 @@ public class MarkGroupController extends BaseExamController {
|
|
|
public String insert(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam String questionDetail,
|
|
|
@RequestParam String picList, @RequestParam(required = false) Double doubleRate,
|
|
|
- @RequestParam(required = false) Double arbitrateThreshold,@RequestParam(required = false) Integer thirdPolicy,
|
|
|
- @RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) String markMode,
|
|
|
- @RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView) {
|
|
|
+ @RequestParam(required = false) Double arbitrateThreshold,
|
|
|
+ @RequestParam(required = false) Integer thirdPolicy, @RequestParam(required = false) Integer scorePolicy,
|
|
|
+ @RequestParam(required = false) String markMode, @RequestParam(required = false) Integer trialCount,
|
|
|
+ @RequestParam(required = false) boolean sheetView) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
|
if (group != null) {
|
|
@@ -488,7 +492,8 @@ public class MarkGroupController extends BaseExamController {
|
|
|
// build picList
|
|
|
picList = StringEscapeUtils.unescapeHtml(picList);
|
|
|
JSONArray array = JSONArray.fromObject(picList);
|
|
|
- List<PictureConfigItem> picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
|
|
|
+ List<PictureConfigItem> picConfigList = JSONArray.toList(array, new PictureConfigItem(),
|
|
|
+ new JsonConfig());
|
|
|
// build questionDetail
|
|
|
questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
|
|
|
array = JSONArray.fromObject(questionDetail);
|
|
@@ -511,14 +516,16 @@ public class MarkGroupController extends BaseExamController {
|
|
|
return "redirect:/admin/exam/group/add";
|
|
|
}
|
|
|
}
|
|
|
- group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
|
|
|
- scorePolicy, markMode, trialCount, sheetView,thirdPolicy);
|
|
|
+ group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate,
|
|
|
+ arbitrateThreshold, scorePolicy, markMode, trialCount, sheetView, thirdPolicy);
|
|
|
// clear and replace exam_question
|
|
|
- questionService.deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
|
|
|
+ questionService
|
|
|
+ .deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
|
|
|
List<ExamQuestion> list = buildQuestionList(group, detailList);
|
|
|
questionService.save(list);
|
|
|
groupService.save(group);
|
|
|
- subjectService.updateScore(examId, subjectCode, false, groupService.sumTotalScore(examId, subjectCode));
|
|
|
+ subjectService.updateScore(examId, subjectCode, false,
|
|
|
+ groupService.sumTotalScore(examId, subjectCode));
|
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
return "redirect:/admin/exam/group";
|
|
|
} else {
|