Administrator
2021-08-13 d35732cfbf365e7ef423159a041408dfbe599d43
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -5,6 +5,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.common.utils.arg;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.service.ApplyService;
import org.springblade.modules.exam.entity.ExamExaminationSubject;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
@@ -19,6 +22,8 @@
import org.springblade.modules.exam.vo.ExamScoreVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +45,12 @@
   private final IUserService userService;
   private final ExamSubjectChoicesService examSubjectChoicesService;
   private final ExamPaperService examPaperService;
   private final ApplyService applyService;
   private final TrainingRegistrationService trainingRegistrationService;
   /**
    * 自定义分页数据
@@ -113,6 +124,28 @@
               }
            }
         }
         //获取考试信息
         ExamPaper paper = examPaperService.getById(examScore.getPapersId());
         //使用准考证号查询报名信息,修改考试状态为已考试
         if(paper.getExamType()==1){
            Apply apply = new Apply();
            apply.setCandidateNo(examScore.getCandidateNo());
            Apply apply1 = applyService.getOne(Condition.getQueryWrapper(apply));
            //修改为已考试
            apply1.setIsExam(2);
            applyService.updateById(apply1);
         }
         //模拟考试
         if(paper.getExamType()==2){
            TrainingRegistration trainingRegistration = new TrainingRegistration();
            trainingRegistration.setCandidateNo(examScore.getCandidateNo());
            TrainingRegistration trainingRegistration1 = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration));
            //修改为已考试
            trainingRegistration1.setIsExam(2);
            trainingRegistrationService.updateById(trainingRegistration1);
         }
         //设置考试ID
         examScore.setExamId(examScore.getPapersId().toString());
         //设置理论得分
         examScore.setTheoryGrade(theoryGrade);
         //计算总成绩,此时没有实操成绩,总成绩为实操成绩和理论成绩和的一半
@@ -146,12 +179,17 @@
      if (examScoreExcelList.size()>0){
         examScoreExcelList.forEach(examScoreExcel -> {
            if (null!=examScoreExcel.getLearnGrade() && null!=examScoreExcel.getIdCardNo() && examScoreExcel.getIdCardNo()!=""){
               ExamScore examScore = baseMapper.getExamScoreInfoByIdCardNo(examScoreExcel.getIdCardNo());
               //使用考试名称匹配考试信息
               ExamPaper examPaper = examPaperService.getExamInfoByExamName(examScoreExcel.getExamName());
               //查询出成绩数据
               ExamScore examScore = baseMapper.getExamScoreInfoByIdCardNo(examScoreExcel.getIdCardNo(),examPaper.getId());
               if (null!=examScore) {
                  examScore.setLearnGrade(examScoreExcel.getLearnGrade());
                  if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
                     //合格
                     examScore.setQualified(0);
                     //正式考试通过生成保安证编号
                     if (examPaper.getExamType()==1) {
                     //去生成保安证编号
                     //查询当前保安信息
                     User user = userService.getById(examScore.getUserId());
@@ -169,6 +207,7 @@
                     user.setSecuritynumber(result);
                     //更新保安数据
                     userService.updateById(user);
                     }
                  } else {
                     //不合格
                     examScore.setQualified(1);