package com.qmth.teachcloud.mark.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 
 * </p>
 *
 * @author xf
 * @since 2023-09-22
 */
@TableName("scan_paper")
@ApiModel(value="ScanPaper对象", description="")
public class ScanPaper implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "id")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "考试ID")
    private Long examId;

    @ApiModelProperty(value = "卡格式编号")
    private Integer cardNumber;

    @ApiModelProperty(value = "题卡编号（对应paper_index）")
    private Integer number;

    @ApiModelProperty(value = "数量")
    private Integer pageCount;

    private Boolean mismatch;

    private Boolean assigned;

    private Boolean invalid;

    private Boolean questionFilled;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long creatorId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long updaterId;

    private Long createTime;

    private Long updateTime;
    
    //人工绑定确认
    private Boolean assignConfirmed;

    @TableField(exist = false)
    private String courseCode;
    @TableField(exist = false)
    private String coursePaperId;

    public Long getId() {
        return id;
    }

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

    public void setExamId(Long examId) {
        this.examId = examId;
    }
    public Integer getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(Integer cardNumber) {
        this.cardNumber = cardNumber;
    }
    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }
    public Integer getPageCount() {
        return pageCount;
    }

    public void setPageCount(Integer pageCount) {
        this.pageCount = pageCount;
    }
    public Boolean getMismatch() {
        return mismatch;
    }

    public void setMismatch(Boolean mismatch) {
        this.mismatch = mismatch;
    }
    public Boolean getAssigned() {
        return assigned;
    }

    public void setAssigned(Boolean assigned) {
        this.assigned = assigned;
    }
    public Boolean getQuestionFilled() {
        return questionFilled;
    }

    public void setQuestionFilled(Boolean questionFilled) {
        this.questionFilled = questionFilled;
    }
    public Long getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }
    public Long getUpdaterId() {
        return updaterId;
    }

    public void setUpdaterId(Long updaterId) {
        this.updaterId = updaterId;
    }
    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }
    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

	public Boolean getAssignConfirmed() {
		return assignConfirmed;
	}

	public void setAssignConfirmed(Boolean assignConfirmed) {
		this.assignConfirmed = assignConfirmed;
	}

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public String getCoursePaperId() {
        return coursePaperId;
    }

    public void setCoursePaperId(String coursePaperId) {
        this.coursePaperId = coursePaperId;
    }

    @Override
    public String toString() {
        return "ScanPaper{" +
                "id=" + id +
                ", examId=" + examId +
                ", cardNumber=" + cardNumber +
                ", number=" + number +
                ", pageCount=" + pageCount +
                ", mismatch=" + mismatch +
                ", assigned=" + assigned +
                ", invalid=" + invalid +
                ", questionFilled=" + questionFilled +
                ", creatorId=" + creatorId +
                ", updaterId=" + updaterId +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                "}";
    }

    public Boolean getInvalid() {
        return invalid;
    }

    public void setInvalid(Boolean invalid) {
        this.invalid = invalid;
    }
}
