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

import com.alibaba.fastjson.annotation.JSONField;
import com.ssj.service.kmt.exercisesys.enums.ExerciseBookHalfBookEnum;
import org.apache.commons.lang3.StringUtils;

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

/**
 * @author yrf
 * @time 2020/5/20 16:32
 */
public class ExportDistributionExerciseBookDTO implements Serializable {

    private static final long serialVersionUID = 8818192568415925382L;

    private Date importDate;
    private String exerciseBookId;
    private String subject;
    private String grade;
    private Integer version;
    private Integer semester;
    private String bookName;

    @JSONField(serialize = false)
    private Integer bookType;

    private String halfBook;
    private Integer unitCount;
    private Integer courseCount;

    private String handlerName;
    private Date handlerLastSubmitTime;
    private Integer handlerSalaryGiven = 0;
    private Date handlerSalaryGivenTime;
    private Integer handlerAccuracy;

    private String handleAuditUserName;
    private Date handleAuditUserLastSubmitTime;
    private Integer handleAuditUserSalaryGiven = 0;
    private Date handleAuditUserSalaryGivenTime;
    private Integer handleAuditUserAccuracy;

    private String analyserName;
    private Date analyserLastSubmitTime;
    private Integer analyserSalaryGiven = 0;
    private Date analyserSalaryGivenTime;
    private Integer analyserAccuracy;

    private String analysisAuditUserName;
    private Date analysisAuditUserLastSubmitTime;
    private Integer analysisAuditUserSalaryGiven = 0;
    private Date analysisAuditUserSalaryGivenTime;
    private Integer bookStatus;
    private String assignedBatch;

    public Date getImportDate() {
        return importDate;
    }

    public void setImportDate(Date importDate) {
        this.importDate = importDate;
    }

    public String getExerciseBookId() {
        return exerciseBookId;
    }

    public void setExerciseBookId(String exerciseBookId) {
        this.exerciseBookId = exerciseBookId;
    }

    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 String getBookName() {
        return bookName;
    }

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

    public Integer getBookType() {
        return bookType;
    }

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

    public String getHalfBook() {
        if (StringUtils.isNotBlank(halfBook)) {
            return halfBook;
        }

        halfBook = ExerciseBookHalfBookEnum.getDescriptionByCode(bookType);

        return halfBook;
    }

    public void setHalfBook(String halfBook) {
        this.halfBook = halfBook;
    }

    public Integer getUnitCount() {
        return unitCount;
    }

    public void setUnitCount(Integer unitCount) {
        this.unitCount = unitCount;
    }

    public Integer getCourseCount() {
        return courseCount;
    }

    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }

    public String getHandlerName() {
        return handlerName;
    }

    public void setHandlerName(String handlerName) {
        this.handlerName = handlerName;
    }

    public Date getHandlerLastSubmitTime() {
        return handlerLastSubmitTime;
    }

    public void setHandlerLastSubmitTime(Date handlerLastSubmitTime) {
        this.handlerLastSubmitTime = handlerLastSubmitTime;
    }

    public Integer getHandlerSalaryGiven() {
        return handlerSalaryGiven;
    }

    public void setHandlerSalaryGiven(Integer handlerSalaryGiven) {
        this.handlerSalaryGiven = handlerSalaryGiven;
    }

    public Date getHandlerSalaryGivenTime() {
        return handlerSalaryGivenTime;
    }

    public void setHandlerSalaryGivenTime(Date handlerSalaryGivenTime) {
        this.handlerSalaryGivenTime = handlerSalaryGivenTime;
    }

    public Integer getHandlerAccuracy() {
        return handlerAccuracy;
    }

    public void setHandlerAccuracy(Integer handlerAccuracy) {
        this.handlerAccuracy = handlerAccuracy;
    }

    public String getHandleAuditUserName() {
        return handleAuditUserName;
    }

    public void setHandleAuditUserName(String handleAuditUserName) {
        this.handleAuditUserName = handleAuditUserName;
    }

    public Date getHandleAuditUserLastSubmitTime() {
        return handleAuditUserLastSubmitTime;
    }

    public void setHandleAuditUserLastSubmitTime(Date handleAuditUserLastSubmitTime) {
        this.handleAuditUserLastSubmitTime = handleAuditUserLastSubmitTime;
    }

    public Integer getHandleAuditUserSalaryGiven() {
        return handleAuditUserSalaryGiven;
    }

    public void setHandleAuditUserSalaryGiven(Integer handleAuditUserSalaryGiven) {
        this.handleAuditUserSalaryGiven = handleAuditUserSalaryGiven;
    }

    public Date getHandleAuditUserSalaryGivenTime() {
        return handleAuditUserSalaryGivenTime;
    }

    public void setHandleAuditUserSalaryGivenTime(Date handleAuditUserSalaryGivenTime) {
        this.handleAuditUserSalaryGivenTime = handleAuditUserSalaryGivenTime;
    }

    public Integer getHandleAuditUserAccuracy() {
        return handleAuditUserAccuracy;
    }

    public void setHandleAuditUserAccuracy(Integer handleAuditUserAccuracy) {
        this.handleAuditUserAccuracy = handleAuditUserAccuracy;
    }

    public String getAnalyserName() {
        return analyserName;
    }

    public void setAnalyserName(String analyserName) {
        this.analyserName = analyserName;
    }

    public Date getAnalyserLastSubmitTime() {
        return analyserLastSubmitTime;
    }

    public void setAnalyserLastSubmitTime(Date analyserLastSubmitTime) {
        this.analyserLastSubmitTime = analyserLastSubmitTime;
    }

    public Integer getAnalyserSalaryGiven() {
        return analyserSalaryGiven;
    }

    public void setAnalyserSalaryGiven(Integer analyserSalaryGiven) {
        this.analyserSalaryGiven = analyserSalaryGiven;
    }

    public Date getAnalyserSalaryGivenTime() {
        return analyserSalaryGivenTime;
    }

    public void setAnalyserSalaryGivenTime(Date analyserSalaryGivenTime) {
        this.analyserSalaryGivenTime = analyserSalaryGivenTime;
    }

    public Integer getAnalyserAccuracy() {
        return analyserAccuracy;
    }

    public void setAnalyserAccuracy(Integer analyserAccuracy) {
        this.analyserAccuracy = analyserAccuracy;
    }

    public String getAnalysisAuditUserName() {
        return analysisAuditUserName;
    }

    public void setAnalysisAuditUserName(String analysisAuditUserName) {
        this.analysisAuditUserName = analysisAuditUserName;
    }

    public Date getAnalysisAuditUserLastSubmitTime() {
        return analysisAuditUserLastSubmitTime;
    }

    public void setAnalysisAuditUserLastSubmitTime(Date analysisAuditUserLastSubmitTime) {
        this.analysisAuditUserLastSubmitTime = analysisAuditUserLastSubmitTime;
    }

    public Integer getAnalysisAuditUserSalaryGiven() {
        return analysisAuditUserSalaryGiven;
    }

    public void setAnalysisAuditUserSalaryGiven(Integer analysisAuditUserSalaryGiven) {
        this.analysisAuditUserSalaryGiven = analysisAuditUserSalaryGiven;
    }

    public Date getAnalysisAuditUserSalaryGivenTime() {
        return analysisAuditUserSalaryGivenTime;
    }

    public void setAnalysisAuditUserSalaryGivenTime(Date analysisAuditUserSalaryGivenTime) {
        this.analysisAuditUserSalaryGivenTime = analysisAuditUserSalaryGivenTime;
    }

    public Integer getBookStatus() {
        return bookStatus;
    }

    public void setBookStatus(Integer bookStatus) {
        this.bookStatus = bookStatus;
    }

    public String getAssignedBatch() {
        return assignedBatch;
    }

    public void setAssignedBatch(String assignedBatch) {
        this.assignedBatch = assignedBatch;
    }
}
