package com.sundot.airport.exam.logic.eighteen.model.result;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sundot.airport.exam.logic.eighteen.model.result.subresult.QuestionIn18ExamRec;

import java.util.Date;
import java.util.List;

/**
 * <b>功能名：ItemIn18ExamRecordResult</b><br>
 * <b>说明：</b> 测试记录快照 <br>
 * <b>著作权：</b> Copyright (C) 2021 HUIFANEDU  CORPORATION<br>
 * <b>修改履历：</b><br>
 *
 * @author 2021-07-05 Mokou
 */
public class ItemIn18ExamRecordResult {
    /**
     * 测试记录业务主键ID
     */
    private String erId;

    /**
     * 测试名
     */
    private String erExName;

    /**
     * 测试记录创建时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date createTime;

    /**
     * 用户测试用时 单位:秒
     */
    private Integer erExamTime;

    /**
     * 测试得分
     */
    private Integer erScore;

    /**
     * 试卷总分
     */
    private Integer erTpTotalScore;

    /**
     * 答题正确数量
     */
    private Integer erBingoCount;

    /**
     * 部分答对题目数
     */
    private Integer erPartBingoCount;

    /**
     * 错误题目数
     */
    private Integer erIncorrectCount;

    /**
     * 未作答题目数
     */
    private Integer erNotFilledCount;

    /**
     * 题目总数
     */
    private Integer erTpQuesNum;

    /**
     * 正确率 100表示全对
     */
    private Integer erCorrect;

//    /**
//     * 证书相关数据
//     */
//    private CertDataIn18ExamRecordResult certData;

    /**
     * 考试后是否可见答案
     */
    private Boolean erExEnableAns;

    /**
     * 考试表业务主键
     */
    private String erExId;

    /**
     * 课程业务主键id
     */
    private String pcId;

    /**
     * 能否重新测试
     */
    private Boolean enableReExam;

    /**
     * 不能重新测试消息提示
     */
    private String reExamMsg;

    /**
     * 测试题目列表
     */
    private List<QuestionIn18ExamRec> question;

    public ItemIn18ExamRecordResult() {
    }

    public String getErId() {
        return erId;
    }

    public void setErId(String erId) {
        this.erId = erId;
    }

    public String getErExName() {
        return erExName;
    }

    public void setErExName(String erExName) {
        this.erExName = erExName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getErExamTime() {
        return erExamTime;
    }

    public void setErExamTime(Integer erExamTime) {
        this.erExamTime = erExamTime;
    }

    public Integer getErScore() {
        return erScore;
    }

    public void setErScore(Integer erScore) {
        this.erScore = erScore;
    }

    public Integer getErTpTotalScore() {
        return erTpTotalScore;
    }

    public void setErTpTotalScore(Integer erTpTotalScore) {
        this.erTpTotalScore = erTpTotalScore;
    }

    public Integer getErBingoCount() {
        return erBingoCount;
    }

    public void setErBingoCount(Integer erBingoCount) {
        this.erBingoCount = erBingoCount;
    }

    public Integer getErPartBingoCount() {
        return erPartBingoCount;
    }

    public void setErPartBingoCount(Integer erPartBingoCount) {
        this.erPartBingoCount = erPartBingoCount;
    }

    public Integer getErIncorrectCount() {
        return erIncorrectCount;
    }

    public void setErIncorrectCount(Integer erIncorrectCount) {
        this.erIncorrectCount = erIncorrectCount;
    }

    public Integer getErNotFilledCount() {
        return erNotFilledCount;
    }

    public void setErNotFilledCount(Integer erNotFilledCount) {
        this.erNotFilledCount = erNotFilledCount;
    }

    public Integer getErTpQuesNum() {
        return erTpQuesNum;
    }

    public void setErTpQuesNum(Integer erTpQuesNum) {
        this.erTpQuesNum = erTpQuesNum;
    }

    public Integer getErCorrect() {
        return erCorrect;
    }

    public void setErCorrect(Integer erCorrect) {
        this.erCorrect = erCorrect;
    }

//    public CertDataIn18ExamRecordResult getCertData() {
//        return certData;
//    }
//
//    public void setCertData(CertDataIn18ExamRecordResult certData) {
//        this.certData = certData;
//    }

    public Boolean getErExEnableAns() {
        return erExEnableAns;
    }

    public void setErExEnableAns(Boolean erExEnableAns) {
        this.erExEnableAns = erExEnableAns;
    }

    public String getErExId() {
        return erExId;
    }

    public void setErExId(String erExId) {
        this.erExId = erExId;
    }

    public String getPcId() {
        return pcId;
    }

    public void setPcId(String pcId) {
        this.pcId = pcId;
    }

    public Boolean getEnableReExam() {
        return enableReExam;
    }

    public void setEnableReExam(Boolean enableReExam) {
        this.enableReExam = enableReExam;
    }

    public String getReExamMsg() {
        return reExamMsg;
    }

    public void setReExamMsg(String reExamMsg) {
        this.reExamMsg = reExamMsg;
    }

    public List<QuestionIn18ExamRec> getQuestion() {
        return question;
    }

    public void setQuestion(List<QuestionIn18ExamRec> question) {
        this.question = question;
    }

    @Override
    public String toString() {
        return "ItemIn18ExamRecordResult{" +
                "erId='" + erId + '\'' +
                ", erExName='" + erExName + '\'' +
                ", createTime=" + createTime +
                ", erExamTime=" + erExamTime +
                ", erScore=" + erScore +
                ", erTpTotalScore=" + erTpTotalScore +
                ", erBingoCount=" + erBingoCount +
                ", erPartBingoCount=" + erPartBingoCount +
                ", erIncorrectCount=" + erIncorrectCount +
                ", erNotFilledCount=" + erNotFilledCount +
                ", erTpQuesNum=" + erTpQuesNum +
                ", erCorrect=" + erCorrect +
                ", erExEnableAns=" + erExEnableAns +
                ", erExId='" + erExId + '\'' +
                ", pcId='" + pcId + '\'' +
                ", enableReExam=" + enableReExam +
                ", reExamMsg='" + reExamMsg + '\'' +
                ", question=" + question +
                '}';
    }
}
