|
@@ -50,6 +50,7 @@ import cn.com.qmth.stmms.common.enums.MarkMode;
|
|
import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
import cn.com.qmth.stmms.common.enums.ScorePolicy;
|
|
import cn.com.qmth.stmms.common.enums.ScorePolicy;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.ThirdPolicy;
|
|
import cn.com.qmth.stmms.common.utils.PictureUrlBuilder;
|
|
import cn.com.qmth.stmms.common.utils.PictureUrlBuilder;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
|
|
|
@@ -246,6 +247,7 @@ public class MarkGroupController extends BaseExamController {
|
|
model.addAttribute("group", group);
|
|
model.addAttribute("group", group);
|
|
model.addAttribute("markModeList", MarkMode.values());
|
|
model.addAttribute("markModeList", MarkMode.values());
|
|
model.addAttribute("scorePolicyList", ScorePolicy.values());
|
|
model.addAttribute("scorePolicyList", ScorePolicy.values());
|
|
|
|
+ model.addAttribute("thirdPolicyList", ThirdPolicy.values());
|
|
return "modules/exam/groupAdd";
|
|
return "modules/exam/groupAdd";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -312,6 +314,7 @@ public class MarkGroupController extends BaseExamController {
|
|
model.addAttribute("pictureConfig", pictureConfig);
|
|
model.addAttribute("pictureConfig", pictureConfig);
|
|
model.addAttribute("markModeList", MarkMode.values());
|
|
model.addAttribute("markModeList", MarkMode.values());
|
|
model.addAttribute("scorePolicyList", ScorePolicy.values());
|
|
model.addAttribute("scorePolicyList", ScorePolicy.values());
|
|
|
|
+ model.addAttribute("thirdPolicyList", ThirdPolicy.values());
|
|
return "modules/exam/groupEditFull";
|
|
return "modules/exam/groupEditFull";
|
|
} else {
|
|
} else {
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
@@ -351,7 +354,7 @@ public class MarkGroupController extends BaseExamController {
|
|
public String save(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
public String save(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam Boolean reset,
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam Boolean reset,
|
|
@RequestParam(required = false) String picList, @RequestParam(required = false) Double doubleRate,
|
|
@RequestParam(required = false) String picList, @RequestParam(required = false) Double doubleRate,
|
|
- @RequestParam(required = false) Double arbitrateThreshold,
|
|
|
|
|
|
+ @RequestParam(required = false) Double arbitrateThreshold,@RequestParam(required = false) Integer thirdPolicy,
|
|
@RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) MarkMode markMode,
|
|
@RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) MarkMode markMode,
|
|
@RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView,
|
|
@RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView,
|
|
@RequestParam(required = false) String questionDetail,
|
|
@RequestParam(required = false) String questionDetail,
|
|
@@ -392,10 +395,11 @@ public class MarkGroupController extends BaseExamController {
|
|
}
|
|
}
|
|
if (detailList != null && detailList.size() > 0) {
|
|
if (detailList != null && detailList.size() > 0) {
|
|
ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
|
|
ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
|
|
|
|
+ ThirdPolicy third = thirdPolicy != null ? ThirdPolicy.findByValue(thirdPolicy) : ThirdPolicy.DISABLE;
|
|
try {
|
|
try {
|
|
lockService.waitlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),
|
|
lockService.waitlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),
|
|
group.getNumber());
|
|
group.getNumber());
|
|
- markService.updateGroup(group, buildQuestionList(group, detailList), policy);
|
|
|
|
|
|
+ markService.updateGroup(group, buildQuestionList(group, detailList), policy,third);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.error("update group error", e);
|
|
log.error("update group error", e);
|
|
throw new RuntimeException("重置更新大题失败", e);
|
|
throw new RuntimeException("重置更新大题失败", e);
|
|
@@ -461,7 +465,7 @@ public class MarkGroupController extends BaseExamController {
|
|
public String insert(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
public String insert(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam String questionDetail,
|
|
@RequestParam String subjectCode, @RequestParam Integer number, @RequestParam String questionDetail,
|
|
@RequestParam String picList, @RequestParam(required = false) Double doubleRate,
|
|
@RequestParam String picList, @RequestParam(required = false) Double doubleRate,
|
|
- @RequestParam(required = false) Double arbitrateThreshold,
|
|
|
|
|
|
+ @RequestParam(required = false) Double arbitrateThreshold,@RequestParam(required = false) Integer thirdPolicy,
|
|
@RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) String markMode,
|
|
@RequestParam(required = false) Integer scorePolicy, @RequestParam(required = false) String markMode,
|
|
@RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView) {
|
|
@RequestParam(required = false) Integer trialCount, @RequestParam(required = false) boolean sheetView) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
@@ -508,7 +512,7 @@ public class MarkGroupController extends BaseExamController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
|
|
group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
|
|
- scorePolicy, markMode, trialCount, sheetView);
|
|
|
|
|
|
+ scorePolicy, markMode, trialCount, sheetView,thirdPolicy);
|
|
// clear and replace exam_question
|
|
// clear and replace exam_question
|
|
questionService.deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
|
|
questionService.deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
|
|
List<ExamQuestion> list = buildQuestionList(group, detailList);
|
|
List<ExamQuestion> list = buildQuestionList(group, detailList);
|
|
@@ -553,7 +557,7 @@ public class MarkGroupController extends BaseExamController {
|
|
} else {
|
|
} else {
|
|
addMessage(redirectAttributes, "参数有误");
|
|
addMessage(redirectAttributes, "参数有误");
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
- return "redirect:/admin/exam/group";
|
|
|
|
|
|
+ return "redirect:/admin/exam/group/add";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|