package com.ruoyi.abuwx.domain.exam;

import java.math.BigDecimal;
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;

/**
 * 考试抽题规则（随机试卷有效）对象 exm_exam_rule
 * 
 * @author ruoyi
 * @date 2024-05-17
 */
public class ExmExamRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 章节名称 */
    @Excel(name = "章节名称")
    private String chapterName;

    /** 章节描述 */
    @Excel(name = "章节描述")
    private String chapterTxt;

    /** 类型 （1：章节；2：试题） */
    @Excel(name = "类型 ", readConverterExp = "1=：章节；2：试题")
    private Long type;

    /** 题库ID */
    @Excel(name = "题库ID")
    private Long questionTypeId;

    /** 类型（1：单选；2：多选；3：填空；4：判断；5：问答） */
    @Excel(name = "类型", readConverterExp = "1=：单选；2：多选；3：填空；4：判断；5：问答")
    private Long questionType;

    /** 阅卷类型（1：客观题；2：主观题） */
    @Excel(name = "阅卷类型", readConverterExp = "1=：客观题；2：主观题")
    private Long markType;

    /** 阅卷选项   （2：答案无顺序；3：不分大小写；） */
    @Excel(name = "阅卷选项   ", readConverterExp = "2=：答案无顺序；3：不分大小写；")
    private String markOptions;

    /** 题数 */
    @Excel(name = "题数")
    private Long num;

    /** 分数 */
    @Excel(name = "分数")
    private BigDecimal score;

    /** 子分数（多选有效；主观填空问答按空平均分配分数） */
    @Excel(name = "子分数", readConverterExp = "多=选有效；主观填空问答按空平均分配分数")
    private BigDecimal scores;

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

    /** 排序 */
    @Excel(name = "排序")
    private Long no;

    /** 修改用户ID */
    @Excel(name = "修改用户ID")
    private Long updateUserId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setChapterName(String chapterName) 
    {
        this.chapterName = chapterName;
    }

    public String getChapterName() 
    {
        return chapterName;
    }
    public void setChapterTxt(String chapterTxt) 
    {
        this.chapterTxt = chapterTxt;
    }

    public String getChapterTxt() 
    {
        return chapterTxt;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }
    public void setQuestionTypeId(Long questionTypeId) 
    {
        this.questionTypeId = questionTypeId;
    }

    public Long getQuestionTypeId() 
    {
        return questionTypeId;
    }
    public void setQuestionType(Long questionType) 
    {
        this.questionType = questionType;
    }

    public Long getQuestionType() 
    {
        return questionType;
    }
    public void setMarkType(Long markType) 
    {
        this.markType = markType;
    }

    public Long getMarkType() 
    {
        return markType;
    }
    public void setMarkOptions(String markOptions) 
    {
        this.markOptions = markOptions;
    }

    public String getMarkOptions() 
    {
        return markOptions;
    }
    public void setNum(Long num) 
    {
        this.num = num;
    }

    public Long getNum() 
    {
        return num;
    }
    public void setScore(BigDecimal score) 
    {
        this.score = score;
    }

    public BigDecimal getScore() 
    {
        return score;
    }
    public void setScores(BigDecimal scores) 
    {
        this.scores = scores;
    }

    public BigDecimal getScores() 
    {
        return scores;
    }
    public void setExamId(Long examId) 
    {
        this.examId = examId;
    }

    public Long getExamId() 
    {
        return examId;
    }
    public void setNo(Long no) 
    {
        this.no = no;
    }

    public Long getNo() 
    {
        return no;
    }
    public void setUpdateUserId(Long updateUserId) 
    {
        this.updateUserId = updateUserId;
    }

    public Long getUpdateUserId() 
    {
        return updateUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("chapterName", getChapterName())
            .append("chapterTxt", getChapterTxt())
            .append("type", getType())
            .append("questionTypeId", getQuestionTypeId())
            .append("questionType", getQuestionType())
            .append("markType", getMarkType())
            .append("markOptions", getMarkOptions())
            .append("num", getNum())
            .append("score", getScore())
            .append("scores", getScores())
            .append("examId", getExamId())
            .append("no", getNo())
            .append("updateUserId", getUpdateUserId())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
