| | |
| | | return baseMapper.queryPagerSubject(paper); |
| | | } |
| | | |
| | | // @Override |
| | | // public List<ExamSubjectChoicesVO> queryRandomSubject(ExamPaperVO paper) { |
| | | // //保存题目信息 |
| | | // if (null!=paper.getScoreId()){ |
| | | // //查询该保安员是否为会员 |
| | | // ExamScore score = examScoreService.getById(paper.getScoreId()); |
| | | // TrainingRegistration trainingRegistration = trainingRegistrationService.getById(score.getApplyId()); |
| | | // |
| | | // List<ExamSubjectChoicesVO> examSubjectChoicesVOS = new ArrayList<>(); |
| | | // if (null!=trainingRegistration.getVipStatus()){ |
| | | // //如果是会员,从会员库里取题目 |
| | | // if (trainingRegistration.getVipStatus().equals(1)){ |
| | | // //查询该vip 用户的 vip 库,从该120题中取出题目 |
| | | // VipTopic vipTopic = new VipTopic(); |
| | | // vipTopic.setUserId(Long.parseLong(score.getUserId())); |
| | | //// vipTopic.setApplyId(score.getApplyId()); |
| | | // VipTopic topic = vipTopicService.getOne(Condition.getQueryWrapper(vipTopic)); |
| | | // if (null!=topic){ |
| | | // List<String> list = Arrays.asList(topic.getTopicIds().split(",")); |
| | | //// System.out.println("list.size() = " + list.size()); |
| | | // List<String> radio = list.subList(0, 49); |
| | | // List<String> checkbox = list.subList(50, 69); |
| | | // List<String> judge = list.subList(70, 109); |
| | | // List<String> sort = list.subList(110, 119); |
| | | // //随机题目 |
| | | // List<ExamSubjectChoicesVO> radioRandomSubjectList = baseMapper.queryRandomSubjectList(radio,25); |
| | | // List<ExamSubjectChoicesVO> checkboxRandomSubjectList = baseMapper.queryRandomSubjectList(checkbox,10); |
| | | // List<ExamSubjectChoicesVO> judgeRandomSubjectList = baseMapper.queryRandomSubjectList(judge,20); |
| | | // List<ExamSubjectChoicesVO> sortRandomSubjectList = baseMapper.queryRandomSubjectList(sort,5); |
| | | // //合并集合数据 |
| | | // examSubjectChoicesVOS.addAll(radioRandomSubjectList); |
| | | // examSubjectChoicesVOS.addAll(checkboxRandomSubjectList); |
| | | // examSubjectChoicesVOS.addAll(judgeRandomSubjectList); |
| | | // examSubjectChoicesVOS.addAll(sortRandomSubjectList); |
| | | // } |
| | | // }else { |
| | | // //随机分类信息 |
| | | // examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper); |
| | | // } |
| | | // }else { |
| | | // //随机分类信息 |
| | | // examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper); |
| | | // } |
| | | //// long before = System.currentTimeMillis(); |
| | | // List<ExamExaminationSubject> list = new ArrayList<>(); |
| | | // examSubjectChoicesVOS.forEach(examSubjectChoicesVO -> { |
| | | // //新增个人对应每场考试成绩试卷 |
| | | // ExamExaminationSubject ksxtSginup = new ExamExaminationSubject(); |
| | | // ksxtSginup.setExaminationId(paper.getScoreId()); |
| | | // ksxtSginup.setCategoryId(examSubjectChoicesVO.getChoicesType()); |
| | | // ksxtSginup.setSubjectId(examSubjectChoicesVO.getId()); |
| | | // //新增 |
| | | //// examExaminationSubjectService.save(ksxtSginup); |
| | | // list.add(ksxtSginup); |
| | | // //将题目答案设置为空字符串,不让前端看到 |
| | | // examSubjectChoicesVO.setAnswer(""); |
| | | // }); |
| | | // //批量新增 |
| | | // baseMapper.insertBatch(list); |
| | | //// long after = System.currentTimeMillis(); |
| | | //// System.out.println("时间差"+(after-before)); |
| | | // //新增试卷关联信息 |
| | | // return examSubjectChoicesVOS; |
| | | // } |
| | | // //返回 |
| | | // return null; |
| | | // } |
| | | |
| | | |
| | | @Override |
| | | public List<ExamSubjectChoicesVO> queryRandomSubject(ExamPaperVO paper) { |
| | | //保存题目信息 |
| | | if (null!=paper.getScoreId()){ |
| | | //查询该保安员是否为会员 |
| | | ExamScore score = examScoreService.getById(paper.getScoreId()); |
| | | TrainingRegistration trainingRegistration = trainingRegistrationService.getById(score.getApplyId()); |
| | | |
| | | // ExamScore score = examScoreService.getById(paper.getScoreId()); |
| | | List<ExamSubjectChoicesVO> examSubjectChoicesVOS = new ArrayList<>(); |
| | | if (null!=trainingRegistration.getVipStatus()){ |
| | | //如果是会员,从会员库里取题目 |
| | | if (trainingRegistration.getVipStatus().equals(1)){ |
| | | //查询该vip 用户的 vip 库,从该120题中取出题目 |
| | | VipTopic vipTopic = new VipTopic(); |
| | | vipTopic.setUserId(Long.parseLong(score.getUserId())); |
| | | // vipTopic.setApplyId(score.getApplyId()); |
| | | VipTopic topic = vipTopicService.getOne(Condition.getQueryWrapper(vipTopic)); |
| | | if (null!=topic){ |
| | | List<String> list = Arrays.asList(topic.getTopicIds().split(",")); |
| | | // System.out.println("list.size() = " + list.size()); |
| | | List<String> radio = list.subList(0, 49); |
| | | List<String> checkbox = list.subList(50, 69); |
| | | List<String> judge = list.subList(70, 109); |
| | | List<String> sort = list.subList(110, 119); |
| | | //随机题目 |
| | | List<ExamSubjectChoicesVO> radioRandomSubjectList = baseMapper.queryRandomSubjectList(radio,25); |
| | | List<ExamSubjectChoicesVO> checkboxRandomSubjectList = baseMapper.queryRandomSubjectList(checkbox,10); |
| | | List<ExamSubjectChoicesVO> judgeRandomSubjectList = baseMapper.queryRandomSubjectList(judge,20); |
| | | List<ExamSubjectChoicesVO> sortRandomSubjectList = baseMapper.queryRandomSubjectList(sort,5); |
| | | //合并集合数据 |
| | | examSubjectChoicesVOS.addAll(radioRandomSubjectList); |
| | | examSubjectChoicesVOS.addAll(checkboxRandomSubjectList); |
| | | examSubjectChoicesVOS.addAll(judgeRandomSubjectList); |
| | | examSubjectChoicesVOS.addAll(sortRandomSubjectList); |
| | | } |
| | | }else { |
| | | //随机分类信息 |
| | | examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper); |
| | | } |
| | | }else { |
| | | //随机分类信息 |
| | | examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper); |
| | | } |
| | | examSubjectChoicesVOS = baseMapper.queryRandomSubject(paper); |
| | | // long before = System.currentTimeMillis(); |
| | | List<ExamExaminationSubject> list = new ArrayList<>(); |
| | | examSubjectChoicesVOS.forEach(examSubjectChoicesVO -> { |
| | |
| | | }); |
| | | //批量新增 |
| | | baseMapper.insertBatch(list); |
| | | // long after = System.currentTimeMillis(); |
| | | // System.out.println("时间差"+(after-before)); |
| | | //新增试卷关联信息 |
| | | return examSubjectChoicesVOS; |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | | //4.其他信息 |
| | | 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; |
| | |
| | | public List<ExamScoreVO> getExamScoreList(ExamScoreVO examScoreVO) { |
| | | return baseMapper.getExamScoreList(examScoreVO); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据id 取出题目信息(随机取) |
| | | * @param list 题目id集合 |
| | | * @param number 题目梳理 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<ExamSubjectChoicesVO> queryRandomSubjectList(List<String> list, int number) { |
| | | return baseMapper.queryRandomSubjectList(list,number); |
| | | } |
| | | |
| | | /** |
| | | * 模拟考试随机抽题,未缴费人员 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<ExamSubjectChoicesVO> simulateQueryRandomSubjectList() { |
| | | return baseMapper.simulateQueryRandomSubjectList(); |
| | | } |
| | | |
| | | @Override |
| | | public List<ExamPaperVO> getList(ExamPaperVO examPaperVO) { |
| | | return baseMapper.getList(examPaperVO); |
| | | } |
| | | |
| | | @Override |
| | | public ExamPaperVO getLatest(ExamPaperVO examPaperVO) { |
| | | return baseMapper.getLatest(examPaperVO); |
| | | } |
| | | } |