|
@@ -1,11 +1,37 @@
|
|
|
package cn.com.qmth.stmms.admin.exam;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.ui.Model;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
+
|
|
|
import cn.com.qmth.stmms.admin.dto.RejectResult;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.Exam;
|
|
|
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.query.ExamStudentSearchQuery;
|
|
|
-import cn.com.qmth.stmms.biz.exam.service.*;
|
|
|
+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.InspectedService;
|
|
|
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.Task;
|
|
@@ -14,23 +40,13 @@ import cn.com.qmth.stmms.biz.mark.service.TaskService;
|
|
|
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.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.Role;
|
|
|
+import cn.com.qmth.stmms.common.enums.SelectiveStatus;
|
|
|
+import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
|
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
-import net.sf.json.JSONObject;
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.ui.Model;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
|
|
|
@Controller("inspectedController")
|
|
|
@RequestMapping("/admin/exam/inspected")
|
|
@@ -73,7 +89,7 @@ public class InspectedController extends BaseExamController {
|
|
|
@RequestMapping
|
|
|
public String list(Model model, HttpServletRequest request, ExamStudentSearchQuery query,
|
|
|
@RequestParam(required = false) SubjectiveStatus status,
|
|
|
- @RequestParam(required = false, defaultValue = "false") boolean unselective,
|
|
|
+ @RequestParam(required = false) SelectiveStatus selectiveStatus,
|
|
|
@RequestParam(required = false) Integer mainNumber, @RequestParam(required = false) Double mainStartScore,
|
|
|
@RequestParam(required = false) Double mainEndScore, @RequestParam(required = false) Double questionScore) {
|
|
|
int examId = getSessionExamId(request);
|
|
@@ -88,14 +104,14 @@ public class InspectedController extends BaseExamController {
|
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
|
}
|
|
|
List<ExamStudent> list = inspectedService.findByQuery(query, status, mainNumber, mainStartScore, mainEndScore,
|
|
|
- questionScore, unselective);
|
|
|
+ questionScore, selectiveStatus);
|
|
|
for (ExamStudent e : list) {
|
|
|
e.setSubjectiveScoreList(e.getSubjectiveScoreList().replace(UN_SELECTIVE_SCORE, "/"));
|
|
|
}
|
|
|
Integer totalCount = inspectedService.countByQuery(query, null, mainNumber, mainStartScore, mainEndScore,
|
|
|
- questionScore, unselective);
|
|
|
+ questionScore, selectiveStatus);
|
|
|
Integer inspectCount = inspectedService.countByQuery(query, SubjectiveStatus.MARKED, mainNumber,
|
|
|
- mainStartScore, mainEndScore, questionScore, unselective);
|
|
|
+ mainStartScore, mainEndScore, questionScore, selectiveStatus);
|
|
|
query.setResult(list);
|
|
|
query.setTotalCount(totalCount);
|
|
|
model.addAttribute("query", query);
|
|
@@ -108,8 +124,9 @@ public class InspectedController extends BaseExamController {
|
|
|
model.addAttribute("questionScore", questionScore);
|
|
|
model.addAttribute("subjectList", subjectList);
|
|
|
model.addAttribute("statusList", SubjectiveStatus.getOptionList());
|
|
|
+ model.addAttribute("selectiveStatusList", SelectiveStatus.getOptionList());
|
|
|
model.addAttribute("status", status);
|
|
|
- model.addAttribute("unselective", unselective);
|
|
|
+ model.addAttribute("selectiveStatus", selectiveStatus);
|
|
|
model.addAttribute("exam", exam);
|
|
|
return "modules/exam/inspectedList";
|
|
|
}
|
|
@@ -118,7 +135,8 @@ public class InspectedController extends BaseExamController {
|
|
|
@RequestMapping(value = "/getTask", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public Task getTask(HttpServletRequest request, RedirectAttributes redirectAttributes,
|
|
|
- ExamStudentSearchQuery query, @RequestParam(required = false, defaultValue = "false") boolean unselective,
|
|
|
+ ExamStudentSearchQuery query,
|
|
|
+ @RequestParam(required = false, defaultValue = "false") SelectiveStatus selectiveStatus,
|
|
|
@RequestParam(required = false) Integer mainNumber, @RequestParam(required = false) Double mainStartScore,
|
|
|
@RequestParam(required = false) Double mainEndScore, @RequestParam(required = false) Double questionScore,
|
|
|
@RequestParam(required = false) Integer studentId) {
|
|
@@ -144,7 +162,7 @@ public class InspectedController extends BaseExamController {
|
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
|
}
|
|
|
list = inspectedService.findByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore,
|
|
|
- mainEndScore, questionScore, unselective);
|
|
|
+ mainEndScore, questionScore, selectiveStatus);
|
|
|
if (list.isEmpty()) {
|
|
|
break;
|
|
|
}
|
|
@@ -314,14 +332,14 @@ public class InspectedController extends BaseExamController {
|
|
|
@RequestMapping(value = "/getStatus", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public JSONObject status(HttpServletRequest request, ExamStudentSearchQuery query,
|
|
|
- @RequestParam(required = false, defaultValue = "false") boolean unselective,
|
|
|
+ @RequestParam(required = false) SelectiveStatus selectiveStatus,
|
|
|
@RequestParam(required = false) Integer mainNumber, @RequestParam(required = false) Double mainStartScore,
|
|
|
@RequestParam(required = false) Double mainEndScore, @RequestParam(required = false) Double questionScore) {
|
|
|
JSONObject status = new JSONObject();
|
|
|
int examId = getSessionExamId(request);
|
|
|
query.setExamId(examId);
|
|
|
Integer totalCount = inspectedService.countByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore,
|
|
|
- mainEndScore, questionScore, unselective);
|
|
|
+ mainEndScore, questionScore, selectiveStatus);
|
|
|
status.accumulate("totalCount", totalCount);
|
|
|
status.accumulate("valid", true);
|
|
|
return status;
|