|
@@ -9,6 +9,7 @@ import java.util.Set;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.*;
|
|
import org.apache.commons.lang.StringEscapeUtils;
|
|
import org.apache.commons.lang.StringEscapeUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -25,10 +26,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
|
|
|
import cn.com.qmth.stmms.admin.dto.SelectivePartDTO;
|
|
import cn.com.qmth.stmms.admin.dto.SelectivePartDTO;
|
|
import cn.com.qmth.stmms.admin.thread.SubjectiveCalculateThread;
|
|
import cn.com.qmth.stmms.admin.thread.SubjectiveCalculateThread;
|
|
-import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.SelectiveGroup;
|
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
@@ -245,19 +242,28 @@ public class SelectiveGroupController extends BaseExamController {
|
|
@RequestMapping("/edit")
|
|
@RequestMapping("/edit")
|
|
@Transactional
|
|
@Transactional
|
|
public String edit(HttpServletRequest request, RedirectAttributes redirectAttributes,
|
|
public String edit(HttpServletRequest request, RedirectAttributes redirectAttributes,
|
|
- @RequestParam String subjectCode, @RequestParam Integer selectiveIndex, @RequestParam Integer policy) {
|
|
|
|
|
|
+ @RequestParam String subjectCode, @RequestParam Integer selectiveIndex, @RequestParam Integer policy,@RequestParam(required = true,defaultValue = "false") Boolean enableAllSelective) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
if (lockService.isLocked(LockType.SCORE_CALCULATE, examId, subjectCode)) {
|
|
if (lockService.isLocked(LockType.SCORE_CALCULATE, examId, subjectCode)) {
|
|
addMessage(redirectAttributes, "正在统分中,请稍后再试");
|
|
addMessage(redirectAttributes, "正在统分中,请稍后再试");
|
|
return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
|
|
return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
|
|
}
|
|
}
|
|
- selectiveGroupService.updateScorePolicy(examId, subjectCode, selectiveIndex, ScorePolicy.findByValue(policy));
|
|
|
|
|
|
+ ExamSubject subject = subjectService.find(examId,subjectCode);
|
|
|
|
+ if(subject.isEnableAllSelective()!=enableAllSelective){
|
|
|
|
+ subjectService.updateEnableAllSelective(examId,subjectCode,enableAllSelective);
|
|
|
|
+ }
|
|
|
|
+ List<SelectiveGroup> list = selectiveGroupService.findByExamIdAndSubjectCodeAndSelectiveIndex(examId,subjectCode,selectiveIndex);
|
|
|
|
+ if(!list.isEmpty() && list.get(0).getScorePolicy().equals(ScorePolicy.findByValue(policy))){
|
|
|
|
+ return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
|
|
|
|
+ }else{
|
|
|
|
+ selectiveGroupService.updateScorePolicy(examId, subjectCode, selectiveIndex, ScorePolicy.findByValue(policy));
|
|
// List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(examId, subjectCode,
|
|
// List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(examId, subjectCode,
|
|
// SubjectiveStatus.UNMARK, SubjectiveStatus.MARKED);
|
|
// SubjectiveStatus.UNMARK, SubjectiveStatus.MARKED);
|
|
- SubjectiveCalculateThread thread = new SubjectiveCalculateThread(examId, subjectCode, markService,
|
|
|
|
- lockService, questionService, groupService, markerService, inspectedService,studentService);
|
|
|
|
- taskExecutor.submit(thread);
|
|
|
|
- return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
|
|
|
|
|
|
+ SubjectiveCalculateThread thread = new SubjectiveCalculateThread(examId, subjectCode, markService,
|
|
|
|
+ lockService, questionService, groupService, markerService, inspectedService,studentService);
|
|
|
|
+ taskExecutor.submit(thread);
|
|
|
|
+ return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|