“djh”
3 天以前 c0f16750cb9097a8db7b68f8c1794c2aec28ca15
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
@@ -24,6 +24,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -296,7 +298,7 @@
            }
            updateStudentAnswers.add(sa);
        }
        ExPaperStudent exPaperStudent = baseMapper.selectByPaperStudentId(paperStudent);
        studentAnswerService.saveOrUpdateBatch(updateStudentAnswers);
        paperStudent.setScore(totalScore);
        if(!easyViewFlag){
@@ -306,6 +308,17 @@
                paperStudent.setPassed(Constant.EXAM_UNPASS);
            }else{
                paperStudent.setPassed(Constant.EXAM_PASS);
                //生成考试证书编号
                DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                String format = LocalDate.now().format(dateTimeFormatter);
                Long l = baseMapper.selectCount(Wrappers.<ExPaperStudent>lambdaQuery().eq(ExPaperStudent::getPassed, 1).eq(ExPaperStudent::getState,2));
                l+=1;
                paperStudent.setNumber("AQSC-"+format+"-"+l);
            }
            if (exPaperStudent.getScore()>paperStudent.getScore()){
                paperStudent.setScore(exPaperStudent.getScore());
            }
        }
        int row=baseMapper.updateById(paperStudent);
@@ -314,6 +327,21 @@
        }
    }
    @Override
    @Transactional
    public void againExam(ExPaperStudent exPaperStudent) {
//        baseMapper.deleteByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
//        studentAnswerMapper.deletedByPaperStudentId(exPaperStudent.getPaperId(),exPaperStudent.getStudentId());
//        BatchPaperStudentVO batchPaperStudentVO = new BatchPaperStudentVO();
//        batchPaperStudentVO.setPaperId(exPaperStudent.getPaperId());
//        List<Long> longs = new ArrayList<>();
//        longs.add(exPaperStudent.getStudentId());
//        batchPaperStudentVO.setStudentIds(longs);
//        batchAddPaperStudent(batchPaperStudentVO);
        baseMapper.updateByPaperStudentId(exPaperStudent);
        studentAnswerMapper.updateState(exPaperStudent);
    }
    private Integer getScore(ExExamPaper examPaper,Integer questionType){
        if(questionType.equals(QuestionTypeEnum.SINGLE.getCode())){
            return examPaper.getSingleScore();