1
0
Просмотр исходного кода

科组长导出问题卷敏感信息***

yin 1 месяц назад
Родитель
Сommit
41dbf57c7b

+ 12 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ProblemHistoryController.java

@@ -52,6 +52,8 @@ public class ProblemHistoryController extends BaseExamController {
 
     public static HistoryStatus[] STATUS_LIST = { HistoryStatus.WAITING, HistoryStatus.BACK };
 
+    private static final String DEFAULT_SECRET_NUMBER = "***";
+
     @Autowired
     private ProblemTypeService problemService;
 
@@ -189,6 +191,7 @@ public class ProblemHistoryController extends BaseExamController {
             String fileName = "问题卷数据.xlsx";
             WebUser wu = RequestUtils.getWebUser(request);
             int examId = getSessionExamId(request);
+            Exam exam = examService.findById(examId);
             List<ProblemType> problemTypes = problemService.findByExamId(examId);
             Map<Integer, ProblemType> problemMap = new HashMap<Integer, ProblemType>();
             for (ProblemType problemType : problemTypes) {
@@ -214,9 +217,15 @@ public class ProblemHistoryController extends BaseExamController {
                 dto.setSubjectName(student.getSubjectName());
                 dto.setStatus(query.getStatus().getName());
                 dto.setGroupNumber(history.getGroupNumber());
-                dto.setExamNumber(student.getExamNumber());
-                dto.setSecretNumber(student.getSecretNumber());
-                dto.setName(student.getName());
+                if(wu.isSubjectHeader() && exam.isForbiddenInfo()){
+                    dto.setExamNumber(DEFAULT_SECRET_NUMBER);
+                    dto.setSecretNumber(DEFAULT_SECRET_NUMBER);
+                    dto.setName(DEFAULT_SECRET_NUMBER);
+                }else{
+                    dto.setExamNumber(student.getExamNumber());
+                    dto.setSecretNumber(student.getSecretNumber());
+                    dto.setName(student.getName());
+                }
                 dto.setProblemType(problemMap.get(history.getProblemId()).getName());
                 if (history.getMarkerId() != null) {
                     User user = userService.findByMarkerId(history.getMarkerId());