|
@@ -63,8 +63,8 @@ public class ExamStudentController extends BaseApiController {
|
|
|
@ResponseBody
|
|
|
public JSONObject checkStudent(HttpServletRequest request, @RequestBody ExamStudent examStudent) {
|
|
|
JSONObject obj = new JSONObject();
|
|
|
- ExamStudent student = studentService.findByExamIdAndExamNumber(examStudent.getExamId(),
|
|
|
- examStudent.getExamNumber());
|
|
|
+ ExamStudent student = studentService
|
|
|
+ .findByExamIdAndExamNumber(examStudent.getExamId(), examStudent.getExamNumber());
|
|
|
if (student != null) {
|
|
|
obj.accumulate("examId", examStudent.getExamId());
|
|
|
obj.accumulate("campusCode", "0");
|
|
@@ -88,17 +88,12 @@ public class ExamStudentController extends BaseApiController {
|
|
|
}
|
|
|
|
|
|
@RoleRequire({ Role.SCHOOL_ADMIN })
|
|
|
- @RequestMapping("/students/count/{examId}")
|
|
|
+ @RequestMapping("/exam/student/count")
|
|
|
@ResponseBody
|
|
|
- public long getStudentCount(HttpServletRequest request, @PathVariable Integer examId,
|
|
|
- @RequestParam(required = false) Boolean upload, @RequestParam(required = false) Boolean absent) {
|
|
|
+ public long getStudentCount(HttpServletRequest request, ExamStudentSearchQuery query) {
|
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
|
- Exam exam = examService.findById(examId);
|
|
|
+ Exam exam = query.getExamId() != null ? examService.findById(query.getExamId()) : null;
|
|
|
if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
- ExamStudentSearchQuery query = new ExamStudentSearchQuery();
|
|
|
- query.setExamId(examId);
|
|
|
- query.setUpload(upload);
|
|
|
- query.setAbsent(absent);
|
|
|
return studentService.countByQuery(query);
|
|
|
}
|
|
|
return 0;
|
|
@@ -109,7 +104,8 @@ public class ExamStudentController extends BaseApiController {
|
|
|
@ResponseBody
|
|
|
public JSONArray getStudent(HttpServletRequest request, ExamStudentSearchQuery query,
|
|
|
@RequestParam(required = false) Boolean withScoreDetail,
|
|
|
- @RequestParam(required = false) Boolean withMarkTrack, @RequestParam(required = false) Boolean withSheetUrl) {
|
|
|
+ @RequestParam(required = false) Boolean withMarkTrack,
|
|
|
+ @RequestParam(required = false) Boolean withSheetUrl) {
|
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
|
JSONArray array = new JSONArray();
|
|
|
if (query.getExamId() == null) {
|
|
@@ -157,8 +153,9 @@ public class ExamStudentController extends BaseApiController {
|
|
|
// 构造客观题得分明细
|
|
|
JSONArray objective = new JSONArray();
|
|
|
List<ScoreItem> scoreList = student.getScoreList(true);
|
|
|
- List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndPaperType(
|
|
|
- student.getExamId(), student.getSubjectCode(), true, student.getPaperType());
|
|
|
+ List<ExamQuestion> questionList = questionService
|
|
|
+ .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(),
|
|
|
+ student.getSubjectCode(), true, student.getPaperType());
|
|
|
int i = 0;
|
|
|
for (ScoreItem item : scoreList) {
|
|
|
i++;
|
|
@@ -181,8 +178,8 @@ public class ExamStudentController extends BaseApiController {
|
|
|
// 构造主观题得分明细
|
|
|
JSONArray subjective = new JSONArray();
|
|
|
scoreList = student.getScoreList(false);
|
|
|
- questionList = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
|
|
|
- student.getSubjectCode(), false);
|
|
|
+ questionList = questionService
|
|
|
+ .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
|
|
|
i = 0;
|
|
|
for (ScoreItem item : scoreList) {
|
|
|
i++;
|
|
@@ -209,13 +206,10 @@ public class ExamStudentController extends BaseApiController {
|
|
|
}
|
|
|
// 返回原图下载地址
|
|
|
if (withSheetUrl != null && withSheetUrl.booleanValue()) {
|
|
|
- obj.accumulate(
|
|
|
- "sheetUrls",
|
|
|
- fileService
|
|
|
- .getSheetUris(student.getExamId(), student.getExamNumber(), 1,
|
|
|
- student.getSheetCount()).stream()
|
|
|
- .map(uri -> fileService.getFileServer().concat(uri))
|
|
|
- .collect(Collectors.toList()));
|
|
|
+ obj.accumulate("sheetUrls", fileService
|
|
|
+ .getSheetUris(student.getExamId(), student.getExamNumber(), 1, student.getSheetCount())
|
|
|
+ .stream().map(uri -> fileService.getFileServer().concat(uri))
|
|
|
+ .collect(Collectors.toList()));
|
|
|
}
|
|
|
array.add(obj);
|
|
|
} catch (Exception e) {
|
|
@@ -267,8 +261,9 @@ public class ExamStudentController extends BaseApiController {
|
|
|
if (Strings.isNullOrEmpty(examSeqCode)) {
|
|
|
student = studentService.findBySchoolIdAndSubjectCodeAndStudentCode(schoolId, subjectCode, studentCode);
|
|
|
} else {
|
|
|
- student = studentService.findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode,
|
|
|
- studentCode, examSeqCode);
|
|
|
+ student = studentService
|
|
|
+ .findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode,
|
|
|
+ examSeqCode);
|
|
|
}
|
|
|
if (student != null) {
|
|
|
DecimalFormat df = new DecimalFormat("####.###");
|