|
@@ -70,9 +70,9 @@ public class InspectedController extends BaseExamController {
|
|
|
|
|
|
@RequestMapping
|
|
|
public String list(Model model, HttpServletRequest request, ExamStudentSearchQuery query,
|
|
|
- @RequestParam(required = false) SubjectiveStatus status, @RequestParam(required = false) Integer mainNumber,
|
|
|
- @RequestParam(required = false) Double mainStartScore, @RequestParam(required = false) Double mainEndScore,
|
|
|
- @RequestParam(required = false) Double questionScore) {
|
|
|
+ @RequestParam(required = false) SubjectiveStatus status,
|
|
|
+ @RequestParam(required = false) Integer mainNumber, @RequestParam(required = false) Double mainStartScore,
|
|
|
+ @RequestParam(required = false) Double mainEndScore, @RequestParam(required = false) Double questionScore) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
Exam exam = examService.findById(examId);
|
|
|
if (ExamType.MULTI_MEDIA.equals(exam.getType())) {
|
|
@@ -84,12 +84,12 @@ public class InspectedController extends BaseExamController {
|
|
|
if (StringUtils.isBlank(query.getSubjectCode()) && !subjectList.isEmpty()) {
|
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
|
}
|
|
|
- List<ExamStudent> list = inspectedService
|
|
|
- .findByQuery(query, status, mainNumber, mainStartScore, mainEndScore, questionScore);
|
|
|
- Integer totalCount = inspectedService
|
|
|
- .countByQuery(query, null, mainNumber, mainStartScore, mainEndScore, questionScore);
|
|
|
- Integer inspectCount = inspectedService
|
|
|
- .countByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore, mainEndScore, questionScore);
|
|
|
+ List<ExamStudent> list = inspectedService.findByQuery(query, status, mainNumber, mainStartScore, mainEndScore,
|
|
|
+ questionScore);
|
|
|
+ Integer totalCount = inspectedService.countByQuery(query, null, mainNumber, mainStartScore, mainEndScore,
|
|
|
+ questionScore);
|
|
|
+ Integer inspectCount = inspectedService.countByQuery(query, SubjectiveStatus.MARKED, mainNumber,
|
|
|
+ mainStartScore, mainEndScore, questionScore);
|
|
|
query.setResult(list);
|
|
|
query.setTotalCount(totalCount);
|
|
|
model.addAttribute("query", query);
|
|
@@ -110,10 +110,10 @@ public class InspectedController extends BaseExamController {
|
|
|
@Logging(menu = "开始考生复核", type = LogType.QUERY)
|
|
|
@RequestMapping(value = "/getTask", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
- public Task getTask(HttpServletRequest request, RedirectAttributes redirectAttributes, ExamStudentSearchQuery query,
|
|
|
- @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) {
|
|
|
+ public Task getTask(HttpServletRequest request, RedirectAttributes redirectAttributes,
|
|
|
+ ExamStudentSearchQuery query, @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) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
Task task = null;
|
|
@@ -135,9 +135,8 @@ public class InspectedController extends BaseExamController {
|
|
|
if (StringUtils.isBlank(query.getSubjectCode()) && !subjectList.isEmpty()) {
|
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
|
}
|
|
|
- list = inspectedService
|
|
|
- .findByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore, mainEndScore,
|
|
|
- questionScore);
|
|
|
+ list = inspectedService.findByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore,
|
|
|
+ mainEndScore, questionScore);
|
|
|
if (list.isEmpty()) {
|
|
|
break;
|
|
|
}
|
|
@@ -162,11 +161,11 @@ public class InspectedController extends BaseExamController {
|
|
|
ExamStudent student = studentService.findById(studentId);
|
|
|
JSONObject obj = new JSONObject();
|
|
|
try {
|
|
|
- if (lockService.trylock(LockType.STUDENT, student.getId()) && inspectedService
|
|
|
- .hasApplied(student, wu.getId()) && SubjectiveStatus.MARKED.equals(student.getSubjectiveStatus())) {
|
|
|
- studentService
|
|
|
- .updateSubjectiveStatusAndTimeAndInspectorId(studentId, SubjectiveStatus.INSPECTED, new Date(),
|
|
|
- wu.getUser().getId());
|
|
|
+ if (lockService.trylock(LockType.STUDENT, student.getId())
|
|
|
+ && inspectedService.hasApplied(student, wu.getId())
|
|
|
+ && SubjectiveStatus.MARKED.equals(student.getSubjectiveStatus())) {
|
|
|
+ studentService.updateSubjectiveStatusAndTimeAndInspectorId(studentId, SubjectiveStatus.INSPECTED,
|
|
|
+ new Date(), wu.getUser().getId());
|
|
|
inspectedService.releaseByStudent(student);
|
|
|
obj.accumulate("success", true);
|
|
|
} else {
|
|
@@ -213,9 +212,8 @@ public class InspectedController extends BaseExamController {
|
|
|
if (subjectCheck(student.getSubjectCode(), wu)) {
|
|
|
try {
|
|
|
if (lockService.trylock(LockType.STUDENT, student.getId())) {
|
|
|
- studentService
|
|
|
- .updateSubjectiveStatusAndTimeAndInspectorId(student.getId(), SubjectiveStatus.MARKED,
|
|
|
- null, null);
|
|
|
+ studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(),
|
|
|
+ SubjectiveStatus.MARKED, null, null);
|
|
|
obj.accumulate("success", true);
|
|
|
} else {
|
|
|
obj.accumulate("success", false);
|
|
@@ -247,12 +245,15 @@ public class InspectedController extends BaseExamController {
|
|
|
JSONObject obj = new JSONObject();
|
|
|
ExamStudent student = studentService.findById(rejectResult.getStudentId());
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
- if (student != null && (student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED) || student
|
|
|
- .getSubjectiveStatus().equals(SubjectiveStatus.INSPECTED))) {
|
|
|
+ if (student != null
|
|
|
+ && inspectedService.hasApplied(student, wu.getId())
|
|
|
+ && (student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED) || student.getSubjectiveStatus()
|
|
|
+ .equals(SubjectiveStatus.INSPECTED))) {
|
|
|
if (subjectCheck(student.getSubjectCode(), wu) && lockService.trylock(LockType.STUDENT, student.getId())) {
|
|
|
try {
|
|
|
lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
if (markService.rejectedStudent(student, rejectResult.getQuestionList(), wu.getId())) {
|
|
|
+ inspectedService.releaseByStudent(student);
|
|
|
obj.accumulate("success", true);
|
|
|
} else {
|
|
|
obj.accumulate("success", false);
|
|
@@ -280,8 +281,8 @@ public class InspectedController extends BaseExamController {
|
|
|
@Logging(menu = "回看复核任务", type = LogType.QUERY)
|
|
|
@RequestMapping(value = "/getHistory", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
- public Object getHistory(HttpServletRequest request, @RequestParam String subjectCode, @RequestParam int pageNumber,
|
|
|
- @RequestParam int pageSize) throws Exception {
|
|
|
+ public Object getHistory(HttpServletRequest request, @RequestParam String subjectCode,
|
|
|
+ @RequestParam int pageNumber, @RequestParam int pageSize) throws Exception {
|
|
|
int examId = getSessionExamId(request);
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
List<Task> list = new ArrayList<>();
|
|
@@ -310,8 +311,8 @@ public class InspectedController extends BaseExamController {
|
|
|
JSONObject status = new JSONObject();
|
|
|
int examId = getSessionExamId(request);
|
|
|
query.setExamId(examId);
|
|
|
- Integer totalCount = inspectedService
|
|
|
- .countByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore, mainEndScore, questionScore);
|
|
|
+ Integer totalCount = inspectedService.countByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore,
|
|
|
+ mainEndScore, questionScore);
|
|
|
status.accumulate("totalCount", totalCount);
|
|
|
status.accumulate("valid", true);
|
|
|
return status;
|