|
@@ -2,6 +2,7 @@ package cn.com.qmth.stmms.admin.exam;
|
|
|
|
|
|
import cn.com.qmth.stmms.biz.exam.model.*;
|
|
import cn.com.qmth.stmms.biz.exam.model.*;
|
|
import cn.com.qmth.stmms.biz.exam.service.*;
|
|
import cn.com.qmth.stmms.biz.exam.service.*;
|
|
|
|
+import cn.com.qmth.stmms.biz.file.enums.FormatType;
|
|
import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
import cn.com.qmth.stmms.biz.lock.LockService;
|
|
import cn.com.qmth.stmms.biz.lock.LockService;
|
|
import cn.com.qmth.stmms.biz.mark.model.TrialHistory;
|
|
import cn.com.qmth.stmms.biz.mark.model.TrialHistory;
|
|
@@ -19,6 +20,7 @@ import cn.com.qmth.stmms.common.utils.DateUtils;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
import net.sf.json.JSONArray;
|
|
import net.sf.json.JSONArray;
|
|
import net.sf.json.JSONObject;
|
|
import net.sf.json.JSONObject;
|
|
|
|
+
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -30,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
+
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -84,8 +87,8 @@ public class TrialController extends BaseExamController {
|
|
if (query.getSubjectCode() == null && !subjectList.isEmpty()) {
|
|
if (query.getSubjectCode() == null && !subjectList.isEmpty()) {
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
query.setSubjectCode(subjectList.get(0).getCode());
|
|
}
|
|
}
|
|
- List<MarkGroup> groupList = groupService
|
|
|
|
- .findByExamAndSubjectAndStatus(examId, query.getSubjectCode(), MarkStatus.TRIAL);
|
|
|
|
|
|
+ List<MarkGroup> groupList = groupService.findByExamAndSubjectAndStatus(examId, query.getSubjectCode(),
|
|
|
|
+ MarkStatus.TRIAL);
|
|
if (!groupList.isEmpty()) {
|
|
if (!groupList.isEmpty()) {
|
|
if (query.getGroupNumber() == null) {
|
|
if (query.getGroupNumber() == null) {
|
|
query.setGroupNumber(groupList.get(0).getNumber());
|
|
query.setGroupNumber(groupList.get(0).getNumber());
|
|
@@ -96,9 +99,8 @@ public class TrialController extends BaseExamController {
|
|
library.setMarkCount(trialService.countHistory(library.getId()));
|
|
library.setMarkCount(trialService.countHistory(library.getId()));
|
|
}
|
|
}
|
|
for (MarkGroup group : groupList) {
|
|
for (MarkGroup group : groupList) {
|
|
- group.setQuestionList(questionService
|
|
|
|
- .findByExamAndSubjectAndObjectiveAndGroupNumber(examId, group.getSubjectCode(), false,
|
|
|
|
- group.getNumber()));
|
|
|
|
|
|
+ group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
|
+ group.getSubjectCode(), false, group.getNumber()));
|
|
}
|
|
}
|
|
model.addAttribute("group",
|
|
model.addAttribute("group",
|
|
groupService.findOne(query.getExamId(), query.getSubjectCode(), query.getGroupNumber()));
|
|
groupService.findOne(query.getExamId(), query.getSubjectCode(), query.getGroupNumber()));
|
|
@@ -118,8 +120,8 @@ public class TrialController extends BaseExamController {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
TrialLibrary library = trialService.findLibrary(libraryId);
|
|
TrialLibrary library = trialService.findLibrary(libraryId);
|
|
if (library != null) {
|
|
if (library != null) {
|
|
- if (library.getExamId().equals(examId) && subjectCheck(library.getSubjectCode(),
|
|
|
|
- RequestUtils.getWebUser(request))) {
|
|
|
|
|
|
+ if (library.getExamId().equals(examId)
|
|
|
|
+ && subjectCheck(library.getSubjectCode(), RequestUtils.getWebUser(request))) {
|
|
try {
|
|
try {
|
|
lockService.watch(LockType.GROUP, library.getExamId(), library.getSubjectCode(),
|
|
lockService.watch(LockType.GROUP, library.getExamId(), library.getSubjectCode(),
|
|
library.getGroupNumber());
|
|
library.getGroupNumber());
|
|
@@ -160,17 +162,18 @@ public class TrialController extends BaseExamController {
|
|
Exam exam = examService.findById(library.getExamId());
|
|
Exam exam = examService.findById(library.getExamId());
|
|
if (library != null) {
|
|
if (library != null) {
|
|
ExamStudent student = studentService.findById(library.getStudentId());
|
|
ExamStudent student = studentService.findById(library.getStudentId());
|
|
- MarkGroup group = groupService
|
|
|
|
- .findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
|
|
|
|
|
|
+ MarkGroup group = groupService.findOne(library.getExamId(), library.getSubjectCode(),
|
|
|
|
+ library.getGroupNumber());
|
|
if (group != null && student != null) {
|
|
if (group != null && student != null) {
|
|
obj.accumulate("success", true);
|
|
obj.accumulate("success", true);
|
|
if (ExamType.MULTI_MEDIA.equals(exam.getType())) {
|
|
if (ExamType.MULTI_MEDIA.equals(exam.getType())) {
|
|
// 多媒体配置
|
|
// 多媒体配置
|
|
obj.accumulate("fileServer", fileService.getFileServer());
|
|
obj.accumulate("fileServer", fileService.getFileServer());
|
|
obj.accumulate("urls", fileService.getJsonUri(student.getExamId(), student.getSecretNumber()));
|
|
obj.accumulate("urls", fileService.getJsonUri(student.getExamId(), student.getSecretNumber()));
|
|
- List<ExamQuestion> questions = questionService
|
|
|
|
- .findByExamAndSubjectAndObjectiveAndGroupNumber(library.getExamId(),
|
|
|
|
- student.getSubjectCode(), false, group.getNumber());
|
|
|
|
|
|
+ obj.accumulate("paperUrl",
|
|
|
|
+ fileService.getPaperUri(student.getExamId(), student.getSubjectCode(), FormatType.JSON));
|
|
|
|
+ List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
|
|
|
|
+ library.getExamId(), student.getSubjectCode(), false, group.getNumber());
|
|
List<String> strings = new ArrayList<String>();
|
|
List<String> strings = new ArrayList<String>();
|
|
for (ExamQuestion examQuestion : questions) {
|
|
for (ExamQuestion examQuestion : questions) {
|
|
strings.add(examQuestion.getQuestionNumber());
|
|
strings.add(examQuestion.getQuestionNumber());
|
|
@@ -180,8 +183,10 @@ public class TrialController extends BaseExamController {
|
|
} else {
|
|
} else {
|
|
// 裁切图配置
|
|
// 裁切图配置
|
|
obj.accumulate("fileServer", fileService.getFileServer());
|
|
obj.accumulate("fileServer", fileService.getFileServer());
|
|
- obj.accumulate("urls", fileService
|
|
|
|
- .getSliceUris(student.getExamId(), student.getSecretNumber(), 1, student.getSliceCount()));
|
|
|
|
|
|
+ obj.accumulate(
|
|
|
|
+ "urls",
|
|
|
|
+ fileService.getSliceUris(student.getExamId(), student.getSecretNumber(), 1,
|
|
|
|
+ student.getSliceCount()));
|
|
obj.accumulate("pictureConfig", group.getPictureConfigList());
|
|
obj.accumulate("pictureConfig", group.getPictureConfigList());
|
|
}
|
|
}
|
|
// 评卷记录集合
|
|
// 评卷记录集合
|