package cn.com.qmth.stmms.biz.distributpaper.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import cn.com.qmth.stmms.common.enums.LibraryStatus;

@Entity
@Table(name = "m_try_library")
public class TryLibrary implements Serializable {

    private static final long serialVersionUID = 7121951721670633060L;

    @Id
    @GeneratedValue
    private Integer id;

    /**
     * 学习中心ID
     */
    @Column(name = "campus_code")
    private String campusCode;

    /**
     * 考试ID
     */
    @Column(name = "exam_id")
    private Integer examId;

    /**
     * 科目CODE
     */
    @Column(name = "subject_code")
    private String subjectCode;

    /**
     * 科目块ID
     */
    @Column(name = "block_id")
    private Integer blockId;

    /**
     * 密号
     */
    @Column(name = "secret_no")
    private Integer secretNo;

    /**
     * 准考证号
     */
    @Column(name = "exam_number")
    private String examNumber;

    @Column(name = "pic_count")
    private Integer picCount;

    /**
     * 领卷人
     */
    @Column(name = "getter")
    private Integer getter;

    /**
     * 领卷时间
     */
    @Column(name = "get_time")
    private Date getTime;

    /**
     * 状态
     */
    @Column(name = "status")
    @Enumerated(EnumType.ORDINAL)
    private LibraryStatus status;

    /**
     * 当前块的多评次数
     */
    @Column(name = "marker_count")
    private Integer markerCount;

    /**
     * 多评情况下，当前任务的序号
     */
    private Integer number;

    /**
     * 是否已抽查
     */
    @Column(name = "is_checked")
    private boolean isChecked;

    /**
     * 科组长最终给分
     */
    @Column(name = "header_score")
    private Double headerScore;

    /**
     * 科组长最终给分列表
     */
    @Column(name = "header_score_list")
    private String headerScoreList;

    /**
     * 评卷员最终给分
     */
    @Column(name = "marker_score")
    private Double markerScore;

    /**
     * 评卷员最终给分列表
     */
    @Column(name = "marker_score_list")
    private String markerScoreList;

    public TryLibrary clone() {
        TryLibrary library = new TryLibrary();
        library.setExamId(examId);
        library.setCampusCode(campusCode);
        library.setSubjectCode(subjectCode);
        library.setBlockId(blockId);
        library.setSecretNo(secretNo);
        library.setExamNumber(examNumber);
        library.setPicCount(picCount);
        library.setGetter(getter);
        library.setGetTime(getTime);
        library.setStatus(status);
        library.setMarkerCount(markerCount);
        library.setNumber(number);
        library.setChecked(isChecked);
        library.setHeaderScore(headerScore);
        library.setMarkerScore(markerScore);
        library.setHeaderScoreList(headerScoreList);
        library.setMarkerScoreList(markerScoreList);
        return library;
    }

    public Integer getId() {
        return id;
    }

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

    public Integer getExamId() {
        return examId;
    }

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

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode;
    }

    public Integer getBlockId() {
        return blockId;
    }

    public void setBlockId(Integer blockId) {
        this.blockId = blockId;
    }

    public String getCampusCode() {
        return campusCode;
    }

    public void setCampusCode(String campusCode) {
        this.campusCode = campusCode;
    }

    public Integer getGetter() {
        return getter;
    }

    public void setGetter(Integer getter) {
        this.getter = getter;
    }

    public Date getGetTime() {
        return getTime;
    }

    public void setGetTime(Date getTime) {
        this.getTime = getTime;
    }

    public Integer getSecretNo() {
        return secretNo;
    }

    public void setSecretNo(Integer secretNo) {
        this.secretNo = secretNo;
    }

    public LibraryStatus getStatus() {
        return status;
    }

    public void setStatus(LibraryStatus status) {
        this.status = status;
    }

    public Integer getNumber() {
        return number;
    }

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

    public boolean isChecked() {
        return isChecked;
    }

    public void setChecked(boolean isChecked) {
        this.isChecked = isChecked;
    }

    public Integer getMarkerCount() {
        return markerCount;
    }

    public void setMarkerCount(Integer markerCount) {
        this.markerCount = markerCount;
    }

    public Double getHeaderScore() {
        return headerScore;
    }

    public void setHeaderScore(Double headerScore) {
        this.headerScore = headerScore;
    }

    public Double getMarkerScore() {
        return markerScore;
    }

    public void setMarkerScore(Double markerScore) {
        this.markerScore = markerScore;
    }

    public String getHeaderScoreList() {
        return headerScoreList;
    }

    public void setHeaderScoreList(String headerScoreList) {
        this.headerScoreList = headerScoreList;
    }

    public String getMarkerScoreList() {
        return markerScoreList;
    }

    public void setMarkerScoreList(String markerScoreList) {
        this.markerScoreList = markerScoreList;
    }

    public Integer getPicCount() {
        return picCount;
    }

    public void setPicCount(Integer picCount) {
        this.picCount = picCount;
    }

    public String getExamNumber() {
        return examNumber;
    }

    public void setExamNumber(String examNumber) {
        this.examNumber = examNumber;
    }

}
