package com.ssj.service.kmt.exercisesys.request;

import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * @author yrf
 * @time 2020/5/20 14:38
 */
public class DistributionExerciseBookListReq extends PageReq {

    private static final long serialVersionUID = 1982900756087104361L;

    @ApiModelProperty(name = "type", value = "查询类型（1：待分配；2：已分配）", required = true)
    @NotNull
    @Min(1)
    @Max(2)
    private Integer type;

    @ApiModelProperty(name = "bookName", value = "练习册名称")
    private String bookName;

    @ApiModelProperty(name = "subject", value = "科目")
    private String subject;

    @ApiModelProperty(name = "grade", value = "年级")
    private String grade;

    @ApiModelProperty(name = "version", value = "版本")
    @Min(0)
    private Integer version;

    @ApiModelProperty(name = "semester", value = "上下册(1:上，2：下)", required = true)
    @Min(0)
    @Max(2)
    private Integer semester;

    @ApiModelProperty(name = "bookType", value = "0：整本，1：上半本，2：下半本，3：不同")
    @Min(-1)
    @Max(3)
    private Integer bookType;

    @ApiModelProperty(name = "handler", value = "加工人(1：无加工人)，不传或传0代表全部")
    @Min(0)
    @Max(1)
    private Integer handler;

    @ApiModelProperty(name = "handleAuditUser", value = "加审人(1：无加审人)，不传或传0代表全部")
    @Min(0)
    @Max(1)
    private Integer handleAuditUser;

    @ApiModelProperty(name = "analyser", value = "解析人(1：无解析人)，不传或传0代表全部")
    @Min(0)
    @Max(1)
    private Integer analyser;

    @ApiModelProperty(name = "analysisAuditUser", value = "解审人(1：无解审人)，不传或传0代表全部")
    @Min(0)
    @Max(1)
    private Integer analysisAuditUser;

    @ApiModelProperty(name = "startTime", value = "起始时间(yyyy-MM-dd)")
    @Pattern(regexp = ".{0}|\\d{4}-\\d{2}-\\d{2}", message = "日期格式不正确，正确的日期格式为：yyyy-MM-dd")
    private String startTime;

    @ApiModelProperty(name = "endTime", value = "截止时间(yyyy-MM-dd)")
    @Pattern(regexp = ".{0}|\\d{4}-\\d{2}-\\d{2}", message = "日期格式不正确，正确的日期格式为：yyyy-MM-dd")
    private String endTime;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Integer getSemester() {
        return semester;
    }

    public void setSemester(Integer semester) {
        this.semester = semester;
    }

    public Integer getBookType() {
        return bookType;
    }

    public void setBookType(Integer bookType) {
        this.bookType = bookType;
    }

    public Integer getHandler() {
        return handler;
    }

    public void setHandler(Integer handler) {
        this.handler = handler;
    }

    public Integer getHandleAuditUser() {
        return handleAuditUser;
    }

    public void setHandleAuditUser(Integer handleAuditUser) {
        this.handleAuditUser = handleAuditUser;
    }

    public Integer getAnalyser() {
        return analyser;
    }

    public void setAnalyser(Integer analyser) {
        this.analyser = analyser;
    }

    public Integer getAnalysisAuditUser() {
        return analysisAuditUser;
    }

    public void setAnalysisAuditUser(Integer analysisAuditUser) {
        this.analysisAuditUser = analysisAuditUser;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
}
