package com.qmth.distributed.print.business.bean.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.entity.ExamPrintPlan;
import com.qmth.teachcloud.common.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * @Description: 命题任务试卷文件Dto
 * @Author: CaoZixuan
 * @Date: 2022-04-07
 */
public class ExamTaskPaperFileDto {
    // 命题任务基本信息
    @ApiModelProperty(value = "命题任务id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long examTaskId;

    @ApiModelProperty(value = "学期名称")
    private String semesterName;

    @ApiModelProperty(value = "考试名称")
    private String examName;

    @ApiModelProperty(value = "机构名称")
    private String orgName;

    // 命题任务基础信息
    @ApiModelProperty(value = "印刷计划集合")
    private List<ExamPrintPlan> examPrintPlanList;

    @ApiModelProperty(value = "课程名称")
    @ExcelProperty(name = "课程名称", width = 30, index = 1)
    private String courseName;

    @ApiModelProperty(value = "课程代码")
    @ExcelProperty(name = "课程代码", width = 30, index = 2)
    private String courseCode;

    @ApiModelProperty(value = "试卷编号")
    @ExcelProperty(name = "试卷编号", width = 30, index = 3)
    private String paperNumber;

    // 试卷信息
    @ApiModelProperty(value = "试卷类型")
    private String paperType;

    @ApiModelProperty(value = "曝光状态 true-已曝光、false-未曝光")
    private Boolean exposureStatus;

    @ApiModelProperty(value = "试卷文件名称")
    private String paperName;

    @ApiModelProperty(value = "试卷文件后缀")
    private String paperSuffix;

    @ApiModelProperty(value = "试卷文件路径")
    private String paperPath;

    // 题卡信息
    @ApiModelProperty(value = "该命题任务id")
    private Long examCardId;

    @ApiModelProperty(value = "题卡规则id")
    private Long cardRuleId;

    public Long getExamTaskId() {
        return examTaskId;
    }

    public void setExamTaskId(Long examTaskId) {
        this.examTaskId = examTaskId;
    }

    public String getSemesterName() {
        return semesterName;
    }

    public void setSemesterName(String semesterName) {
        this.semesterName = semesterName;
    }

    public String getExamName() {
        return examName;
    }

    public void setExamName(String examName) {
        this.examName = examName;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public List<ExamPrintPlan> getExamPrintPlanList() {
        return examPrintPlanList;
    }

    public void setExamPrintPlanList(List<ExamPrintPlan> examPrintPlanList) {
        this.examPrintPlanList = examPrintPlanList;
    }

    public String getCourseName() {
        return courseName;
    }

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

    public String getCourseCode() {
        return courseCode;
    }

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

    public String getPaperNumber() {
        return paperNumber;
    }

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

    public String getPaperType() {
        return paperType;
    }

    public void setPaperType(String paperType) {
        this.paperType = paperType;
    }

    public Boolean getExposureStatus() {
        return exposureStatus;
    }

    public void setExposureStatus(Boolean exposureStatus) {
        this.exposureStatus = exposureStatus;
    }

    public String getPaperName() {
        return paperName;
    }

    public void setPaperName(String paperName) {
        this.paperName = paperName;
    }

    public String getPaperSuffix() {
        return paperSuffix;
    }

    public void setPaperSuffix(String paperSuffix) {
        this.paperSuffix = paperSuffix;
    }

    public String getPaperPath() {
        return paperPath;
    }

    public void setPaperPath(String paperPath) {
        this.paperPath = paperPath;
    }

    public Long getExamCardId() {
        return examCardId;
    }

    public void setExamCardId(Long examCardId) {
        this.examCardId = examCardId;
    }

    public Long getCardRuleId() {
        return cardRuleId;
    }

    public void setCardRuleId(Long cardRuleId) {
        this.cardRuleId = cardRuleId;
    }
}
