|
@@ -5,7 +5,6 @@ import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -25,14 +24,12 @@ import cn.com.qmth.stmms.biz.api.auth.exception.ApiException;
|
|
|
import cn.com.qmth.stmms.biz.campus.model.Campus;
|
|
|
import cn.com.qmth.stmms.biz.campus.service.CampusService;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.Exam;
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.ExamPackage;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.ExamStudentPaper;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.QuestionDetail;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.QuestionUnit;
|
|
|
import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
|
|
|
-import cn.com.qmth.stmms.biz.exam.service.ExamPackageService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentPaperService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
@@ -60,9 +57,6 @@ public class ExamStudentController extends BaseApiController {
|
|
|
@Autowired
|
|
|
private CampusService campusService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private ExamPackageService packageService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private ExamSubjectService examSubjectService;
|
|
|
|
|
@@ -73,68 +67,35 @@ public class ExamStudentController extends BaseApiController {
|
|
|
private ExamStudentPaperService studentPaperService;
|
|
|
|
|
|
@AuthValidate("adminUser")
|
|
|
- @RequestMapping(value = "/package/{examId}", method = RequestMethod.GET)
|
|
|
+ @RequestMapping(value = "/student/manualAbsent", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
- public JSONArray getPackageCode(HttpServletRequest request, HttpServletResponse response,
|
|
|
- @PathVariable Integer examId) {
|
|
|
+ public boolean updateManualAbsent(HttpServletRequest request, @RequestParam Integer examId,
|
|
|
+ @RequestParam String examNumber, @RequestParam Boolean manualAbsent) {
|
|
|
+ boolean success = false;
|
|
|
User user = RequestUtils.getApiUser(request);
|
|
|
- JSONArray array = new JSONArray();
|
|
|
Exam exam = examService.findById(examId);
|
|
|
if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
- List<String> list = examStudentService.findDistinctPackageCode(examId);
|
|
|
- if (list != null) {
|
|
|
- for (String code : list) {
|
|
|
- array.add(code);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
|
- }
|
|
|
- return array;
|
|
|
- }
|
|
|
-
|
|
|
- @AuthValidate("adminUser")
|
|
|
- @RequestMapping(value = "/package/count/{examId}", method = RequestMethod.GET)
|
|
|
- @ResponseBody
|
|
|
- public JSONArray getPackageCount(HttpServletRequest request, HttpServletResponse response,
|
|
|
- @PathVariable Integer examId, @RequestParam(required = false) Boolean upload) {
|
|
|
- User user = RequestUtils.getApiUser(request);
|
|
|
- JSONArray array = new JSONArray();
|
|
|
- Exam exam = examService.findById(examId);
|
|
|
- if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
- List<ExamPackage> list = upload != null ? packageService.list(examId, upload) : packageService.list(examId);
|
|
|
- if (list != null) {
|
|
|
- for (ExamPackage ep : list) {
|
|
|
- JSONObject obj = new JSONObject();
|
|
|
- obj.accumulate("code", ep.getCode());
|
|
|
- obj.accumulate("picCount", ep.getPicCount());
|
|
|
- array.add(obj);
|
|
|
- }
|
|
|
+ ExamStudent student = examStudentService.findByExamIdAndExamNumber(examId, examNumber);
|
|
|
+ if (student != null) {
|
|
|
+ examStudentService.updateManualAbsent(student.getId(), manualAbsent);
|
|
|
+ success = true;
|
|
|
}
|
|
|
- } else {
|
|
|
- throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
|
}
|
|
|
- return array;
|
|
|
+ return success;
|
|
|
}
|
|
|
|
|
|
@AuthValidate("adminUser")
|
|
|
- @RequestMapping(value = "/package/{examId}", method = RequestMethod.POST)
|
|
|
+ @RequestMapping(value = "/student/manualAbsent/clear", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
- public int updatePackage(HttpServletRequest request, HttpServletResponse response, @PathVariable Integer examId,
|
|
|
- @RequestBody ExamPackage examPackage) {
|
|
|
+ public boolean clearManualAbsent(HttpServletRequest request, @RequestParam Integer examId) {
|
|
|
+ boolean success = false;
|
|
|
User user = RequestUtils.getApiUser(request);
|
|
|
Exam exam = examService.findById(examId);
|
|
|
if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
- ExamPackage obj = packageService.find(examId, examPackage.getCode());
|
|
|
- if (obj != null && examPackage.getPicCount() != null) {
|
|
|
- obj.setPicCount(examPackage.getPicCount());
|
|
|
- obj = packageService.save(obj);
|
|
|
- return obj.getPicCount();
|
|
|
- }
|
|
|
- } else {
|
|
|
- throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
|
+ examStudentService.clearManualAbsent(examId);
|
|
|
+ success = true;
|
|
|
}
|
|
|
- return -1;
|
|
|
+ return success;
|
|
|
}
|
|
|
|
|
|
@AuthValidate("adminUser")
|
|
@@ -229,7 +190,7 @@ public class ExamStudentController extends BaseApiController {
|
|
|
}
|
|
|
|
|
|
@AuthValidate("adminUser")
|
|
|
- @RequestMapping(value = "/exam/students")
|
|
|
+ @RequestMapping("/exam/students")
|
|
|
@ResponseBody
|
|
|
public JSONArray getStudent(HttpServletRequest request, ExamStudentSearchQuery query) {
|
|
|
User user = RequestUtils.getApiUser(request);
|
|
@@ -239,6 +200,7 @@ public class ExamStudentController extends BaseApiController {
|
|
|
}
|
|
|
Exam exam = examService.findById(query.getExamId());
|
|
|
if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
+ DecimalFormat format = new DecimalFormat("####.##");
|
|
|
examStudentService.findByQuery(query);
|
|
|
for (ExamStudent student : query.getResult()) {
|
|
|
JSONObject obj = new JSONObject();
|
|
@@ -252,16 +214,17 @@ public class ExamStudentController extends BaseApiController {
|
|
|
obj.accumulate("studentCode", student.getStudentCode());
|
|
|
obj.accumulate("packageCode", student.getPackageCode());
|
|
|
obj.accumulate("batchCode", student.getBatchCode() == null ? "" : student.getBatchCode());
|
|
|
- obj.accumulate("sheetCount", student.getSheetCount() != null ? student.getSheetCount() : "");
|
|
|
- obj.accumulate("sliceCount", student.getSliceCount() != null ? student.getSliceCount() : "");
|
|
|
- obj.accumulate("answers", student.getAnswers() == null ? "" : student.getAnswers());
|
|
|
+ obj.accumulate("sheetCount", student.getSheetCount() != null ? student.getSheetCount() : 0);
|
|
|
+ obj.accumulate("sliceCount", student.getSliceCount() != null ? student.getSliceCount() : 0);
|
|
|
+ obj.accumulate("answers", StringUtils.trimToEmpty(student.getAnswers()));
|
|
|
obj.accumulate("upload", student.isUpload());
|
|
|
obj.accumulate("absent", student.isAbsent());
|
|
|
+ obj.accumulate("manualAbsent", student.isManualAbsent());
|
|
|
obj.accumulate("breach", student.isBreach());
|
|
|
obj.accumulate("objectiveScore",
|
|
|
- student.getObjectiveScore() == null ? "" : student.getObjectiveScore());
|
|
|
+ student.getObjectiveScore() == null ? "" : format.format(student.getObjectiveScore()));
|
|
|
obj.accumulate("subjectiveScore",
|
|
|
- student.getSubjectiveScore() == null ? "" : student.getSubjectiveScore());
|
|
|
+ student.getSubjectiveScore() == null ? "" : format.format(student.getSubjectiveScore()));
|
|
|
Campus campus = campusService.findBySchoolAndName(student.getSchoolId(), student.getCampusName());
|
|
|
obj.accumulate("campusCode", campus != null ? campus.getId().toString() : "");
|
|
|
array.add(obj);
|