package com.ruoyi.sim.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考试故障关联对象 sim_real_exam_fault
 *
 * @author tom
 * @date 2024-12-18
 */
public class RealExamFault extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 关联ID
     */
    private Long refId;

    /**
     * 考试ID
     */
    @Excel(name = "考试ID")
    private Long examId;

    /**
     * 故障ID
     */
    @Excel(name = "故障ID")
    private String faultId;

    /**
     * 关联类型:[1]-选择题,[2]-模拟器维修故障
     */
    @Excel(name = "关联类型:[1]-选择题,[2]-模拟器维修故障")
    private String refType;

    /**
     * 选择状态:[7]-未知,[1]-选中,[0]-没有选中
     */
    @Excel(name = "选择状态:[7]-未知,[1]-选中,[0]-没有选中")
    private String flag;

    /**
     * 故障ID关联状态:[0]-初始化,[1]-已经清除故障,[2]故障已经下发,[3]-轮询读取刷新电阻代表值,[4]-考试结束
     */
    @Excel(name = "故障ID关联状态:[0]-初始化,[1]-已经清除故障,[2]故障已经下发,[3]-轮询读取刷新电阻代表值,[4]-考试结束")
    private String refState;

    /**
     * 答题正确:[0]-初始化,[1]-正确,[2]-错误
     */
    @Excel(name = "答题正确:[0]-初始化,[1]-正确,[2]-错误")
    private String answerRight;

    /**
     * 选择题的出题数值/正确答案
     */
    @Excel(name = "选择题的出题数值/正确答案")
    private String choiceQuestionValue;

    /**
     * 选择题的答题数值/学院填写答案
     */
    @Excel(name = "选择题的答题数值/学院填写答案")
    private String choiceAnswerValue;

    /**
     * 模拟器出题值/电阻代表值
     */
    @Excel(name = "模拟器出题值/电阻代表值")
    private String simFaultQuestionValue;

    /**
     * 模拟器答题值/电阻代表值
     */
    @Excel(name = "模拟器答题值/电阻代表值")
    private String simFaultAnswerValue;

    /**
     * 减分值,计正数
     */
    @Excel(name = "减分值,计正数")
    private Long minus;

    public void setRefId(Long refId) {
        this.refId = refId;
    }

    public Long getRefId() {
        return refId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public Long getExamId() {
        return examId;
    }

    public void setFaultId(String faultId) {
        this.faultId = faultId;
    }

    public String getFaultId() {
        return faultId;
    }

    public void setRefType(String refType) {
        this.refType = refType;
    }

    public String getRefType() {
        return refType;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getFlag() {
        return flag;
    }

    public void setRefState(String refState) {
        this.refState = refState;
    }

    public String getRefState() {
        return refState;
    }

    public void setAnswerRight(String answerRight) {
        this.answerRight = answerRight;
    }

    public String getAnswerRight() {
        return answerRight;
    }

    public void setChoiceQuestionValue(String choiceQuestionValue) {
        this.choiceQuestionValue = choiceQuestionValue;
    }

    public String getChoiceQuestionValue() {
        return choiceQuestionValue;
    }

    public void setChoiceAnswerValue(String choiceAnswerValue) {
        this.choiceAnswerValue = choiceAnswerValue;
    }

    public String getChoiceAnswerValue() {
        return choiceAnswerValue;
    }

    public void setSimFaultQuestionValue(String simFaultQuestionValue) {
        this.simFaultQuestionValue = simFaultQuestionValue;
    }

    public String getSimFaultQuestionValue() {
        return simFaultQuestionValue;
    }

    public void setSimFaultAnswerValue(String simFaultAnswerValue) {
        this.simFaultAnswerValue = simFaultAnswerValue;
    }

    public String getSimFaultAnswerValue() {
        return simFaultAnswerValue;
    }

    public void setMinus(Long minus) {
        this.minus = minus;
    }

    public Long getMinus() {
        return minus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("refId", getRefId())
                .append("examId", getExamId())
                .append("faultId", getFaultId())
                .append("refType", getRefType())
                .append("flag", getFlag())
                .append("refState", getRefState())
                .append("answerRight", getAnswerRight())
                .append("choiceQuestionValue", getChoiceQuestionValue())
                .append("choiceAnswerValue", getChoiceAnswerValue())
                .append("simFaultQuestionValue", getSimFaultQuestionValue())
                .append("simFaultAnswerValue", getSimFaultAnswerValue())
                .append("minus", getMinus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

    // -------------------------------- tom add  --------------------------------
    public interface Type {
        String TYPE_1 = "1";
        String TYPE_2 = "2";
    }

    public interface State {
        String INIT = "0";
        String CLEARED = "1";
        String WRITTEN = "2";
        String LOOP_READ = "3";
        String FINISH = "4";
    }

    public interface Flag {
        String YES = "1";
        String NO = "0";
        String UNKNOWN = "7";
    }

    public interface AnswerRight {
        String UNKNOWN = "0";
        String YES = "1";
        String NO = "2";
    }
}
