소스 검색

3.3.0 fix

xiaofei 1 년 전
부모
커밋
f1fa232246

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -232,6 +232,7 @@ public class SystemConstant {
     public static final String TB_SYNC_TASK = "tbSyncTask";
     public static final String TB_SYNC_TASK_ID = "tbSyncTaskId";
     public static final String USER = "account";
+    public static final String USER_ID = "userId";
     public static final String SCHOOL_ID = "schoolId";
     public static final String SCHOOL = "school";
     public static final String ORG = "org";

+ 13 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/ServletUtil.java

@@ -147,6 +147,19 @@ public class ServletUtil {
         return object;
     }
 
+    /**
+     * 获取请求的用户
+     *
+     * @return
+     */
+    public static Long getRequestUserId() {
+        Object object = getRequest().getHeader(SystemConstant.USER_ID);
+        if (Objects.isNull(object)) {
+            throw ExceptionResultEnum.NOT_LOGIN.exception();
+        }
+        return Long.parseLong(object.toString());
+    }
+
     /**
      * 获取请求的用户
      *

+ 18 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/Task.java

@@ -40,6 +40,8 @@ public class Task implements Serializable {
      */
     private String studentCode;
 
+    private String courseCode;
+    private String courseName;
   
     private String paperNumber;
     private Integer groupNumber;
@@ -172,6 +174,22 @@ public class Task implements Serializable {
         this.studentCode = studentCode;
     }
 
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
     public List<MarkConfigItem> getSliceConfig() {
         return sliceConfig;
     }

+ 2 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -707,10 +707,10 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     public Task getSubjectiveInspectedTask(Long studentId) {
         Task task = null;
         if (studentId != null) {
-            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+            Long userId = ServletUtil.getRequestUserId();
             MarkStudent markStudent = this.getById(studentId);
             releaseStudent(markStudent);
-            if (markService.applyStudent(markStudent, sysUser.getId())) {
+            if (markService.applyStudent(markStudent, userId)) {
                 task = taskService.build(studentId);
             }
         }

+ 228 - 224
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/TaskServiceImpl.java

@@ -45,204 +45,207 @@ import com.qmth.teachcloud.mark.service.TaskService;
 @Service
 public class TaskServiceImpl implements TaskService {
 
-	@Resource
-	private MarkPaperService markPaperService;
-	@Resource
-	private MarkTaskService markTaskService;
-	@Resource
-	private MarkStudentService markStudentService;
-	@Resource
-	private MarkQuestionService markQuestionService;
-	@Resource
-	private MarkHeaderTrackService markHeaderTrackService;
-	@Resource
-	private MarkTrackService markTrackService;
-	@Resource
-	private MarkSubjectiveScoreService markSubjectiveScoreService;
-	@Resource
-	private TeachcloudCommonService teachcloudCommonService;
-	@Resource
-	private MarkGroupService markGroupService;
-	@Resource
-	private MarkHeaderTagService markHeaderTagService;
-	@Resource
-	private MarkSpecialTagService markSpecialTagService;
+    @Resource
+    private MarkPaperService markPaperService;
+    @Resource
+    private MarkTaskService markTaskService;
+    @Resource
+    private MarkStudentService markStudentService;
+    @Resource
+    private MarkQuestionService markQuestionService;
+    @Resource
+    private MarkHeaderTrackService markHeaderTrackService;
+    @Resource
+    private MarkTrackService markTrackService;
+    @Resource
+    private MarkSubjectiveScoreService markSubjectiveScoreService;
+    @Resource
+    private TeachcloudCommonService teachcloudCommonService;
+    @Resource
+    private MarkGroupService markGroupService;
+    @Resource
+    private MarkHeaderTagService markHeaderTagService;
+    @Resource
+    private MarkSpecialTagService markSpecialTagService;
 
-	@Override
-	public Task build(MarkArbitrateHistory markArbitrateHistory, MarkGroup markGroup) {
-		MarkStudent markStudent = markStudentService.getById(markArbitrateHistory.getStudentId());
-		Task task = new Task();
-		task.setStudentId(markArbitrateHistory.getStudentId());
-		task.setTaskId(markArbitrateHistory.getId());
-		task.setSecretNumber(markArbitrateHistory.getSecretNumber());
-		task.setQuestionList(buildArbitrateStep(markGroup, markArbitrateHistory));
+    @Override
+    public Task build(MarkArbitrateHistory markArbitrateHistory, MarkGroup markGroup) {
+        MarkStudent markStudent = markStudentService.getById(markArbitrateHistory.getStudentId());
+        Task task = new Task();
+        task.setStudentId(markArbitrateHistory.getStudentId());
+        task.setTaskId(markArbitrateHistory.getId());
+        task.setSecretNumber(markArbitrateHistory.getSecretNumber());
+        task.setQuestionList(buildArbitrateStep(markGroup, markArbitrateHistory));
 //        task.setSpecialTagList(getHeaderTagList(history.getStudentId(), group.getNumber()));
-		// todo jsonurl xf
+        // todo jsonurl xf
 //        task.setJsonUrl(fileService.getJsonUri(student.getExamId(), student.getSecretNumber()));
-		if (StringUtils.isNotBlank(markStudent.getObjectiveScoreList())) {
-			task.setObjectiveScore(markStudent.getObjectiveScore());
-		}
-		task.setMarkerTime(markArbitrateHistory.getUpdateTime());
-		if (markArbitrateHistory.getTotalScore() != null) {
-			task.setMarkerScore(markArbitrateHistory.getTotalScore());
-		}
-		return task;
-	}
+        if (StringUtils.isNotBlank(markStudent.getObjectiveScoreList())) {
+            task.setObjectiveScore(markStudent.getObjectiveScore());
+        }
+        task.setMarkerTime(markArbitrateHistory.getUpdateTime());
+        if (markArbitrateHistory.getTotalScore() != null) {
+            task.setMarkerScore(markArbitrateHistory.getTotalScore());
+        }
+        return task;
+    }
 
-	@Override
-	public Task build(Long studentId) {
-		MarkStudent markStudent = markStudentService.getById(studentId);
-		Task task = new Task();
-		if (markStudent != null) {
-			task.setStudentId(markStudent.getId());
-			task.setSecretNumber(markStudent.getSecretNumber());
-			task.setStudentCode(markStudent.getStudentCode());
-			task.setStudentName(markStudent.getStudentName());
+    @Override
+    public Task build(Long studentId) {
+        MarkStudent markStudent = markStudentService.getById(studentId);
+        Task task = new Task();
+        if (markStudent != null) {
+            task.setStudentId(markStudent.getId());
+            task.setSecretNumber(markStudent.getSecretNumber());
+            task.setStudentCode(markStudent.getStudentCode());
+            task.setStudentName(markStudent.getStudentName());
+            task.setCourseCode(markStudent.getCourseCode());
+            task.setCourseName(markStudent.getCourseName());
+            task.setPaperNumber(markStudent.getPaperNumber());
 
-			// 原图
-			task.setSheetUrls(teachcloudCommonService.filePreview(markStudent.getSheetPathList()));
+            // 原图
+            task.setSheetUrls(teachcloudCommonService.filePreview(markStudent.getSheetPathList()));
 
-			if (!markStudent.getSubjectiveStatus().equals(SubjectiveStatus.UNMARK)) {
-				task.setQuestionList(buildMarkStep(markStudent));
+            if (!markStudent.getSubjectiveStatus().equals(SubjectiveStatus.UNMARK)) {
+                task.setQuestionList(buildMarkStep(markStudent));
                 task.setSpecialTagList(getMarkSpecialTagList(markStudent));
                 task.setHeaderTagList(getHeaderTagList(markStudent));
-			}
-			if (StringUtils.isNotBlank(markStudent.getObjectiveScoreList())) {
-				task.setObjectiveScore(markStudent.getObjectiveScore());
-			}
-			task.setMarkerScore(markStudent.getTotalScore());
-			return task;
-		}
-		return task;
-	}
+            }
+            if (StringUtils.isNotBlank(markStudent.getObjectiveScoreList())) {
+                task.setObjectiveScore(markStudent.getObjectiveScore());
+            }
+            task.setMarkerScore(markStudent.getTotalScore());
+            return task;
+        }
+        return task;
+    }
 
-	private List<MarkStepDTO> buildMarkStep(MarkStudent markStudent) {
-		Long examId = markStudent.getExamId();
-		String paperNumber = markStudent.getPaperNumber();
-		List<MarkStepDTO> list = new LinkedList<MarkStepDTO>();
-		List<MarkQuestion> sList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(examId,
-				paperNumber, null, false);
-		Set<Integer> mainList = markSubjectiveScoreService.listMainNumberByStudentIdAndUncalculate(markStudent.getId(),
-				true);
-		List<MarkSubjectiveScore> scoreList = markSubjectiveScoreService
-				.listByStudentIdAndGroupNumber(markStudent.getId(), null);
-		for (int i = 0; i < scoreList.size(); i++) {
-			MarkQuestion question = sList.get(i);
-			String questionNumber = question.getQuestionNumber();
-			MarkStepDTO step = buildStep(question);
-			if (!scoreList.isEmpty() && scoreList.size() == sList.size()) {
-				step.setScore(scoreList.get(i).getScore());
-				if (mainList.contains(step.getMainNumber())) {
-					step.setUncalculate(true);
-				}
-			}
-			// 增加阅卷轨迹列表获取
-			List<MarkTask> markTaskList = markTaskService.listByStudentIdAndGroupNumber(markStudent.getId(),
-					question.getGroupNumber());
-			// 不管单评还是多评显示所有评卷员给分轨迹
-			for (MarkTask markTask : markTaskList) {
-				List<MarkTrack> tracks = markTrackService.listByTaskIdAndQuestionNumber(markTask.getId(),
-						questionNumber);
-				for (MarkTrack track : tracks) {
-					step.addTrack(new MarkerTrackDTO(track));
-				}
-			}
-			// 仲裁轨迹
-			List<MarkHeaderTrack> headerTracks = markHeaderTrackService
-					.listByStudentIdAndQuestionNumber(markStudent.getId(), questionNumber);
-			for (MarkHeaderTrack headerTrack : headerTracks) {
-				step.addHeaderTrack(new TrackDTO(headerTrack));
-			}
-			list.add(step);
-		}
-		return list;
-	}
+    private List<MarkStepDTO> buildMarkStep(MarkStudent markStudent) {
+        Long examId = markStudent.getExamId();
+        String paperNumber = markStudent.getPaperNumber();
+        List<MarkStepDTO> list = new LinkedList<MarkStepDTO>();
+        List<MarkQuestion> sList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(examId,
+                paperNumber, null, false);
+        Set<Integer> mainList = markSubjectiveScoreService.listMainNumberByStudentIdAndUncalculate(markStudent.getId(),
+                true);
+        List<MarkSubjectiveScore> scoreList = markSubjectiveScoreService
+                .listByStudentIdAndGroupNumber(markStudent.getId(), null);
+        for (int i = 0; i < scoreList.size(); i++) {
+            MarkQuestion question = sList.get(i);
+            String questionNumber = question.getQuestionNumber();
+            MarkStepDTO step = buildStep(question);
+            if (!scoreList.isEmpty() && scoreList.size() == sList.size()) {
+                step.setScore(scoreList.get(i).getScore());
+                if (mainList.contains(step.getMainNumber())) {
+                    step.setUncalculate(true);
+                }
+            }
+            // 增加阅卷轨迹列表获取
+            List<MarkTask> markTaskList = markTaskService.listByStudentIdAndGroupNumber(markStudent.getId(),
+                    question.getGroupNumber());
+            // 不管单评还是多评显示所有评卷员给分轨迹
+            for (MarkTask markTask : markTaskList) {
+                List<MarkTrack> tracks = markTrackService.listByTaskIdAndQuestionNumber(markTask.getId(),
+                        questionNumber);
+                for (MarkTrack track : tracks) {
+                    step.addTrack(new MarkerTrackDTO(track));
+                }
+            }
+            // 仲裁轨迹
+            List<MarkHeaderTrack> headerTracks = markHeaderTrackService
+                    .listByStudentIdAndQuestionNumber(markStudent.getId(), questionNumber);
+            for (MarkHeaderTrack headerTrack : headerTracks) {
+                step.addHeaderTrack(new TrackDTO(headerTrack));
+            }
+            list.add(step);
+        }
+        return list;
+    }
 
-	private List<MarkStepDTO> buildArbitrateStep(MarkGroup group, MarkArbitrateHistory markArbitrateHistory) {
-		List<MarkStepDTO> list = new LinkedList<>();
-		List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(
-				group.getExamId(), group.getPaperNumber(), group.getNumber(), false);
-		List<MarkHeaderTrack> tracks = markHeaderTrackService.listByExamAndPaperNumberAndGroupNumberAndStudentId(
-				group.getExamId(), group.getPaperNumber(), group.getNumber(), markArbitrateHistory.getStudentId());
-		List<ScoreItem> sItems = new ArrayList<ScoreItem>();
-		if (markArbitrateHistory != null) {
-			sItems = markArbitrateHistory.getScoreItemList();
-		}
-		for (int i = 0; i < markQuestionList.size(); i++) {
-			MarkQuestion question = markQuestionList.get(i);
-			MarkStepDTO step = buildStep(question);
-			if (markArbitrateHistory != null) {
-				if (!sItems.isEmpty() && sItems.size() == markQuestionList.size()) {
-					step.setScore(sItems.get(i).getScore());
-				}
-				// 增加阅卷轨迹列表获取
-				String questionNumber = question.getQuestionNumber();
-				for (MarkHeaderTrack track : tracks) {
-					if (track.getQuestionNumber().equals(questionNumber)) {
-						step.addTrack(new TrackDTO(track));
-					}
-				}
-			}
-			list.add(step);
-		}
-		return list;
-	}
+    private List<MarkStepDTO> buildArbitrateStep(MarkGroup group, MarkArbitrateHistory markArbitrateHistory) {
+        List<MarkStepDTO> list = new LinkedList<>();
+        List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(
+                group.getExamId(), group.getPaperNumber(), group.getNumber(), false);
+        List<MarkHeaderTrack> tracks = markHeaderTrackService.listByExamAndPaperNumberAndGroupNumberAndStudentId(
+                group.getExamId(), group.getPaperNumber(), group.getNumber(), markArbitrateHistory.getStudentId());
+        List<ScoreItem> sItems = new ArrayList<ScoreItem>();
+        if (markArbitrateHistory != null) {
+            sItems = markArbitrateHistory.getScoreItemList();
+        }
+        for (int i = 0; i < markQuestionList.size(); i++) {
+            MarkQuestion question = markQuestionList.get(i);
+            MarkStepDTO step = buildStep(question);
+            if (markArbitrateHistory != null) {
+                if (!sItems.isEmpty() && sItems.size() == markQuestionList.size()) {
+                    step.setScore(sItems.get(i).getScore());
+                }
+                // 增加阅卷轨迹列表获取
+                String questionNumber = question.getQuestionNumber();
+                for (MarkHeaderTrack track : tracks) {
+                    if (track.getQuestionNumber().equals(questionNumber)) {
+                        step.addTrack(new TrackDTO(track));
+                    }
+                }
+            }
+            list.add(step);
+        }
+        return list;
+    }
 
-	private MarkStepDTO buildStep(MarkQuestion question) {
-		MarkStepDTO step = new MarkStepDTO();
-		step.setMainNumber(question.getMainNumber());
-		step.setSubNumber(String.valueOf(question.getSubNumber()));
-		step.setGroupNumber(question.getGroupNumber());
-		step.setTitle(question.getMainTitle());
-		step.setDefaultScore(0d);
-		step.setMaxScore(question.getTotalScore());
-		step.setMinScore(0d);
-		step.setIntervalScore(question.getIntervalScore());
-		step.setUncalculate(false);
-		return step;
-	}
+    private MarkStepDTO buildStep(MarkQuestion question) {
+        MarkStepDTO step = new MarkStepDTO();
+        step.setMainNumber(question.getMainNumber());
+        step.setSubNumber(String.valueOf(question.getSubNumber()));
+        step.setGroupNumber(question.getGroupNumber());
+        step.setTitle(question.getMainTitle());
+        step.setDefaultScore(0d);
+        step.setMaxScore(question.getTotalScore());
+        step.setMinScore(0d);
+        step.setIntervalScore(question.getIntervalScore());
+        step.setUncalculate(false);
+        return step;
+    }
 
-	@Override
-	public Task build(MarkTask t) {
-		Task task = new Task();
-		task.setTaskId(t.getId());
-		task.setGroupNumber(task.getGroupNumber());
-		task.setSecretNumber(t.getSecretNumber());
-		task.setMarkerTime(t.getMarkerTime());
-		task.setPaperNumber(t.getPaperNumber());
-		task.setMarkerScore(t.getMarkerScore());
-		task.setRejected(t.getStatus().equals(MarkTaskStatus.REJECTED));
-		task.setPrevious(t.getStatus().equals(MarkTaskStatus.MARKED));
-		task.setStudentId(t.getStudentId());
-		task.setStudentCode(t.getStudentCode());
-		task.setQuestionList(buildMarkStep(t));
-		task.setSpecialTagList(getMarkSpecialTagList(t));
-		MarkStudent student = markStudentService.getById(t.getStudentId());
-		task.setSheetUrls(teachcloudCommonService.filePreview(student.getSheetPathList()));
-		MarkGroup group = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(t.getExamId(), t.getPaperNumber(),
-				t.getGroupNumber());
-		task.setSliceConfig(group.getPictureConfigList());
-		return task;
-	}
+    @Override
+    public Task build(MarkTask t) {
+        Task task = new Task();
+        task.setTaskId(t.getId());
+        task.setGroupNumber(task.getGroupNumber());
+        task.setSecretNumber(t.getSecretNumber());
+        task.setMarkerTime(t.getMarkerTime());
+        task.setPaperNumber(t.getPaperNumber());
+        task.setMarkerScore(t.getMarkerScore());
+        task.setRejected(t.getStatus().equals(MarkTaskStatus.REJECTED));
+        task.setPrevious(t.getStatus().equals(MarkTaskStatus.MARKED));
+        task.setStudentId(t.getStudentId());
+        task.setStudentCode(t.getStudentCode());
+        task.setQuestionList(buildMarkStep(t));
+        task.setSpecialTagList(getMarkSpecialTagList(t));
+        MarkStudent student = markStudentService.getById(t.getStudentId());
+        task.setSheetUrls(teachcloudCommonService.filePreview(student.getSheetPathList()));
+        MarkGroup group = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(t.getExamId(), t.getPaperNumber(),
+                t.getGroupNumber());
+        task.setSliceConfig(group.getPictureConfigList());
+        return task;
+    }
 
-	private List<MarkStepDTO> buildMarkStep(MarkTask task) {
-		List<MarkStepDTO> list = new LinkedList<MarkStepDTO>();
-		List<MarkQuestion> sList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(
-				task.getExamId(), task.getPaperNumber(), task.getGroupNumber(), false);
-		List<MarkTrack> tracks = new ArrayList<MarkTrack>();
-		List<ScoreItem> sItems = new ArrayList<ScoreItem>();
+    private List<MarkStepDTO> buildMarkStep(MarkTask task) {
+        List<MarkStepDTO> list = new LinkedList<MarkStepDTO>();
+        List<MarkQuestion> sList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(
+                task.getExamId(), task.getPaperNumber(), task.getGroupNumber(), false);
+        List<MarkTrack> tracks = new ArrayList<MarkTrack>();
+        List<ScoreItem> sItems = new ArrayList<ScoreItem>();
 //		List<ScoreItem> rItems = null;
-		if (task != null) {
-			tracks = markTrackService.listByTaskId(task.getId());
-			sItems = task.getMarkerScoreItem();
-		}
-		for (int i = 0; i < sList.size(); i++) {
-			MarkQuestion question = sList.get(i);
-			MarkStepDTO step = buildStep(question);
-			if (task != null) {
-				if (!sItems.isEmpty() && sItems.size() == sList.size()) {
-					step.setScore(sItems.get(i).getScore());
-				}
+        if (task != null) {
+            tracks = markTrackService.listByTaskId(task.getId());
+            sItems = task.getMarkerScoreItem();
+        }
+        for (int i = 0; i < sList.size(); i++) {
+            MarkQuestion question = sList.get(i);
+            MarkStepDTO step = buildStep(question);
+            if (task != null) {
+                if (!sItems.isEmpty() && sItems.size() == sList.size()) {
+                    step.setScore(sItems.get(i).getScore());
+                }
 //				if (rItems == null) {
 //					// 无打回记录
 //					step.setRejected(false);
@@ -253,32 +256,33 @@ public class TaskServiceImpl implements TaskService {
 //					// 部分打回
 //					step.setRejected(rItems.get(i).getScore() == null);
 //				}
-				// 未选做
+                // 未选做
 //                if (task.getMarkerScore() != null && task.getMarkerScore() == UN_SELECTIVE_SCORE) {
 //                    step.setScore(UN_SELECTIVE_SCORE);
 //                }
-				// 增加阅卷轨迹列表获取
-				String questionNumber = question.getQuestionNumber();
-				for (MarkTrack track : tracks) {
-					if (track.getQuestionNumber().equals(questionNumber)) {
-						step.addTrack(new TrackDTO(track));
-					}
-				}
-			}
-			list.add(step);
-		}
-		return list;
-	}
-	private SpecialTagDTO[] getHeaderTagList(MarkStudent student) {
-		List<MarkHeaderTag> list = markHeaderTagService.findByStudentId(student.getId());
-		SpecialTagDTO[] specialTags = new SpecialTagDTO[list.size()];
-		for (int i = 0; i < list.size(); i++) {
-			specialTags[i] = new MarkerSpecialTagDTO(list.get(i).getUserId(), list.get(i).getGroupNumber(),
-					list.get(i));
-		}
-		return specialTags;
-	}
-	
+                // 增加阅卷轨迹列表获取
+                String questionNumber = question.getQuestionNumber();
+                for (MarkTrack track : tracks) {
+                    if (track.getQuestionNumber().equals(questionNumber)) {
+                        step.addTrack(new TrackDTO(track));
+                    }
+                }
+            }
+            list.add(step);
+        }
+        return list;
+    }
+
+    private SpecialTagDTO[] getHeaderTagList(MarkStudent student) {
+        List<MarkHeaderTag> list = markHeaderTagService.findByStudentId(student.getId());
+        SpecialTagDTO[] specialTags = new SpecialTagDTO[list.size()];
+        for (int i = 0; i < list.size(); i++) {
+            specialTags[i] = new MarkerSpecialTagDTO(list.get(i).getUserId(), list.get(i).getGroupNumber(),
+                    list.get(i));
+        }
+        return specialTags;
+    }
+
     public SpecialTagDTO[] getMarkSpecialTagList(MarkTask library) {
         SpecialTagDTO[] specialTags = null;
         List<MarkSpecialTag> list = markSpecialTagService.findByTaskId(library.getId());
@@ -292,21 +296,21 @@ public class TaskServiceImpl implements TaskService {
         return specialTags;
     }
 
-	private SpecialTagDTO[] getMarkSpecialTagList(MarkStudent student) {
-		List<SpecialTagDTO> list = new LinkedList<>();
-		List<MarkGroup> groups = markGroupService.listGroupByExamIdAndPaperNumber(student.getExamId(),
-				student.getPaperNumber());
-		for (MarkGroup group : groups) {
-			List<MarkTask> libraryList = markTaskService.listByStudentIdAndGroupNumber(student.getId(),
-					group.getNumber());
-			// 不管单评还是多评显示所有评卷员特殊标记
-			for (MarkTask library : libraryList) {
-				List<MarkSpecialTag> tagList = markSpecialTagService.findByTaskId(library.getId());
-				for (MarkSpecialTag specialTag : tagList) {
-					list.add(new MarkerSpecialTagDTO(library.getUserId(), library.getGroupNumber(), specialTag));
-				}
-			}
-		}
-		return list.toArray(new SpecialTagDTO[0]);
-	}
+    private SpecialTagDTO[] getMarkSpecialTagList(MarkStudent student) {
+        List<SpecialTagDTO> list = new LinkedList<>();
+        List<MarkGroup> groups = markGroupService.listGroupByExamIdAndPaperNumber(student.getExamId(),
+                student.getPaperNumber());
+        for (MarkGroup group : groups) {
+            List<MarkTask> libraryList = markTaskService.listByStudentIdAndGroupNumber(student.getId(),
+                    group.getNumber());
+            // 不管单评还是多评显示所有评卷员特殊标记
+            for (MarkTask library : libraryList) {
+                List<MarkSpecialTag> tagList = markSpecialTagService.findByTaskId(library.getId());
+                for (MarkSpecialTag specialTag : tagList) {
+                    list.add(new MarkerSpecialTagDTO(library.getUserId(), library.getGroupNumber(), specialTag));
+                }
+            }
+        }
+        return list.toArray(new SpecialTagDTO[0]);
+    }
 }