package com.qmth.themis.business.dto;

import com.qmth.themis.business.annotation.ExcelDynamicExport;
import com.qmth.themis.business.annotation.ExcelNotExport;
import com.qmth.themis.business.annotation.ExcelNote;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * @Description: 成绩标准版导出 dto
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/7/20
 */
public class MarkResultStandardExportDto implements Serializable {

    @ExcelNote(value = "批次名称")
    private String examName;

    @ExcelNote(value = "姓名")
    private String name;

    @ExcelNote(value = "考试记录ID")
    private String recordId;

    @ExcelNote(value = "证件号")
    private String identity;

    @ExcelNote(value = "科目代码")
    private String courseCode;

    @ExcelNote(value = "科目名称")
    private String courseName;

    @ExcelNote(value = "考场代码")
    private String roomCode;

    @ExcelNote(value = "考场名称")
    private String roomName; //考场名称

    @ExcelNote(value = "年级")
    private String grade;

    @ExcelNote(value = "班级")
    private String classNo;

    @ExcelNote(value = "是否缺考")
    private String examAbsent;

    @ExcelNote(value = "违纪次数")
    private String breachCount;

    @ExcelNote(value = "考试次数")
    private String examCount;

    @ExcelNote(value = "客观分")
    private String objectiveScore;

    @ExcelNote(value = "主观分")
    private String subjectiveScore;

    @ExcelNote(value = "总分")
    private String sumScore;

    @ExcelNote(value = "开始时间")
    private String firstStartTime;

    @ExcelNote(value = "结束时间")
    private String finishTime;

    @ApiModelProperty(value = "答题记录")
    @ExcelDynamicExport
    private Map<Long, List<ExcelDto>> answerExcetDto;

    @ApiModelProperty(value = "试卷ID")
    @ExcelNotExport
    private Long paperId;

    @ApiModelProperty(value = "考生ID")
    @ExcelNotExport
    private Long examStudentId;

    @ApiModelProperty(value = "批次id")
    @ExcelNotExport
    private Long examId;

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

    public String getFirstStartTime() {
        return firstStartTime;
    }

    public void setFirstStartTime(String firstStartTime) {
        this.firstStartTime = firstStartTime;
    }

    public String getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(String finishTime) {
        this.finishTime = finishTime;
    }

    public String getPaperName() {
        return paperName;
    }

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

    public Long getExamId() {
        return examId;
    }

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

    public Map<Long, List<ExcelDto>> getAnswerExcetDto() {
        return answerExcetDto;
    }

    public void setAnswerExcetDto(Map<Long, List<ExcelDto>> answerExcetDto) {
        this.answerExcetDto = answerExcetDto;
    }

    public Long getExamStudentId() {
        return examStudentId;
    }

    public void setExamStudentId(Long examStudentId) {
        this.examStudentId = examStudentId;
    }

    public Long getPaperId() {
        return paperId;
    }

    public void setPaperId(Long paperId) {
        this.paperId = paperId;
    }

    public String getRecordId() {
        return recordId;
    }

    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    public String getRoomCode() {
        return roomCode;
    }

    public void setRoomCode(String roomCode) {
        this.roomCode = roomCode;
    }

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getExamName() {
        return examName;
    }

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

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    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 String getGrade() {
        return grade;
    }

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

    public String getClassNo() {
        return classNo;
    }

    public void setClassNo(String classNo) {
        this.classNo = classNo;
    }

    public String getExamAbsent() {
        return examAbsent;
    }

    public void setExamAbsent(String examAbsent) {
        this.examAbsent = examAbsent;
    }

    public String getBreachCount() {
        return breachCount;
    }

    public void setBreachCount(String breachCount) {
        this.breachCount = breachCount;
    }

    public String getExamCount() {
        return examCount;
    }

    public void setExamCount(String examCount) {
        this.examCount = examCount;
    }

    public String getObjectiveScore() {
        return objectiveScore;
    }

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

    public String getSubjectiveScore() {
        return subjectiveScore;
    }

    public void setSubjectiveScore(String subjectiveScore) {
        this.subjectiveScore = subjectiveScore;
    }

    public String getSumScore() {
        return sumScore;
    }

    public void setSumScore(String sumScore) {
        this.sumScore = sumScore;
    }
}
