智慧保安后台管理-外网项目备份
钟日健
2026-06-01 62eb499b0c969f246d3245d1429a97da4de1ce28
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -297,23 +297,44 @@
         Map<String, Object> map = new HashMap<>(4);
         //1.查询当前人员当前考试的考试题目信息
         List<ExamSubjectChoicesVO> examSubjectChoicesVOSList = baseMapper.getExaminationSubjectList(examPaperVO);
         if (examSubjectChoicesVOSList.size()==0) {
            examSubjectChoicesVOSList = baseMapper.queryRandomSubject(null);
            List<ExamExaminationSubject> list = new ArrayList<>();
            examSubjectChoicesVOSList.forEach(examSubjectChoicesVO -> {
               //新增个人对应每场考试成绩试卷
               ExamExaminationSubject ksxtSginup = new ExamExaminationSubject();
               ksxtSginup.setExaminationId(examPaperVO.getScoreId());
               ksxtSginup.setCategoryId(examSubjectChoicesVO.getChoicesType());
               ksxtSginup.setSubjectId(examSubjectChoicesVO.getId());
               //新增
               list.add(ksxtSginup);
               //将题目答案设置为空字符串,不让前端看到
               examSubjectChoicesVO.setAnswer("");
            });
            //批量新增
            baseMapper.insertBatch(list);
         }
         //2.查询当前人员已答的题目信息
         ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
         examAnswerRecord.setScoreId(examPaperVO.getScoreId());
         List<ExamAnswerRecord> examAnswerRecordList = examAnswerRecordService.list(Condition.getQueryWrapper(examAnswerRecord));
         //3.查询正在答题的信息
         int count  = examAnswerRecordList.size();
         int count = examAnswerRecordList.size();
         //查询下一题题目信息
         ExamSubjectChoicesVO examSubjectChoicesVO = new ExamSubjectChoicesVO();
         ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
         if (count>0) {
         if (count == 0) {
            examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).getId());
            examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
         }
         if (count > 0 && count<100) {
            examSubjectChoices.setId(examSubjectChoicesVOSList.get(count).getId());
            examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
         }
         if (count==0) {
            examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).getId());
         if (count == 100) {
            // 查最后一道题信息
            examSubjectChoices.setId(examSubjectChoicesVOSList.get(99).getId());
            examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
         }
@@ -321,10 +342,10 @@
         ExamScore examScore = examScoreService.getById(examPaperVO.getScoreId());
         //5.数据封装
         map.put("examSubjectChoicesVOSList",examSubjectChoicesVOSList);
         map.put("examAnswerRecordList",examAnswerRecordList);
         map.put("examSubjectChoicesVO",examSubjectChoicesVO);
         map.put("examScore",examScore);
         map.put("examSubjectChoicesVOSList", examSubjectChoicesVOSList);
         map.put("examAnswerRecordList", examAnswerRecordList);
         map.put("examSubjectChoicesVO", examSubjectChoicesVO);
         map.put("examScore", examScore);
         //6.返回数据
         return map;