|
@@ -349,16 +349,25 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
|
|
|
HttpServletResponse response = ServletUtil.getResponse();
|
|
HttpServletResponse response = ServletUtil.getResponse();
|
|
//生成表头
|
|
//生成表头
|
|
- String[] columnName = new String[]{"姓名", "学号", "学院", "教学班", "行政班", "课程代码", "课程名称", "状态", "违纪状态", "客观分", "主观分", "成绩"};
|
|
|
|
|
|
+ String[] columnName = new String[]{"姓名", "学号", "学院", "教学班", "行政班", "课程代码", "课程名称","任课老师", "状态", "违纪状态", "客观分", "主观分", "成绩"};
|
|
List<MarkQuestion> oQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(examId, paperNumber, true);
|
|
List<MarkQuestion> oQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(examId, paperNumber, true);
|
|
List<MarkQuestion> sQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(examId, paperNumber, false);
|
|
List<MarkQuestion> sQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(examId, paperNumber, false);
|
|
List<String> columnNameList = new ArrayList<>(Arrays.asList(columnName));
|
|
List<String> columnNameList = new ArrayList<>(Arrays.asList(columnName));
|
|
|
|
+ Set<Integer> mainNumberSet=new HashSet<>();
|
|
for (MarkQuestion question : oQuestionList) {
|
|
for (MarkQuestion question : oQuestionList) {
|
|
|
|
+ if(!mainNumberSet.contains(question.getMainNumber())){
|
|
|
|
+ columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "总分");
|
|
|
|
+ mainNumberSet.add(question.getMainNumber());
|
|
|
|
+ }
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "选项");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "选项");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "得分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "得分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
}
|
|
}
|
|
for (MarkQuestion question : sQuestionList) {
|
|
for (MarkQuestion question : sQuestionList) {
|
|
|
|
+ if(!mainNumberSet.contains(question.getMainNumber())){
|
|
|
|
+ columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "总分");
|
|
|
|
+ mainNumberSet.add(question.getMainNumber());
|
|
|
|
+ }
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber());
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber());
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
}
|
|
}
|
|
@@ -374,6 +383,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
valueList.add(CellValue.of(s.getClassName()));
|
|
valueList.add(CellValue.of(s.getClassName()));
|
|
valueList.add(CellValue.of(s.getCourseCode()));
|
|
valueList.add(CellValue.of(s.getCourseCode()));
|
|
valueList.add(CellValue.of(s.getCourseName()));
|
|
valueList.add(CellValue.of(s.getCourseName()));
|
|
|
|
+ valueList.add(CellValue.of(s.getTeacherName()));
|
|
// 扫描状态
|
|
// 扫描状态
|
|
valueList.add(CellValue.of(s.getStudentStatusDisplay()));
|
|
valueList.add(CellValue.of(s.getStudentStatusDisplay()));
|
|
|
|
|
|
@@ -382,12 +392,26 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
valueList.add(s.getObjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getObjectiveScore()));
|
|
valueList.add(s.getObjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getObjectiveScore()));
|
|
valueList.add(s.getSubjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getSubjectiveScore()));
|
|
valueList.add(s.getSubjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getSubjectiveScore()));
|
|
valueList.add(s.getTotalScore() == null ? CellValue.of("") : CellValue.of(s.getTotalScore()));
|
|
valueList.add(s.getTotalScore() == null ? CellValue.of("") : CellValue.of(s.getTotalScore()));
|
|
|
|
+
|
|
|
|
+ mainNumberSet = new HashSet<>();
|
|
|
|
+ Map<Integer,Double> mainScoreMap = s.getScoreList(true, oQuestionList).stream().collect(Collectors.groupingBy(
|
|
|
|
+ ScoreItem::getMainNumber,Collectors.summingDouble(ScoreItem::getScore)));
|
|
for (ScoreItem item : s.getScoreList(true, oQuestionList)) {
|
|
for (ScoreItem item : s.getScoreList(true, oQuestionList)) {
|
|
|
|
+ if(!mainNumberSet.contains(item.getMainNumber())){
|
|
|
|
+ valueList.add(CellValue.of(mainScoreMap.get(item.getMainNumber())));
|
|
|
|
+ mainNumberSet.add(item.getMainNumber());
|
|
|
|
+ }
|
|
valueList.add(CellValue.of(item.getAnswer()));
|
|
valueList.add(CellValue.of(item.getAnswer()));
|
|
valueList.add(item.getScore() == null ? CellValue.of("") : CellValue.of(item.getScore()));
|
|
valueList.add(item.getScore() == null ? CellValue.of("") : CellValue.of(item.getScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
}
|
|
}
|
|
|
|
+ mainScoreMap = s.getScoreList(true, sQuestionList).stream().collect(Collectors.groupingBy(
|
|
|
|
+ ScoreItem::getMainNumber,Collectors.summingDouble(ScoreItem::getScore)));
|
|
for (ScoreItem item : s.getScoreList(false, sQuestionList)) {
|
|
for (ScoreItem item : s.getScoreList(false, sQuestionList)) {
|
|
|
|
+ if(!mainNumberSet.contains(item.getMainNumber())){
|
|
|
|
+ valueList.add(CellValue.of(mainScoreMap.get(item.getMainNumber())));
|
|
|
|
+ mainNumberSet.add(item.getMainNumber());
|
|
|
|
+ }
|
|
valueList.add(CellValue.of(item.getScore()));
|
|
valueList.add(CellValue.of(item.getScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
}
|
|
}
|
|
@@ -1262,16 +1286,25 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
BasicCourse basicCourse = basicCourseService.getById(markPaper.getCourseId());
|
|
BasicCourse basicCourse = basicCourseService.getById(markPaper.getCourseId());
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
//生成表头
|
|
//生成表头
|
|
- String[] columnName = new String[]{"姓名", "学号", "学院", "教学班", "行政班", "课程代码", "课程名称", "状态", "违纪状态", "客观分", "主观分", "成绩"};
|
|
|
|
|
|
+ String[] columnName = new String[]{"姓名", "学号", "学院", "教学班", "行政班", "课程代码", "课程名称", "任课老师","状态", "违纪状态", "客观分", "主观分", "成绩"};
|
|
List<MarkQuestion> oQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), true);
|
|
List<MarkQuestion> oQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), true);
|
|
List<MarkQuestion> sQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), false);
|
|
List<MarkQuestion> sQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), false);
|
|
List<String> columnNameList = new ArrayList<>(Arrays.asList(columnName));
|
|
List<String> columnNameList = new ArrayList<>(Arrays.asList(columnName));
|
|
|
|
+ Set<Integer> mainNumberSet=new HashSet<>();
|
|
for (MarkQuestion question : oQuestionList) {
|
|
for (MarkQuestion question : oQuestionList) {
|
|
|
|
+ if(!mainNumberSet.contains(question.getMainNumber())){
|
|
|
|
+ columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "总分");
|
|
|
|
+ mainNumberSet.add(question.getMainNumber());
|
|
|
|
+ }
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "选项");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "选项");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "得分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "得分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
}
|
|
}
|
|
for (MarkQuestion question : sQuestionList) {
|
|
for (MarkQuestion question : sQuestionList) {
|
|
|
|
+ if(!mainNumberSet.contains(question.getMainNumber())){
|
|
|
|
+ columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "总分");
|
|
|
|
+ mainNumberSet.add(question.getMainNumber());
|
|
|
|
+ }
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber());
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber());
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
columnNameList.add(question.getMainTitle() + " " + question.getMainNumber() + "-" + question.getSubNumber() + "满分");
|
|
}
|
|
}
|
|
@@ -1291,6 +1324,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
valueList.add(CellValue.of(s.getClassName()));
|
|
valueList.add(CellValue.of(s.getClassName()));
|
|
valueList.add(CellValue.of(s.getCourseCode()));
|
|
valueList.add(CellValue.of(s.getCourseCode()));
|
|
valueList.add(CellValue.of(s.getCourseName()));
|
|
valueList.add(CellValue.of(s.getCourseName()));
|
|
|
|
+ valueList.add(CellValue.of(s.getTeacherName()));
|
|
String studentStatusDisplay = "";
|
|
String studentStatusDisplay = "";
|
|
// 扫描状态
|
|
// 扫描状态
|
|
if (BasicExamStudentStatusEnum.M.equals(s.getStudentStatus()) || s.getAbsent() || s.getOmrAbsent() || s.getManualAbsent()) {
|
|
if (BasicExamStudentStatusEnum.M.equals(s.getStudentStatus()) || s.getAbsent() || s.getOmrAbsent() || s.getManualAbsent()) {
|
|
@@ -1314,12 +1348,25 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
valueList.add(s.getObjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getObjectiveScore()));
|
|
valueList.add(s.getObjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getObjectiveScore()));
|
|
valueList.add(s.getSubjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getSubjectiveScore()));
|
|
valueList.add(s.getSubjectiveScore() == null ? CellValue.of("") : CellValue.of(s.getSubjectiveScore()));
|
|
valueList.add(s.getTotalScore() == null ? CellValue.of("") : CellValue.of(s.getTotalScore()));
|
|
valueList.add(s.getTotalScore() == null ? CellValue.of("") : CellValue.of(s.getTotalScore()));
|
|
|
|
+ mainNumberSet = new HashSet<>();
|
|
|
|
+ Map<Integer,Double> mainScoreMap = s.getScoreList(true, oQuestionList).stream().collect(Collectors.groupingBy(
|
|
|
|
+ ScoreItem::getMainNumber,Collectors.summingDouble(ScoreItem::getScore)));
|
|
for (ScoreItem item : s.getScoreList(true, oQuestionList)) {
|
|
for (ScoreItem item : s.getScoreList(true, oQuestionList)) {
|
|
|
|
+ if(!mainNumberSet.contains(item.getMainNumber())){
|
|
|
|
+ valueList.add(CellValue.of(mainScoreMap.get(item.getMainNumber())));
|
|
|
|
+ mainNumberSet.add(item.getMainNumber());
|
|
|
|
+ }
|
|
valueList.add(CellValue.of(item.getAnswer()));
|
|
valueList.add(CellValue.of(item.getAnswer()));
|
|
valueList.add(item.getScore() == null ? CellValue.of("") : CellValue.of(item.getScore()));
|
|
valueList.add(item.getScore() == null ? CellValue.of("") : CellValue.of(item.getScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
}
|
|
}
|
|
|
|
+ mainScoreMap = s.getScoreList(true, sQuestionList).stream().collect(Collectors.groupingBy(
|
|
|
|
+ ScoreItem::getMainNumber,Collectors.summingDouble(ScoreItem::getScore)));
|
|
for (ScoreItem item : s.getScoreList(false, sQuestionList)) {
|
|
for (ScoreItem item : s.getScoreList(false, sQuestionList)) {
|
|
|
|
+ if(!mainNumberSet.contains(item.getMainNumber())){
|
|
|
|
+ valueList.add(CellValue.of(mainScoreMap.get(item.getMainNumber())));
|
|
|
|
+ mainNumberSet.add(item.getMainNumber());
|
|
|
|
+ }
|
|
valueList.add(CellValue.of(item.getScore()));
|
|
valueList.add(CellValue.of(item.getScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
valueList.add(item.getTotalScore() == null ? CellValue.of("") : CellValue.of(item.getTotalScore()));
|
|
}
|
|
}
|