package com.ruoyi.mxjb.domain;

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

import java.util.Date;

/**
 * 选科轮次对象 mxjb_selected_round
 * 
 * @author mingxue
 * @date 2022-04-10
 */
public class MxjbSelectedRound extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 选课计划id */
    private Integer roundId;

    /** 学校id */
    @Excel(name = "学校id")
    private Long schoolId;

    /** 年度 */
    @Excel(name = "年度")
    private Integer year;

    /** 选科次数 */
    @Excel(name = "选科次数")
    private Integer round;

    /** 选科轮次名称 */
    @Excel(name = "选科轮次名称")
    private String name;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 组合id列表 */
    @Excel(name = "组合id列表")
    private String groupIds;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    /** 对应模型123 */
    @Excel(name = "对应模型123")
    private Integer modelId;

    /** 当前代次 */
    @Excel(name = "当前代次")
    private String generation;

    /** 选志愿的数量，默认为1 */
    @Excel(name = "选志愿的数量，默认为1")
    private Integer preferenceCount;

    /** 排名不可 */
    @Excel(name = "排名不可")
    private Boolean rankInvisible;

    /** 分数不可见 */
    @Excel(name = "分数不可见")
    private Boolean scoreInvisible;

    /** 开启电子签名 */
    @Excel(name = "开启电子签名")
    private Boolean enableEsign;

    /** 开启电子签名的情况下，是否需要纸质签名 */
    @Excel(name = "开启电子签名的情况下，是否需要纸质签名")
    private Boolean enablePaperSign;

    /** 分班 Init Begin End */
    @Excel(name = "分班 Init Begin End")
    private String dispatchStatus;

    @Excel(name = "强制调剂")
    private Boolean enablePushForceAdjust;

    Boolean allowSelect;


    /** 选班有效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "选班有效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activeDate;

    private Boolean teacherDone;
    private Boolean studentDone;

    public Boolean getAllowSelect() {
        return allowSelect;
    }

    public void setAllowSelect(Boolean allowSelect) {
        this.allowSelect = allowSelect;
    }

    public void setRoundId(Integer roundId)
    {
        this.roundId = roundId;
    }

    public Integer getRoundId()
    {
        return roundId;
    }
    public MxjbSelectedRound setSchoolId(Long schoolId)
    {
        this.schoolId = schoolId;
        return this;
    }

    public Long getSchoolId() 
    {
        return schoolId;
    }
    public void setYear(Integer year)
    {
        this.year = year;
    }

    public Integer getYear()
    {
        return year;
    }
    public void setRound(Integer round)
    {
        this.round = round;
    }

    public Integer getRound()
    {
        return round;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setBeginTime(Date beginTime) 
    {
        this.beginTime = beginTime;
    }

    public Date getBeginTime() 
    {
        return beginTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setGroupIds(String groupIds) 
    {
        this.groupIds = groupIds;
    }

    public String getGroupIds() 
    {
        return groupIds;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setGeneration(String generation) {
        this.generation = generation;
    }

    public String getGeneration() {
        return generation;
    }
    public void setModelId(Integer modelId)
    {
        this.modelId = modelId;
    }

    public Integer getModelId() 
    {
        return modelId;
    }
    public void setPreferenceCount(Integer preferenceCount) 
    {
        this.preferenceCount = preferenceCount;
    }

    public Integer getPreferenceCount() 
    {
        return preferenceCount;
    }
    public void setRankInvisible(Boolean rankInvisible)
    {
        this.rankInvisible = rankInvisible;
    }

    public Boolean getRankInvisible()
    {
        return rankInvisible;
    }
    public void setScoreInvisible(Boolean scoreInvisible)
    {
        this.scoreInvisible = scoreInvisible;
    }

    public Boolean getScoreInvisible()
    {
        return scoreInvisible;
    }
    public void setEnableEsign(Boolean enableEsign)
    {
        this.enableEsign = enableEsign;
    }

    public Boolean getEnableEsign()
    {
        return enableEsign;
    }
    public void setEnablePaperSign(Boolean enablePaperSign)
    {
        this.enablePaperSign = enablePaperSign;
    }

    public Boolean getEnablePaperSign()
    {
        return enablePaperSign;
    }
    public void setDispatchStatus(String dispatchStatus) 
    {
        this.dispatchStatus = dispatchStatus;
    }

    public String getDispatchStatus() 
    {
        return dispatchStatus;
    }

    public Boolean getEnablePushForceAdjust() {
        return enablePushForceAdjust;
    }

    public void setEnablePushForceAdjust(Boolean enablePushForceAdjust) {
        this.enablePushForceAdjust = enablePushForceAdjust;
    }

    public Date getActiveDate() {
        return activeDate;
    }

    public void setActiveDate(Date activeDate) {
        this.activeDate = activeDate;
    }

    public Boolean getTeacherDone() {
        return teacherDone;
    }

    public void setTeacherDone(Boolean teacherDone) {
        this.teacherDone = teacherDone;
    }

    public Boolean getStudentDone() {
        return studentDone;
    }

    public void setStudentDone(Boolean studentDone) {
        this.studentDone = studentDone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("roundId", getRoundId())
            .append("schoolId", getSchoolId())
            .append("year", getYear())
            .append("round", getRound())
            .append("name", getName())
            .append("beginTime", getBeginTime())
            .append("endTime", getEndTime())
            .append("groupIds", getGroupIds())
            .append("state", getState())
            .append("modelId", getModelId())
            .append("preferenceCount", getPreferenceCount())
            .append("rankInvisible", getRankInvisible())
            .append("scoreInvisible", getScoreInvisible())
            .append("enableEsign", getEnableEsign())
            .append("enablePaperSign", getEnablePaperSign())
            .append("dispatchStatus", getDispatchStatus())
            .toString();
    }
}
