|
@@ -84,9 +84,8 @@ public class ScoreController extends BaseExamController {
|
|
buildPackageUrl(student);
|
|
buildPackageUrl(student);
|
|
buildAnswerUrl(student);
|
|
buildAnswerUrl(student);
|
|
}
|
|
}
|
|
- String exportMessage = StringUtils.isNotBlank(query.getSubjectCode()) ?
|
|
|
|
- enableExport(examId, query.getSubjectCode()) :
|
|
|
|
- null;
|
|
|
|
|
|
+ String exportMessage = StringUtils.isNotBlank(query.getSubjectCode()) ? enableExport(examId,
|
|
|
|
+ query.getSubjectCode()) : null;
|
|
if (exportMessage != null) {
|
|
if (exportMessage != null) {
|
|
view.addObject("exportMessage", exportMessage);
|
|
view.addObject("exportMessage", exportMessage);
|
|
view.addObject("enableExport", false);
|
|
view.addObject("enableExport", false);
|
|
@@ -193,6 +192,7 @@ public class ScoreController extends BaseExamController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
String fileName = "成绩单.xlsx";
|
|
String fileName = "成绩单.xlsx";
|
|
|
|
+ String paperType = null;
|
|
try {
|
|
try {
|
|
List<ExamStudentDTO> list = new LinkedList<>();
|
|
List<ExamStudentDTO> list = new LinkedList<>();
|
|
// 可导出科目不为空时,才能执行查询操作
|
|
// 可导出科目不为空时,才能执行查询操作
|
|
@@ -203,15 +203,17 @@ public class ScoreController extends BaseExamController {
|
|
query.setPageSize(Integer.MAX_VALUE);
|
|
query.setPageSize(Integer.MAX_VALUE);
|
|
query = studentService.findByQuery(query);
|
|
query = studentService.findByQuery(query);
|
|
for (ExamStudent student : query.getResult()) {
|
|
for (ExamStudent student : query.getResult()) {
|
|
- if (!student.isUpload() || student.isBreach() || student.isAbsent()) {
|
|
|
|
|
|
+ if (student.isBreach() || student.isAbsent()) {
|
|
student.setObjectiveScore(0d);
|
|
student.setObjectiveScore(0d);
|
|
student.setSubjectiveScore(0d);
|
|
student.setSubjectiveScore(0d);
|
|
|
|
+ } else if (paperType == null) {
|
|
|
|
+ paperType = student.getPaperType();
|
|
}
|
|
}
|
|
list.add(new ExamStudentDTO(student));
|
|
list.add(new ExamStudentDTO(student));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (StringUtils.isNotBlank(query.getSubjectCode())) {
|
|
if (StringUtils.isNotBlank(query.getSubjectCode())) {
|
|
- List<String> headerList = getOptionHeader(exam.getId(), query.getSubjectCode());
|
|
|
|
|
|
+ List<String> headerList = getOptionHeader(exam.getId(), query.getSubjectCode(), paperType);
|
|
ExportStudentExcel excel = new ExportStudentExcel("成绩单", headerList, ExamStudentDTO.class);
|
|
ExportStudentExcel excel = new ExportStudentExcel("成绩单", headerList, ExamStudentDTO.class);
|
|
excel.setDataList(list, true);
|
|
excel.setDataList(list, true);
|
|
excel.write(response, fileName).dispose();
|
|
excel.write(response, fileName).dispose();
|
|
@@ -226,10 +228,10 @@ public class ScoreController extends BaseExamController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private List<String> getOptionHeader(int examId, String subjectCode) {
|
|
|
|
|
|
+ private List<String> getOptionHeader(int examId, String subjectCode, String paperType) {
|
|
List<String> headerList = new ArrayList<String>();
|
|
List<String> headerList = new ArrayList<String>();
|
|
- List<ExamQuestion> oQuestions = questionService
|
|
|
|
- .findByExamAndSubjectAndObjectiveGroupByNumber(examId, subjectCode, true);
|
|
|
|
|
|
+ List<ExamQuestion> oQuestions = questionService.findByExamAndSubjectAndObjectiveAndPaperType(examId,
|
|
|
|
+ subjectCode, true, paperType);
|
|
List<ExamQuestion> sQestions = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
List<ExamQuestion> sQestions = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
|
|
for (ExamQuestion examQuestion : oQuestions) {
|
|
for (ExamQuestion examQuestion : oQuestions) {
|
|
headerList.add(getTitle(examQuestion) + "选项");
|
|
headerList.add(getTitle(examQuestion) + "选项");
|
|
@@ -263,9 +265,8 @@ public class ScoreController extends BaseExamController {
|
|
private List<ScoreItem> buildScoreList(ExamStudent student) {
|
|
private List<ScoreItem> buildScoreList(ExamStudent student) {
|
|
List<ScoreItem> scoreList = new LinkedList<ScoreItem>();
|
|
List<ScoreItem> scoreList = new LinkedList<ScoreItem>();
|
|
|
|
|
|
- List<ExamQuestion> oList = questionService
|
|
|
|
- .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(), student.getSubjectCode(), true,
|
|
|
|
- student.getPaperType());
|
|
|
|
|
|
+ List<ExamQuestion> oList = questionService.findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(),
|
|
|
|
+ student.getSubjectCode(), true, student.getPaperType());
|
|
List<ScoreItem> list1 = student.getScoreList(true);
|
|
List<ScoreItem> list1 = student.getScoreList(true);
|
|
int index = 0;
|
|
int index = 0;
|
|
for (ExamQuestion question : oList) {
|
|
for (ExamQuestion question : oList) {
|
|
@@ -280,8 +281,8 @@ public class ScoreController extends BaseExamController {
|
|
}
|
|
}
|
|
scoreList.addAll(list1);
|
|
scoreList.addAll(list1);
|
|
|
|
|
|
- List<ExamQuestion> sList = questionService
|
|
|
|
- .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
|
|
|
|
|
|
+ List<ExamQuestion> sList = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
|
|
|
|
+ student.getSubjectCode(), false);
|
|
List<ScoreItem> list2 = student.getScoreList(false);
|
|
List<ScoreItem> list2 = student.getScoreList(false);
|
|
index = 0;
|
|
index = 0;
|
|
for (ExamQuestion question : sList) {
|
|
for (ExamQuestion question : sList) {
|
|
@@ -304,8 +305,8 @@ public class ScoreController extends BaseExamController {
|
|
// student.setSheetUrls(PictureUrlBuilder
|
|
// student.setSheetUrls(PictureUrlBuilder
|
|
// .getInnerSheetUrls(student.getExamId(), student.getExamNumber(),
|
|
// .getInnerSheetUrls(student.getExamId(), student.getExamNumber(),
|
|
// student.getSheetCount()));
|
|
// student.getSheetCount()));
|
|
- student.setSheetUrls(
|
|
|
|
- fileService.getSheetUris(student.getExamId(), student.getExamNumber(), 1, student.getSheetCount()));
|
|
|
|
|
|
+ student.setSheetUrls(fileService.getSheetUris(student.getExamId(), student.getExamNumber(), 1,
|
|
|
|
+ student.getSheetCount()));
|
|
}
|
|
}
|
|
|
|
|
|
private void buildPackageUrl(ExamStudent student) {
|
|
private void buildPackageUrl(ExamStudent student) {
|
|
@@ -320,8 +321,8 @@ public class ScoreController extends BaseExamController {
|
|
private void buildAnswerUrl(ExamStudent student) {
|
|
private void buildAnswerUrl(ExamStudent student) {
|
|
ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());
|
|
ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());
|
|
if (subject != null && subject.getAnswerFileType() != null) {
|
|
if (subject != null && subject.getAnswerFileType() != null) {
|
|
- student.setAnswerUrl(
|
|
|
|
- fileService.getAnswerUri(subject.getExamId(), subject.getCode(), subject.getAnswerFileType()));
|
|
|
|
|
|
+ student.setAnswerUrl(fileService.getAnswerUri(subject.getExamId(), subject.getCode(),
|
|
|
|
+ subject.getAnswerFileType()));
|
|
}
|
|
}
|
|
if (subject != null) {
|
|
if (subject != null) {
|
|
student.setSubjectRemark(StringUtils.trimToEmpty(subject.getRemark()));
|
|
student.setSubjectRemark(StringUtils.trimToEmpty(subject.getRemark()));
|
|
@@ -334,8 +335,8 @@ public class ScoreController extends BaseExamController {
|
|
return "该科目不存在";
|
|
return "该科目不存在";
|
|
}
|
|
}
|
|
|
|
|
|
- List<MarkGroup> groups = groupService
|
|
|
|
- .findByExamAndSubjectAndStatus(examId, subjectCode, MarkStatus.FORMAL, MarkStatus.TRIAL);
|
|
|
|
|
|
+ List<MarkGroup> groups = groupService.findByExamAndSubjectAndStatus(examId, subjectCode, MarkStatus.FORMAL,
|
|
|
|
+ MarkStatus.TRIAL);
|
|
if (groups != null && !groups.isEmpty()) {
|
|
if (groups != null && !groups.isEmpty()) {
|
|
return subjectCode + "评卷未完成";
|
|
return subjectCode + "评卷未完成";
|
|
}
|
|
}
|