package jnpf.model.cultivate.resp;

import jnpf.permission.model.position.PositionGradesInfoBoundVO;
import lombok.Data;

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

/**
 * APP 我的考试列表返回
 */
@Data
public class AppExamListVo extends ExamBaseUser {

    /**
     * 主键
     */
    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;


    /**
     * 考试限制,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;

    /**
     * 状态0待考试，1待批阅，2已逾期，3合格，4不合格 5、优秀
     */
    private Integer status;
    /**
     * 用户组织职能岗位
     */
    private List<PositionGradesInfoBoundVO> organizationVoList;
    /**
     * 试卷名称
     */
    private String paperName;

    /**
     * 考试总分数
     */
    private Integer examTotleScore;

    /**
     * 用户总分数
     */
    private Integer userTotleScore;

    /**
     * 来源：1、岗位学习课程，2、岗位学习 3、常规考试
     */
    private Integer examSource;


    /**
     * 关联职等ID
     */
    private String relationRankId;
    /**
     * 关联的岗位ID
     */
    private String relationPositionId;

    /**
     * 关联的岗位名称
     */
    private String relationPositionName;
    /**
     * 用户组织
     */
    private String userOrgList;

    /**
     * 岗位学习关联考试
     */
    private String relationPositionExamId;
    /**
     * 课程关联考试
     */
    private String relationCourseExamId;
    /**
     * 用户实际开始考试时间
     */
    private Date userStartTime;
    /**
     * 用户结束开始考试时间
     */
    private Date finishTime;

    /**
     * 用户实际考试用时，单位秒
     */
    private Long duration;
    /**
     * 是否是我的下属,待我批阅、我已批阅、过期时使用
     */
    private Boolean isMyBelow;
    /**
     * 用户需要考试多少分数才及格
     */
    private Integer needExamPassScore;
    /**
     * 用户需要考试多少分数优秀
     */
    private Integer needExamExcellentScore;

    /**
     * 题目数量
     */
    private Integer questionNum;

    /**
     * 试卷类型
     */
    private Integer paperType;

    /**
     * 是否需要更新,1-不需要更新  2-需要更新
     */
    private Integer needUpdate=1;


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

    /**
     * 是否作废，0-正常，1-已经作废
     */
    private Integer isNullify = 0;

    /**
     * 考试内部使用标识，0表示当前考试，1表示历史考试
     */
    private Integer innerExamFlag;

    private Date createTime;

    private Date lastModifyTime;
}
