package com.qmth.teachcloud.mark.dto.mark.manage;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.mark.bean.mark.MarkConfigItem;
import com.qmth.teachcloud.mark.dto.mark.SpecialTagDTO;

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

public class Task implements Serializable {

	private static final long serialVersionUID = 3309698238297224617L;

	/**
     * 评卷任务编号
     */
	@JsonSerialize(using = ToStringSerializer.class)
    private Long taskId;

    /**
     * 考生编号
     */
	@JsonSerialize(using = ToStringSerializer.class)
    private Long studentId;

    /**
     * 显示考生密号
     */
    private String secretNumber;

    /**
     * 考生名称
     */
    private String studentName;

    /**
     * 学号
     */
    private String studentCode;

    private String courseCode;
    private String courseName;
  
    private String paperNumber;
    private Integer groupNumber;

    /**
     * 题卡图片拼接配置
     */
    private List<MarkConfigItem> sliceConfig;

    /**
     * 多媒体地址
     */
    private String jsonUrl;

    /**
     * 给分步骤
     */
    private List<MarkStepDTO> questionList;

    /**
     * 特殊标记列表
     */
    private SpecialTagDTO[] specialTagList;

    /**
     * 组长特殊标记列表
     */
    private SpecialTagDTO[] headerTagList;

    /**
     * 题卡原图地址
     */
    private List<String> sheetUrls;

    /**
     * 客观题总分
     */
    private Double objectiveScore;

    /**
     * 评分
     */
    private Double markerScore;

    /**
     * 评卷时间
     */
    private Long markerTime;

    /**
     * 是否自评
     */
    private boolean isSelf;

    /**
     * 是否回评
     */
    private boolean isPrevious;

    /**
     * 是否打回
     */
    private boolean isRejected;

    /**
     * 打回原因
     */
    private String rejectReason;

    /**
     * 打回上次分数
     */
    private String rejectScoreList;

    /**
     * 评卷员登录名
     */
    private String markerName;

    /**
     * 复核时间
     */
    private Date inspectTime;

    /**
     * 错误信息
     */
    private String message;

    public Task() {
  	}
    
	public Long getTaskId() {
		return taskId;
	}

	public void setTaskId(Long taskId) {
		this.taskId = taskId;
	}

	public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public String getSecretNumber() {
        return secretNumber;
    }

    public void setSecretNumber(String secretNumber) {
        this.secretNumber = secretNumber;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentCode() {
        return studentCode;
    }

    public void setStudentCode(String studentCode) {
        this.studentCode = studentCode;
    }

    public String getCourseCode() {
        return courseCode;
    }

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

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public List<MarkConfigItem> getSliceConfig() {
        return sliceConfig;
    }

    public void setSliceConfig(List<MarkConfigItem> sliceConfig) {
        this.sliceConfig = sliceConfig;
    }

    public String getJsonUrl() {
        return jsonUrl;
    }

    public void setJsonUrl(String jsonUrl) {
        this.jsonUrl = jsonUrl;
    }

    public List<MarkStepDTO> getQuestionList() {
        return questionList;
    }

    public void setQuestionList(List<MarkStepDTO> questionList) {
        this.questionList = questionList;
    }

    public SpecialTagDTO[] getSpecialTagList() {
        return specialTagList;
    }

    public void setSpecialTagList(SpecialTagDTO[] specialTagList) {
        this.specialTagList = specialTagList;
    }

    public List<String> getSheetUrls() {
        return sheetUrls;
    }

    public void setSheetUrls(List<String> sheetUrls) {
        this.sheetUrls = sheetUrls;
    }

    public Double getObjectiveScore() {
        return objectiveScore;
    }

    public void setObjectiveScore(Double objectiveScore) {
        this.objectiveScore = objectiveScore;
    }

    public Double getMarkerScore() {
        return markerScore;
    }

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

    public Long getMarkerTime() {
        return markerTime;
    }

    public void setMarkerTime(Long markerTime) {
        this.markerTime = markerTime;
    }

    public boolean isSelf() {
        return isSelf;
    }

    public void setSelf(boolean isSelf) {
        this.isSelf = isSelf;
    }

    public boolean isPrevious() {
        return isPrevious;
    }

    public void setPrevious(boolean isPrevious) {
        this.isPrevious = isPrevious;
    }

    public boolean isRejected() {
        return isRejected;
    }

    public void setRejected(boolean isRejected) {
        this.isRejected = isRejected;
    }

    public String getMarkerName() {
        return markerName;
    }

    public void setMarkerName(String markerName) {
        this.markerName = markerName;
    }

    public Date getInspectTime() {
        return inspectTime;
    }

    public void setInspectTime(Date inspectTime) {
        this.inspectTime = inspectTime;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public String getRejectScoreList() {
        return rejectScoreList;
    }

    public void setRejectScoreList(String rejectScoreList) {
        this.rejectScoreList = rejectScoreList;
    }

    public SpecialTagDTO[] getHeaderTagList() {
        return headerTagList;
    }

    public void setHeaderTagList(SpecialTagDTO[] headerTagList) {
        this.headerTagList = headerTagList;
    }

	public String getPaperNumber() {
		return paperNumber;
	}

	public void setPaperNumber(String paperNumber) {
		this.paperNumber = paperNumber;
	}

	public Integer getGroupNumber() {
		return groupNumber;
	}

	public void setGroupNumber(Integer groupNumber) {
		this.groupNumber = groupNumber;
	}

}
