package jnpf.model.cultivate.v2.exam.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jnpf.base.entity.SuperBaseEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;

/**
 * 考试表 
 * @author yanwenfu 
 * @create 2026-03-05 
 */

@Getter
@Setter
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName ( value ="ftb_cultivate_exam" )
public class CultivateExam extends SuperBaseEntity.SuperCUDBaseEntity<String> implements Serializable {

	private static final long serialVersionUID =  1516767008195932856L;

	/** 考试id，生成规则见原型 */
   	@TableField(value = "F_ExamId")
	private String examId;

	/** 考试名称 */
	@TableField(value = "F_ExamName")
	private String examName;

	/** 考试封面 */
	@TableField(value = "F_Cover")
	private String cover;

	/** 考试类型(0: 岗位考试, 1: 自定义考试) */
	@TableField(value = "F_ExamType")
	private Integer examType;

	/** 开始时间 */
   	@TableField(value = "F_StartTime")
	private Date startTime;

	/** 结束时间 */
   	@TableField(value = "F_EndTime")
	private Date endTime;

	/** 是否可以补考(0: 否, 1: 是) 原 考试限制 */
   	@TableField(value = "F_ExamLimitation")
	private Integer examLimitation;

	/** 考试时长，单位秒 */
   	@TableField(value = "F_ExamTime")
	private Integer examTime;

	/** 状态（0-未开始 1-进行中，2-已结束，3-作废） */
   	@TableField(value = "F_Status")
	private Integer status;

	/** 考试成员id集合, 逗号隔开 */
   	@TableField(value = "F_ExamMemberId")
	private String examMemberId;

	/** 抽题类型(1: 固定, 2: 随机) */
   	@TableField(value = "F_DrawMode")
	private Integer drawMode;

	/** 抽题题库(英文逗号分隔) */
   	@TableField(value = "F_DrawDataBase")
	private String drawDataBase;

	/** 补考频次类型,0-每天 1-每周 2-每月3-累计4-不限 */
	@TableField(value = "F_ReExamFrequencyType")
	private Integer reExamFrequencyType;

	/** 补考频次数量 */
	@TableField(value = "F_ReExamFrequencyNum")
	private Integer reExamFrequencyNum;

	/** 合格分数类型（1固定分，2百分比） */
	@TableField(value = "F_PassType")
	private Integer passType;

	/** 合格分数 */
	@TableField(value = "F_PassMark")
	private Integer passMark;

	/** 优秀分数类型（1固定分，2百分比） */
	@TableField(value = "F_ExcellentType")
	private Integer excellentType;

	/** 优秀分数 */
	@TableField(value = "F_ExcellentMark")
	private Integer excellentMark;

	/** 考试标签(1: 不需要更新[正常], 2: 需要更新[异常]) */
   	@TableField(value = "F_NeedUpdate")
	private Integer needUpdate;

	/** 有效标志，0无效 1有效 */
	@TableField(value = "F_EnabledMark")
	private Integer enabledMark;

	/** 考试批次，区分考试记录归属历史 */
	@TableField(value = "F_VersionBatch")
	private String versionBatch;
}
