From 7293f04d18fb2e882e152f962c3aa1d8fcb1f93e Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 17 Nov 2021 15:46:35 +0800
Subject: [PATCH] 证书打印信息导出修改
---
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 143 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index e6cf583..7ac08cb 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -18,17 +18,21 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.modules.exam.entity.ExamPaper;
-import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.modules.apply.entity.Apply;
+import org.springblade.modules.exam.entity.*;
import org.springblade.modules.exam.mapper.ExamPaperMapper;
-import org.springblade.modules.exam.service.ExamPaperService;
+import org.springblade.modules.exam.service.*;
import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
import org.springblade.modules.exam.vo.ExamPaperVO;
import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springblade.modules.training.service.TrainingRegistrationService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
+import java.util.*;
/**
* 服务实现类
@@ -38,10 +42,47 @@
@Service
public class ExamPaperServiceImpl extends ServiceImpl<ExamPaperMapper, ExamPaper> implements ExamPaperService {
+ @Autowired
+ private ExamExaminationSubjectService examExaminationSubjectService;
+
+ @Autowired
+ private ExamAnswerRecordService examAnswerRecordService;
+
+ @Autowired
+ private ExamSubjectChoicesService examSubjectChoicesService;
+
+ @Autowired
+ private ExamScoreService examScoreService;
+
+
@Override
- public IPage<ExamPaperVO> selectExamPaperPage(IPage<ExamScoreVO> page, ExamPaperVO exam) {
- return baseMapper.selectExamPaperPage(page,exam);
+ public IPage<ExamPaperVO> selectExamPaperPages(IPage<ExamScoreVO> page, ExamPaperVO exam) {
+ return baseMapper.selectExamPaperPages(page,exam);
+ }
+
+
+ /**
+ * 自定义查询
+ * @param page 分页条件
+ * @param examPaperVO 查询参数
+ * @return
+ */
+ @Override
+ public IPage<ExamPaperVO> selectExamPaperPage(IPage<ExamScoreVO> page, ExamPaperVO examPaperVO) {
+ IPage<ExamPaperVO> examPaperVOIPage = baseMapper.selectExamPaperPage(page, examPaperVO);
+ List<ExamPaperVO> records = examPaperVOIPage.getRecords();
+ records.forEach(examPaperVO1 -> {
+ //查询每个考试的报名人员数量
+ if (examPaperVO1.getExamType()==1) {
+ examPaperVO1.setNum(baseMapper.getApplyNumber(examPaperVO1));
+ }
+ //模拟考试
+ if (examPaperVO1.getExamType()==2) {
+ examPaperVO1.setNum(baseMapper.getTrainNumber(examPaperVO1));
+ }
+ });
+ return examPaperVOIPage;
}
@Override
@@ -51,9 +92,34 @@
}
@Override
- public List<ExamPaperSubjectVO> queryRandomSubject(ExamPaper paper) {
- //随机分类信息
- return baseMapper.queryRandomSubject(paper);
+ public List<ExamSubjectChoicesVO> queryRandomSubject(ExamPaperVO paper) {
+ //保存题目信息
+ if (null!=paper.getScoreId()){
+ //随机分类信息
+ List<ExamSubjectChoicesVO> 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
@@ -90,7 +156,7 @@
}
/**
- * 查询前缀相同的准考证数量
+ * 查询是当前前缀已生成准考证号码最大的一位
* @param result 前缀
* @return
*/
@@ -108,4 +174,71 @@
public List<TrainingRegistration> getTrainList(Long id) {
return baseMapper.getTrainList(id);
}
+
+ /**
+ * 使用考试名称匹配考试信息
+ * @param examName 考试名称
+ * @return
+ */
+ @Override
+ public ExamPaper getExamInfoByExamName(String examName) {
+ return baseMapper.getExamInfoByExamName(examName);
+ }
+
+ /**
+ * 根据用户id查询报名信息
+ * @param userId 用户id
+ * @return
+ */
+ @Override
+ public List<Apply> getApplyDetail(String userId) {
+ return baseMapper.getApplyDetail(userId);
+ }
+
+ /**
+ * 考试中页面刷新,1查询所有的答题信息,2查询所有的已答信息 3.下一题信息 3其他信息
+ * @param examPaperVO 必须包含 scoreId
+ * @return
+ */
+ @Override
+ public Map<String, Object> getExamRefreshInfo(ExamPaperVO examPaperVO) {
+ if (null!=examPaperVO.getScoreId()) {
+ Map<String, Object> map = new HashMap<>(4);
+ //1.查询当前人员当前考试的考试题目信息
+ List<ExamSubjectChoicesVO> examSubjectChoicesVOSList = baseMapper.getExaminationSubjectList(examPaperVO);
+
+ //2.查询当前人员已答的题目信息
+ ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
+ examAnswerRecord.setScoreId(examPaperVO.getScoreId());
+ List<ExamAnswerRecord> examAnswerRecordList = examAnswerRecordService.list(Condition.getQueryWrapper(examAnswerRecord));
+
+ //3.查询正在答题的信息
+ int count = examAnswerRecordList.size();
+ //查询下一题题目信息
+ ExamSubjectChoicesVO examSubjectChoicesVO = new ExamSubjectChoicesVO();
+ ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
+ if (count>0) {
+ examSubjectChoices.setId(examSubjectChoicesVOSList.get(count).getId());
+ examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
+ }
+ if (count==0) {
+ examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).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);
+
+ //6.返回数据
+ return map;
+ }
+ return null;
+ }
}
--
Gitblit v1.9.3