package jnpf.model.cultivate.resp;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 考试
 */
@Data
public class ExamVo {

    /**
     * 主键
     */
    private String id;


    /**
     * 考试id，生成规则见原型
     */
    private String examId;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 考试名称
     */
    private String examName;

    /**
     * 试卷主键Id
     */
    private String paperId;

    /**
     * 考试类型,0岗位学习考试,1常规考试
     */
    private Integer examType;


    /**
     * 岗位和职等列表
     */
    private List<PostAndPosition> postAndPositionList;


    /**
     * 考试限制,0单次考试,1重复测试
     */
    private Integer examlimitation;

    /**
     * 考试时长，单位秒
     */
    private Integer examTime;

    /**
     * 合格分数类型（1固定分，2百分比）
     */
    private Integer passType;

    /**
     * 合格分数
     */
    private Integer passMark;

    /**
     * 优秀分数类型（1固定分，2百分比）
     */
    private Integer excellentType;

    /**
     * 优秀分数
     */
    private Integer excellentMark;

    /**
     * 规则说明
     */
    private String description;

    /**
     * 状态（1进行中，2已结束）
     */
    private Integer status;

    /**
     * 试卷名称
     */
    private String paperName;


    /**
     * 岗位Id集合,逗号隔开
     */
    private String postId;

    /**
     * 岗位职等Id集合,逗号隔开
     */
    private String postRankId;

    /**
     * 选择指定批阅人，逗号隔开
     */
    private String reviewerAppoint;
    /**
     * 批阅人列表
     */
    List<ExamBaseUser> reviewerAppointList;


    /**
     * 批阅角色
     */
    private String reviewerRole;

    /**
     * 考试成员id集合,逗号隔开
     */
    private String examMemberId;

    /**
     * 批阅人,直属主管id或者指定人员id
     */
    private String reviewer;
    /**
     * 考试成员信息
     */
    List<ExamBaseUser> examUserList;


    /**
     * 用户需要考试多少分数才及格
     */
    private Integer needExamPassScore;
    /**
     * 用户需要考试多少分数优秀
     */
    private Integer needExamExcellentScore;


    /**
     * 列表
     */
    private String reviewerAppointListConfig;


    /**
     * 补考次数:1-10
     */
    private Integer makeUpCount;
    /**
     * 是否开启水印:0-不开启,1-开启
     */
    private Integer waterMark;
    /**
     * 是否开启切屏限制:0-不开启,1-开启
     */
    private Integer cutScreen;

    /**
     * 最大切屏次数
     */
    private Integer maxCutScreenCount;

    /**
     * 是否禁止截屏:0-不禁止,1-禁止
     */
    private Integer screenshot;


    /**
     * 是否禁止复制粘贴:0-不禁止,1-禁止
     */
    private Integer copyAndPaste;


    /**
     * 是否开启用户超时无交互退出是作弊:0-不开启,1-开启
     */
    private Integer openOverTime;

    /**
     * 超时时间,单位秒
     */
    private Integer overTime;

    /**
     * 考试完成是否允许查看考试详情:0-允许,1-不允许
     */
    private Integer allowSelectDetail;

    /**
     * 是否允许回到上一题:0-允许,1-不允许
     */
    private Integer allowChangeLastQuestion;

    /**
     * 是否需要更新,1-不需要更新  2-需要更新（异常）
     */
    private Integer needUpdate;


    /**
     * 考试批次，区分考试记录归属历史
     */
    private String versionBatch;


    /**
     * 试卷删除标志，0-已经删除 1-有效
     */
    private Integer paperDeleteStatus = 1;

    /**
     * 试卷异常,1-不需要更新  2-需要更新(异常)
     */
    private Integer paperNeedUpdate;


    /**
     * 补考频次类型,0-每天 1-每周 2-每月 3-累计 4-不限
     */
    private Integer reExamFrequencyType;
    /**
     * 补考频次数量
     */
    private Integer reExamFrequencyNum;

    /**
     * 是否打乱题目顺序，0-不打乱  1-打乱
     */
    private Integer examQuestionRandom;

}
