package com.qmth.jkserver.dto;

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

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.jkserver.enums.ExamClientTheme;
import com.qmth.jkserver.enums.ExamLoginRule;
import com.qmth.jkserver.enums.ExamPaperRule;
import com.qmth.jkserver.enums.ExamStatus;
import com.qmth.jkserver.enums.ExamType;
import com.qmth.jkserver.enums.OpenMonitor;
import com.qmth.jkserver.enums.SceneScore;
import com.qmth.jkserver.model.User;

public class ExamPlanDto implements Serializable{

    private static final long serialVersionUID = 6507445685386413261L;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    private String name;

    private String examCode;
    
    private String kcFileName;
    
    private String kwZipFileName;
    
    private String paperFileName;
    
    private String additionalFileName;
    
    private String roomMonitorFileName;

	private String sceneScoreFileName;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long kcFileId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long kwZipFileId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long paperFileId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long additionalFileId;//优特考试专用

    @JsonSerialize(using = ToStringSerializer.class)
    private Long roomMonitorFileId;//考情监控ID

    @JsonSerialize(using = ToStringSerializer.class)
	private Long sceneScoreFileId;//标答以及评分规则文件

    private ExamType examType;

    private ExamStatus examStatus;
    
	private ExamPaperRule paperRule;
	
	private ExamLoginRule loginRule;
	
	private ExamClientTheme clientTheme;
	
	private OpenMonitor openMonitor;
	
	private FaceVerify faceVerify;

	private SceneScore sceneScore;

    private Long startTime;
    
    private Long endTime;

    private User creator;
    
    private String simulation;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long schoolId;

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public String getSceneScoreFileName() {
		return sceneScoreFileName;
	}

	public void setSceneScoreFileName(String sceneScoreFileName) {
		this.sceneScoreFileName = sceneScoreFileName;
	}

	public Long getSceneScoreFileId() {
		return sceneScoreFileId;
	}

	public void setSceneScoreFileId(Long sceneScoreFileId) {
		this.sceneScoreFileId = sceneScoreFileId;
	}

	public SceneScore getSceneScore() {
		return sceneScore;
	}

	public void setSceneScore(SceneScore sceneScore) {
		this.sceneScore = sceneScore;
	}

	/**
	 * @return the roomMonitorFileName
	 */
	public String getRoomMonitorFileName() {
		return roomMonitorFileName;
	}

	/**
	 * @param roomMonitorFileName the roomMonitorFileName to set
	 */
	public void setRoomMonitorFileName(String roomMonitorFileName) {
		this.roomMonitorFileName = roomMonitorFileName;
	}

	/**
	 * @return the roomMonitorFileId
	 */
	public Long getRoomMonitorFileId() {
		return roomMonitorFileId;
	}

	/**
	 * @param roomMonitorFileId the roomMonitorFileId to set
	 */
	public void setRoomMonitorFileId(Long roomMonitorFileId) {
		this.roomMonitorFileId = roomMonitorFileId;
	}

	/**
	 * @return the openMonitor
	 */
	public OpenMonitor getOpenMonitor() {
		return openMonitor;
	}

	/**
	 * @param openMonitor the openMonitor to set
	 */
	public void setOpenMonitor(OpenMonitor openMonitor) {
		this.openMonitor = openMonitor;
	}

	/**
	 * @return the faceVerify
	 */
	public FaceVerify getFaceVerify() {
		return faceVerify;
	}

	/**
	 * @param faceVerify the faceVerify to set
	 */
	public void setFaceVerify(FaceVerify faceVerify) {
		this.faceVerify = faceVerify;
	}

	/**
	 * @return the paperRule
	 */
	public ExamPaperRule getPaperRule() {
		return paperRule;
	}

	/**
	 * @param paperRule the paperRule to set
	 */
	public void setPaperRule(ExamPaperRule paperRule) {
		this.paperRule = paperRule;
	}

	/**
	 * @return the loginRule
	 */
	public ExamLoginRule getLoginRule() {
		return loginRule;
	}

	/**
	 * @param loginRule the loginRule to set
	 */
	public void setLoginRule(ExamLoginRule loginRule) {
		this.loginRule = loginRule;
	}

	/**
	 * @return the clientTheme
	 */
	public ExamClientTheme getClientTheme() {
		return clientTheme;
	}

	/**
	 * @param clientTheme the clientTheme to set
	 */
	public void setClientTheme(ExamClientTheme clientTheme) {
		this.clientTheme = clientTheme;
	}

	/**
	 * @return the simulation
	 */
	public String getSimulation() {
		return simulation;
	}

	/**
	 * @param simulation the simulation to set
	 */
	public void setSimulation(String simulation) {
		this.simulation = simulation;
	}

	/**
	 * @return the kcFileName
	 */
	public String getKcFileName() {
		return kcFileName;
	}

	/**
	 * @param kcFileName the kcFileName to set
	 */
	public void setKcFileName(String kcFileName) {
		this.kcFileName = kcFileName;
	}

	/**
	 * @return the kwZipFileName
	 */
	public String getKwZipFileName() {
		return kwZipFileName;
	}

	/**
	 * @param kwZipFileName the kwZipFileName to set
	 */
	public void setKwZipFileName(String kwZipFileName) {
		this.kwZipFileName = kwZipFileName;
	}

	/**
	 * @return the paperFileName
	 */
	public String getPaperFileName() {
		return paperFileName;
	}

	/**
	 * @param paperFileName the paperFileName to set
	 */
	public void setPaperFileName(String paperFileName) {
		this.paperFileName = paperFileName;
	}

	/**
	 * @return the additionalFileName
	 */
	public String getAdditionalFileName() {
		return additionalFileName;
	}

	/**
	 * @param additionalFileName the additionalFileName to set
	 */
	public void setAdditionalFileName(String additionalFileName) {
		this.additionalFileName = additionalFileName;
	}

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getExamCode() {
        return examCode;
    }

    public void setExamCode(String examCode) {
        this.examCode = examCode;
    }

    public Long getKcFileId() {
        return kcFileId;
    }

    public void setKcFileId(Long kcFileId) {
        this.kcFileId = kcFileId;
    }

    public Long getKwZipFileId() {
        return kwZipFileId;
    }

    public void setKwZipFileId(Long kwZipFileId) {
        this.kwZipFileId = kwZipFileId;
    }

    public Long getPaperFileId() {
        return paperFileId;
    }

    public void setPaperFileId(Long paperFileId) {
        this.paperFileId = paperFileId;
    }

    public Long getAdditionalFileId() {
        return additionalFileId;
    }

    public void setAdditionalFileId(Long additionalFileId) {
        this.additionalFileId = additionalFileId;
    }

    public ExamType getExamType() {
        return examType;
    }

    public void setExamType(ExamType examType) {
        this.examType = examType;
    }

    public ExamStatus getExamStatus() {
        return examStatus;
    }

    public void setExamStatus(ExamStatus examStatus) {
        this.examStatus = examStatus;
    }

    public User getCreator() {
        return creator;
    }

    public void setCreator(User creator) {
        this.creator = creator;
    }
    
	public Long getStartTime() {
		return startTime;
	}

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

	/**
	 * @return the endTime
	 */
	public Long getEndTime() {
		return endTime;
	}

	/**
	 * @param endTime the endTime to set
	 */
	public void setEndTime(Long endTime) {
		this.endTime = endTime;
	}

	
}
