|
@@ -205,8 +205,7 @@ public class InspectedController extends BaseExamController {
|
|
if (inspectedService.applyStudent(ExamStudentVo.of(student), wu.getId())) {
|
|
if (inspectedService.applyStudent(ExamStudentVo.of(student), wu.getId())) {
|
|
task = taskService.build(student);
|
|
task = taskService.build(student);
|
|
}
|
|
}
|
|
- }
|
|
|
|
- if (StringUtils.isNotBlank(query.getSecretNumber())) {
|
|
|
|
|
|
+ } else if (StringUtils.isNotBlank(query.getSecretNumber())) {
|
|
ExamStudent student = studentService.findByExamIdAndSecretNumber(examId, query.getSecretNumber());
|
|
ExamStudent student = studentService.findByExamIdAndSecretNumber(examId, query.getSecretNumber());
|
|
if (student == null) {
|
|
if (student == null) {
|
|
return null;
|
|
return null;
|
|
@@ -260,8 +259,8 @@ public class InspectedController extends BaseExamController {
|
|
JSONObject obj = new JSONObject();
|
|
JSONObject obj = new JSONObject();
|
|
ExamStudent student = studentService.findById(studentId);
|
|
ExamStudent student = studentService.findById(studentId);
|
|
try {
|
|
try {
|
|
- lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
- lockService.waitlock(LockType.STUDENT, studentId);
|
|
|
|
|
|
+ lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
+ lockService.waitlock(LockType.STUDENT, studentId);
|
|
if (student != null && inspectedService.inspect(student, wu.getId())) {
|
|
if (student != null && inspectedService.inspect(student, wu.getId())) {
|
|
inspectedService.releaseByStudent(student);
|
|
inspectedService.releaseByStudent(student);
|
|
obj.accumulate("success", true);
|
|
obj.accumulate("success", true);
|
|
@@ -309,8 +308,8 @@ public class InspectedController extends BaseExamController {
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
|
|
if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
|
|
try {
|
|
try {
|
|
- lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
- lockService.waitlock(LockType.STUDENT, studentId);
|
|
|
|
|
|
+ lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
+ lockService.waitlock(LockType.STUDENT, studentId);
|
|
if (inspectedService.cancelByStudent(studentId)) {
|
|
if (inspectedService.cancelByStudent(studentId)) {
|
|
obj.accumulate("success", true);
|
|
obj.accumulate("success", true);
|
|
} else {
|
|
} else {
|
|
@@ -340,15 +339,15 @@ public class InspectedController extends BaseExamController {
|
|
ExamSubject es = subjectService.find(examId, subjectCode);
|
|
ExamSubject es = subjectService.find(examId, subjectCode);
|
|
lockService.waitlock(LockType.EXAM_SUBJECT, examId, subjectCode);
|
|
lockService.waitlock(LockType.EXAM_SUBJECT, examId, subjectCode);
|
|
try {
|
|
try {
|
|
- if (!inspectedService.inspectFinish(examId, subjectCode, es.getInspectRound())) {
|
|
|
|
- ra.addFlashAttribute("errmsg", "该科目第" + es.getInspectRound() + "次复核还未完成");
|
|
|
|
- return "redirect:/admin/exam/inspected/list";
|
|
|
|
- }
|
|
|
|
- subjectService.nextInspectRound(examId, subjectCode);
|
|
|
|
- return "redirect:/admin/exam/inspected/list";
|
|
|
|
- } finally {
|
|
|
|
- lockService.unlock(LockType.EXAM_SUBJECT, examId, subjectCode);
|
|
|
|
- }
|
|
|
|
|
|
+ if (!inspectedService.inspectFinish(examId, subjectCode, es.getInspectRound())) {
|
|
|
|
+ ra.addFlashAttribute("errmsg", "该科目第" + es.getInspectRound() + "次复核还未完成");
|
|
|
|
+ return "redirect:/admin/exam/inspected/list";
|
|
|
|
+ }
|
|
|
|
+ subjectService.nextInspectRound(examId, subjectCode);
|
|
|
|
+ return "redirect:/admin/exam/inspected/list";
|
|
|
|
+ } finally {
|
|
|
|
+ lockService.unlock(LockType.EXAM_SUBJECT, examId, subjectCode);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Logging(menu = "打回", type = LogType.UPDATE)
|
|
@Logging(menu = "打回", type = LogType.UPDATE)
|
|
@@ -381,7 +380,7 @@ public class InspectedController extends BaseExamController {
|
|
obj.accumulate("message", "打回失败");
|
|
obj.accumulate("message", "打回失败");
|
|
log.error("back inspected error", e);
|
|
log.error("back inspected error", e);
|
|
} finally {
|
|
} finally {
|
|
- lockService.unlock(LockType.STUDENT, student.getId());
|
|
|
|
|
|
+ lockService.unlock(LockType.STUDENT, student.getId());
|
|
lockService.unwatch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
lockService.unwatch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -503,8 +502,8 @@ public class InspectedController extends BaseExamController {
|
|
// subjectCode = student.getSubjectCode();
|
|
// subjectCode = student.getSubjectCode();
|
|
if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
|
|
if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
|
|
try {
|
|
try {
|
|
- lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
- lockService.waitlock(LockType.STUDENT, student.getId());
|
|
|
|
|
|
+ lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
|
+ lockService.waitlock(LockType.STUDENT, student.getId());
|
|
inspectedService.cancelByStudent(id);
|
|
inspectedService.cancelByStudent(id);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.error("back inspected error", e);
|
|
log.error("back inspected error", e);
|
|
@@ -516,18 +515,18 @@ public class InspectedController extends BaseExamController {
|
|
}
|
|
}
|
|
return "redirect:/admin/exam/inspected/list";
|
|
return "redirect:/admin/exam/inspected/list";
|
|
}
|
|
}
|
|
-
|
|
|
|
- private void subjectCodeQuery(ExamSubjectSearchQuery query,List<String> subjectCodeIn) {
|
|
|
|
- if(StringUtils.isEmpty(query.getCodeIn())) {
|
|
|
|
- query.setCodeIn(StringUtils.join(subjectCodeIn, ","));
|
|
|
|
- }else {
|
|
|
|
- Set<String> set=new HashSet<>();
|
|
|
|
- for(String c:query.getCodeIn().split(",")) {
|
|
|
|
- set.add(c);
|
|
|
|
- }
|
|
|
|
- set.addAll(subjectCodeIn);
|
|
|
|
- query.setCodeIn(StringUtils.join(set, ","));
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ private void subjectCodeQuery(ExamSubjectSearchQuery query, List<String> subjectCodeIn) {
|
|
|
|
+ if (StringUtils.isEmpty(query.getCodeIn())) {
|
|
|
|
+ query.setCodeIn(StringUtils.join(subjectCodeIn, ","));
|
|
|
|
+ } else {
|
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
|
+ for (String c : query.getCodeIn().split(",")) {
|
|
|
|
+ set.add(c);
|
|
|
|
+ }
|
|
|
|
+ set.addAll(subjectCodeIn);
|
|
|
|
+ query.setCodeIn(StringUtils.join(set, ","));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Logging(menu = "成绩复核进度查询", type = LogType.QUERY)
|
|
@Logging(menu = "成绩复核进度查询", type = LogType.QUERY)
|
|
@@ -546,10 +545,10 @@ public class InspectedController extends BaseExamController {
|
|
query.setCodeIn(subjectCodeIn);
|
|
query.setCodeIn(subjectCodeIn);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-// if (wu.isSubjectHeader()) {
|
|
|
|
-// String subjectCodeIn = StringUtils.join(wu.getSubjectCodeSet(), ",");
|
|
|
|
-// query.setCodeIn(subjectCodeIn);
|
|
|
|
-// }
|
|
|
|
|
|
+ // if (wu.isSubjectHeader()) {
|
|
|
|
+ // String subjectCodeIn = StringUtils.join(wu.getSubjectCodeSet(), ",");
|
|
|
|
+ // query.setCodeIn(subjectCodeIn);
|
|
|
|
+ // }
|
|
List<ExamSubject> subjectList = getExamSubject(examId, wu);
|
|
List<ExamSubject> subjectList = getExamSubject(examId, wu);
|
|
if (StringUtils.isBlank(query.getCode()) && wu.getRole() != Role.SCHOOL_ADMIN) {
|
|
if (StringUtils.isBlank(query.getCode()) && wu.getRole() != Role.SCHOOL_ADMIN) {
|
|
List<String> subjectCodeIn = new ArrayList<String>();
|
|
List<String> subjectCodeIn = new ArrayList<String>();
|
|
@@ -560,7 +559,7 @@ public class InspectedController extends BaseExamController {
|
|
if (unFinishSet.isEmpty() && query.getFinished() != null && !query.getFinished()) {
|
|
if (unFinishSet.isEmpty() && query.getFinished() != null && !query.getFinished()) {
|
|
query.setResult(new ArrayList<ExamSubject>());
|
|
query.setResult(new ArrayList<ExamSubject>());
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
List<InspectedSubjectVO> list = new LinkedList<InspectedSubjectVO>();
|
|
List<InspectedSubjectVO> list = new LinkedList<InspectedSubjectVO>();
|
|
for (ExamSubject subject : query.getResult()) {
|
|
for (ExamSubject subject : query.getResult()) {
|
|
InspectedSubjectVO vo = new InspectedSubjectVO();
|
|
InspectedSubjectVO vo = new InspectedSubjectVO();
|