|
@@ -1,22 +1,9 @@
|
|
package cn.com.qmth.stmms.admin.exam;
|
|
package cn.com.qmth.stmms.admin.exam;
|
|
|
|
|
|
-import cn.com.qmth.stmms.admin.dto.ExamQuestionDTO;
|
|
|
|
-import cn.com.qmth.stmms.admin.thread.MarkGroupDeleteThread;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.*;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.service.*;
|
|
|
|
-import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
|
|
-import cn.com.qmth.stmms.biz.lock.LockService;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.service.MarkService;
|
|
|
|
-import cn.com.qmth.stmms.common.annotation.Logging;
|
|
|
|
-import cn.com.qmth.stmms.common.annotation.RoleRequire;
|
|
|
|
-import cn.com.qmth.stmms.common.domain.WebUser;
|
|
|
|
-import cn.com.qmth.stmms.common.enums.*;
|
|
|
|
-import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.List;
|
|
|
|
|
|
-import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
import net.sf.json.JSONArray;
|
|
import net.sf.json.JSONArray;
|
|
import net.sf.json.JSONObject;
|
|
import net.sf.json.JSONObject;
|
|
@@ -37,9 +24,39 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
+import cn.com.qmth.stmms.admin.thread.MarkGroupDeleteThread;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.Exam;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
|
|
|
|
+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.query.ExamStudentSearchQuery;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.service.ExamService;
|
|
|
|
+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.MarkGroupService;
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
|
|
+import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
|
|
+import cn.com.qmth.stmms.biz.lock.LockService;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.service.MarkService;
|
|
|
|
+import cn.com.qmth.stmms.common.annotation.Logging;
|
|
|
|
+import cn.com.qmth.stmms.common.annotation.RoleRequire;
|
|
|
|
+import cn.com.qmth.stmms.common.domain.WebUser;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.ExamType;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.LockType;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.LogType;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.MarkMode;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.Role;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.ScorePolicy;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.ThirdPolicy;
|
|
|
|
+import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
|
|
|
-import java.util.*;
|
|
|
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
@Controller("markGroupController")
|
|
@Controller("markGroupController")
|
|
@RequestMapping("/admin/exam/group")
|
|
@RequestMapping("/admin/exam/group")
|
|
@@ -47,8 +64,6 @@ public class MarkGroupController extends BaseExamController {
|
|
|
|
|
|
protected static Logger log = LoggerFactory.getLogger(MarkGroupController.class);
|
|
protected static Logger log = LoggerFactory.getLogger(MarkGroupController.class);
|
|
|
|
|
|
- private static final String NULL_PAPER_TYPE_PLACEHOLDER = "#";
|
|
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private ExamSubjectService subjectService;
|
|
private ExamSubjectService subjectService;
|
|
|
|
|
|
@@ -249,12 +264,16 @@ public class MarkGroupController extends BaseExamController {
|
|
}
|
|
}
|
|
MarkGroup group = new MarkGroup();
|
|
MarkGroup group = new MarkGroup();
|
|
group.setSubjectCode(subjectCode);
|
|
group.setSubjectCode(subjectCode);
|
|
|
|
+ Integer number = groupService.findMaxNumberByExamIdAndSubjectCode(examId, subjectCode);
|
|
|
|
+ group.setNumber(number + 1);
|
|
model.addAttribute("group", group);
|
|
model.addAttribute("group", group);
|
|
|
|
+ model.addAttribute("subject", subject);
|
|
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());
|
|
model.addAttribute("thirdPolicyList", ThirdPolicy.values());
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
model.addAttribute("examType", exam.getType());
|
|
model.addAttribute("examType", exam.getType());
|
|
|
|
+ model.addAttribute("questionList", questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false));
|
|
return "modules/exam/groupAdd";
|
|
return "modules/exam/groupAdd";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -295,29 +314,14 @@ public class MarkGroupController extends BaseExamController {
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
if (group != null) {
|
|
if (group != null) {
|
|
group.setPicList(buildPictureConfig(group));
|
|
group.setPicList(buildPictureConfig(group));
|
|
- List<ExamQuestion> list = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
|
- subjectCode, false, number);
|
|
|
|
- List<ExamQuestionDTO> questionList = new ArrayList<>();
|
|
|
|
- Map<Integer, ExamQuestionDTO> mainMap = new HashMap<>();
|
|
|
|
- for (ExamQuestion question : list) {
|
|
|
|
- ExamQuestionDTO dto = mainMap.get(question.getMainNumber());
|
|
|
|
- if (dto == null) {
|
|
|
|
- dto = new ExamQuestionDTO();
|
|
|
|
- dto.setMainNumber(question.getMainNumber());
|
|
|
|
- dto.setMainTitle(question.getMainTitle());
|
|
|
|
- dto.setSubNumber(question.getSubNumber());
|
|
|
|
- dto.setScoreList(new ArrayList<>());
|
|
|
|
- mainMap.put(question.getMainNumber(), dto);
|
|
|
|
- questionList.add(dto);
|
|
|
|
- }
|
|
|
|
- dto.getScoreList().add(question.getTotalScore());
|
|
|
|
- }
|
|
|
|
|
|
+ List<ExamQuestion> list = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
model.addAttribute("group", group);
|
|
model.addAttribute("group", group);
|
|
- model.addAttribute("questionList", questionList);
|
|
|
|
|
|
+ model.addAttribute("questionList", list);
|
|
model.addAttribute("pictureConfig", group.getPicList());
|
|
model.addAttribute("pictureConfig", group.getPicList());
|
|
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());
|
|
model.addAttribute("thirdPolicyList", ThirdPolicy.values());
|
|
|
|
+ model.addAttribute("subject", subjectService.find(examId, subjectCode));
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
model.addAttribute("examType", exam.getType());
|
|
model.addAttribute("examType", exam.getType());
|
|
return "modules/exam/groupEditFull";
|
|
return "modules/exam/groupEditFull";
|
|
@@ -368,10 +372,10 @@ public class MarkGroupController extends BaseExamController {
|
|
|
|
|
|
@Logging(menu = "修改大题", type = LogType.UPDATE)
|
|
@Logging(menu = "修改大题", type = LogType.UPDATE)
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
- @RequestMapping("/save")
|
|
|
|
|
|
+ @RequestMapping("/update")
|
|
@RoleRequire(Role.SCHOOL_ADMIN)
|
|
@RoleRequire(Role.SCHOOL_ADMIN)
|
|
@Transactional
|
|
@Transactional
|
|
- public String save(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
|
|
|
|
|
|
+ public String update(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,
|
|
@@ -379,49 +383,18 @@ public class MarkGroupController extends BaseExamController {
|
|
@RequestParam(required = false) MarkMode markMode, @RequestParam(required = false) Integer trialCount,
|
|
@RequestParam(required = false) MarkMode markMode, @RequestParam(required = false) Integer trialCount,
|
|
@RequestParam(required = false, defaultValue = "false") Boolean sheetView,
|
|
@RequestParam(required = false, defaultValue = "false") Boolean sheetView,
|
|
@RequestParam(required = false, defaultValue = "false") Boolean enableAllZero,
|
|
@RequestParam(required = false, defaultValue = "false") Boolean enableAllZero,
|
|
- @RequestParam(required = false) String questionDetail,
|
|
|
|
|
|
+ @RequestParam(required = false) Integer[] questionIds,
|
|
@RequestParam(required = false) String intervalScoreList) {
|
|
@RequestParam(required = false) String intervalScoreList) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, number);
|
|
if (group != null) {
|
|
if (group != null) {
|
|
try {
|
|
try {
|
|
- if (questionDetail != null && reset.booleanValue()) {
|
|
|
|
|
|
+ if (questionIds != null && reset.booleanValue()) {
|
|
// advance update
|
|
// advance update
|
|
- questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
|
|
|
|
- JSONArray array = JSONArray.fromObject(questionDetail);
|
|
|
|
- List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
|
|
|
|
- for (int i = 0; i < detailList.size(); i++) {
|
|
|
|
- ExamQuestionDTO dto = detailList.get(i);
|
|
|
|
- Object scoreListArray[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
|
|
|
|
- List<Double> scoreList = new ArrayList<Double>();
|
|
|
|
- for (int j = 0; j < scoreListArray.length; j++) {
|
|
|
|
- scoreList.add(Double.parseDouble(scoreListArray[j].toString()));
|
|
|
|
- }
|
|
|
|
- dto.setScoreList(scoreList);
|
|
|
|
- }
|
|
|
|
- List<ExamQuestion> questionList = buildQuestionList(group, detailList);
|
|
|
|
- List<ExamQuestion> others = questionService.findByExamAndSubjectAndObjectiveAndGroupNumberNotEqual(
|
|
|
|
- examId, subjectCode, false, number);
|
|
|
|
- Set<String> numbers = new HashSet<>();
|
|
|
|
- Map<Integer, String> titles = new HashMap<>();
|
|
|
|
- for (ExamQuestion question : others) {
|
|
|
|
- numbers.add(question.getQuestionNumber());
|
|
|
|
- titles.put(question.getMainNumber(), question.getMainTitle());
|
|
|
|
- }
|
|
|
|
- for (ExamQuestion question : questionList) {
|
|
|
|
- if (numbers.contains(question.getQuestionNumber())) {
|
|
|
|
- addMessage(redirectAttributes, "题号不能重复");
|
|
|
|
- redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
|
- redirectAttributes.addAttribute("number", number);
|
|
|
|
- return "redirect:/admin/exam/group/edit-full";
|
|
|
|
- }
|
|
|
|
- if (titles.get(question.getMainNumber()) != null
|
|
|
|
- && !titles.get(question.getMainNumber()).equals(question.getMainTitle())) {
|
|
|
|
- addMessage(redirectAttributes, "大题名称不一致");
|
|
|
|
- redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
|
- redirectAttributes.addAttribute("number", number);
|
|
|
|
- return "redirect:/admin/exam/group/edit-full";
|
|
|
|
- }
|
|
|
|
|
|
+ List<ExamQuestion> questionList = new ArrayList<ExamQuestion>();
|
|
|
|
+ for (Integer questionId : questionIds) {
|
|
|
|
+ ExamQuestion question = questionService.findById(questionId);
|
|
|
|
+ questionList.add(question);
|
|
}
|
|
}
|
|
if (!questionList.isEmpty()) {
|
|
if (!questionList.isEmpty()) {
|
|
ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
|
|
ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
|
|
@@ -500,7 +473,7 @@ public class MarkGroupController extends BaseExamController {
|
|
@RoleRequire(Role.SCHOOL_ADMIN)
|
|
@RoleRequire(Role.SCHOOL_ADMIN)
|
|
@Transactional
|
|
@Transactional
|
|
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 Integer[] questionIds,
|
|
@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) Integer thirdPolicy, @RequestParam(required = false) Integer scorePolicy,
|
|
@@ -514,8 +487,8 @@ public class MarkGroupController extends BaseExamController {
|
|
addMessage(redirectAttributes, "评卷分组序号不能重复");
|
|
addMessage(redirectAttributes, "评卷分组序号不能重复");
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
return "redirect:/admin/exam/group/add";
|
|
return "redirect:/admin/exam/group/add";
|
|
- } else if (StringUtils.isBlank(questionDetail)) {
|
|
|
|
- addMessage(redirectAttributes, "大题详情必须设置");
|
|
|
|
|
|
+ } else if (questionIds == null || questionIds.length <= 0) {
|
|
|
|
+ addMessage(redirectAttributes, "题目不能为空");
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
return "redirect:/admin/exam/group/add";
|
|
return "redirect:/admin/exam/group/add";
|
|
} else {
|
|
} else {
|
|
@@ -528,52 +501,19 @@ public class MarkGroupController extends BaseExamController {
|
|
JSONArray array = JSONArray.fromObject(picList);
|
|
JSONArray array = JSONArray.fromObject(picList);
|
|
picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
|
|
picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
|
|
}
|
|
}
|
|
- // build questionDetail
|
|
|
|
- questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
|
|
|
|
- JSONArray array = JSONArray.fromObject(questionDetail);
|
|
|
|
- List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
|
|
|
|
- for (int i = 0; i < detailList.size(); i++) {
|
|
|
|
- ExamQuestionDTO dto = detailList.get(i);
|
|
|
|
- Object o[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
|
|
|
|
- List<Double> scoreList = new ArrayList<Double>();
|
|
|
|
- for (int j = 0; j < o.length; j++) {
|
|
|
|
- scoreList.add(Double.parseDouble(o[j].toString()));
|
|
|
|
- }
|
|
|
|
- dto.setScoreList(scoreList);
|
|
|
|
- }
|
|
|
|
- List<ExamQuestion> current = questionService.findByExamAndSubjectAndObjectiveAndGroupNumberNotEqual(
|
|
|
|
- examId, subjectCode, false, number);
|
|
|
|
- Set<String> numbers = new HashSet<>();
|
|
|
|
- Map<Integer, String> titles = new HashMap<>();
|
|
|
|
- for (ExamQuestion question : current) {
|
|
|
|
- numbers.add(question.getQuestionNumber());
|
|
|
|
- titles.put(question.getMainNumber(), question.getMainTitle());
|
|
|
|
- }
|
|
|
|
- if (detailList != null && detailList.size() > 0) {
|
|
|
|
|
|
+ if (questionIds != null && questionIds.length > 0) {
|
|
group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate,
|
|
group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate,
|
|
arbitrateThreshold, scorePolicy, markMode, trialCount, sheetView, enableAllZero,
|
|
arbitrateThreshold, scorePolicy, markMode, trialCount, sheetView, enableAllZero,
|
|
thirdPolicy);
|
|
thirdPolicy);
|
|
- List<ExamQuestion> list = buildQuestionList(group, detailList);
|
|
|
|
- for (ExamQuestion question : list) {
|
|
|
|
- if (numbers.contains(question.getQuestionNumber())) {
|
|
|
|
- addMessage(redirectAttributes, "题号不能重复");
|
|
|
|
- redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
|
- return "redirect:/admin/exam/group/add";
|
|
|
|
- }
|
|
|
|
- if (titles.get(question.getMainNumber()) != null
|
|
|
|
- && !titles.get(question.getMainNumber()).equals(question.getMainTitle())) {
|
|
|
|
- addMessage(redirectAttributes, "大题名称不一致");
|
|
|
|
- redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
|
|
- return "redirect:/admin/exam/group/add";
|
|
|
|
- }
|
|
|
|
|
|
+ List<ExamQuestion> list = new ArrayList<ExamQuestion>();
|
|
|
|
+ for (Integer questionId : questionIds) {
|
|
|
|
+ ExamQuestion question = questionService.findById(questionId);
|
|
|
|
+ question.setGroupNumber(number);
|
|
|
|
+ list.add(question);
|
|
}
|
|
}
|
|
// clear and replace exam_question
|
|
// clear and replace exam_question
|
|
- questionService
|
|
|
|
- .deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
|
|
|
|
questionService.save(list);
|
|
questionService.save(list);
|
|
groupService.save(group);
|
|
groupService.save(group);
|
|
- subjectService.updateScore(examId, subjectCode, false,
|
|
|
|
- groupService.sumTotalScore(examId, subjectCode));
|
|
|
|
studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
|
|
studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
|
|
SubjectiveStatus.UNMARK, 0, null, null, null);
|
|
SubjectiveStatus.UNMARK, 0, null, null, null);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
@@ -635,32 +575,6 @@ public class MarkGroupController extends BaseExamController {
|
|
return fileService.getSliceUris(student.getExamId(), student.getSecretNumber(), 1, student.getSliceCount());
|
|
return fileService.getSliceUris(student.getExamId(), student.getSecretNumber(), 1, student.getSliceCount());
|
|
}
|
|
}
|
|
|
|
|
|
- private List<ExamQuestion> buildQuestionList(MarkGroup group, List<ExamQuestionDTO> detailList) {
|
|
|
|
- List<ExamQuestion> list = new LinkedList<>();
|
|
|
|
- double totalScore = 0d;
|
|
|
|
- for (ExamQuestionDTO detail : detailList) {
|
|
|
|
- int i = 0;
|
|
|
|
- for (double score : detail.getScoreList()) {
|
|
|
|
- totalScore += score;
|
|
|
|
- ExamQuestion question = new ExamQuestion();
|
|
|
|
- question.setExamId(group.getExamId());
|
|
|
|
- question.setSubjectCode(group.getSubjectCode());
|
|
|
|
- question.setPaperType(NULL_PAPER_TYPE_PLACEHOLDER);
|
|
|
|
- question.setMainTitle(detail.getMainTitle());
|
|
|
|
- question.setMainNumber(detail.getMainNumber());
|
|
|
|
- question.setSubNumber(detail.getSubNumber() + i);
|
|
|
|
- question.setGroupNumber(group.getNumber());
|
|
|
|
- question.setObjective(false);
|
|
|
|
- question.setTotalScore(score);
|
|
|
|
- question.setIntervalScore(1d);
|
|
|
|
- list.add(question);
|
|
|
|
- i++;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- group.setTotalScore(totalScore);
|
|
|
|
- return list;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private List<Double> buildDoubleList(String content) {
|
|
private List<Double> buildDoubleList(String content) {
|
|
List<Double> list = new ArrayList<Double>();
|
|
List<Double> list = new ArrayList<Double>();
|
|
content = StringUtils.trimToNull(content);
|
|
content = StringUtils.trimToNull(content);
|