package com.qmth.jkserver.model;

//import com.qmth.jkserver.enums.ExamFinishStatusEnum;
//import io.swagger.annotations.ApiModelProperty;
//import org.springframework.data.annotation.Id;
//import org.springframework.data.mongodb.core.index.CompoundIndex;
//import org.springframework.data.mongodb.core.index.CompoundIndexes;
//import org.springframework.data.mongodb.core.index.IndexDirection;
//import org.springframework.data.mongodb.core.index.Indexed;
//import org.springframework.data.mongodb.core.mapping.Document;
//import org.springframework.data.mongodb.core.mapping.Field;
//
//import java.io.Serializable;
//import java.math.BigDecimal;
//import java.util.Date;
//
///**
// * 考务考生表
// * 一条记录  描述的是 一个考生的一次考试
// *
// * @author tianjun
// */
//@Document(collection = "jk_exam_student")
//@CompoundIndexes({
//        @CompoundIndex(name = "exam_student_idx1", def = "{'batch_id' : 1,'stage_id': 1,'place_code':1,'room_code':1}"),
//        @CompoundIndex(name = "exam_student_idx2", def = "{'exam_code' : 1,'ticket_no': 1,'course_code':1}"),
//        @CompoundIndex(name = "exam_student_idx3", def = "{'exam_code' : 1,'place_code': 1,'room_code':1}"),
//})
//public class ExamStudent implements Serializable {
//
//    /**
//     *
//     */
//    private static final long serialVersionUID = -5897241464408512628L;
//
//    @Id
//    private String id;
//
//    @Indexed
//    @Field("exam_code")
//    private String examCode;
//
//    @Field("batch_id")
//    private String batchId;
//
//    @Field("batch_name")
//    private String batchName;
//
//    @Field("stage_id")
//    private String stageId;
//
//    @Field("place_code")
//    private String placeCode;
//
//    @Field("room_code")
//    private String roomCode;
//
//    //准考证号
//    @Field("ticket_no")
//    @Indexed(direction = IndexDirection.ASCENDING)
//    private String ticketNo;
//
//    //身份证证号
//    @Field("idcard")
//    private String idcard;
//
//    @Field("name")
//    private String name;
//
//    @Field("course_code")
//    private String courseCode;
//
//    @Field("course_name")
//    private String courseName;
//
//    @Field("sex")
//    private String sex;
//
//    @Field("seat_number")
//    private String seatNumber;
//
//    @Field("create_time")
//    private Date createTime;
//
//    @ApiModelProperty(value = "云阅卷同步考试任务")
//    @Field("exam_task")
//    //TODO 待关联
//    private ExamTask examTask;
//
//    @ApiModelProperty(value = "同步结果")
//    @Field("task_sync_result")
//    private Boolean taskSyncResult;
//
//    @ApiModelProperty(value = "检录数据匹配度")
//    @Field("percent")
//    private BigDecimal percent;
//
//    @ApiModelProperty(value = "检录状态")
//    @Field("registration_status")
//    private Boolean registrationStatus;
//
//    @ApiModelProperty(value = "考试状态")
//    @Field("exam_finish_status")
//    private ExamFinishStatusEnum examFinishStatus;
//
//    public BigDecimal getPercent() {
//        return percent;
//    }
//
//    public void setPercent(BigDecimal percent) {
//        this.percent = percent;
//    }
//
//    public Boolean getTaskSyncResult() {
//        return taskSyncResult;
//    }
//
//    public void setTaskSyncResult(Boolean taskSyncResult) {
//        this.taskSyncResult = taskSyncResult;
//    }
//
//    public ExamTask getExamTask() {
//        return examTask;
//    }
//
//    public void setExamTask(ExamTask examTask) {
//        this.examTask = examTask;
//    }
//
//    public static long getSerialVersionUID() {
//        return serialVersionUID;
//    }
//
//    public ExamStudent() {
//    }
//
//    public ExamStudent(ExamStudentTemp temp) {
//        setExamCode(temp.getExamCode());
//        setBatchId(temp.getBatchId());
//        setBatchName(temp.getBatchName());
//        setStageId(temp.getStageId());
//        setPlaceCode(temp.getPlaceCode());
//        setRoomCode(temp.getRoomCode());
//        setTicketNo(temp.getTicketNo());
//        setIdcard(temp.getIdcard());
//        setName(temp.getName());
//        setCourseCode(temp.getCourseCode());
//        setCourseName(temp.getCourseName());
//        setSex(temp.getSex());
//        setSeatNumber(temp.getSeatNumber());
//        setCreateTime(temp.getCreateTime());
//    }
//
//
//    /**
//     * @return the seatNumber
//     */
//    public String getSeatNumber() {
//        return seatNumber;
//    }
//
//    /**
//     * @param seatNumber the seatNumber to set
//     */
//    public void setSeatNumber(String seatNumber) {
//        this.seatNumber = seatNumber;
//    }
//
//    /**
//     * @return the sex
//     */
//    public String getSex() {
//        return sex;
//    }
//
//    /**
//     * @param sex the sex to set
//     */
//    public void setSex(String sex) {
//        this.sex = sex;
//    }
//
//    /**
//     * @return the createTime
//     */
//    public Date getCreateTime() {
//        return createTime;
//    }
//
//    /**
//     * @param createTime the createTime to set
//     */
//    public void setCreateTime(Date createTime) {
//        this.createTime = createTime;
//    }
//
//    /**
//     * @return the examCode
//     */
//    public String getExamCode() {
//        return examCode;
//    }
//
//    /**
//     * @param examCode the examCode to set
//     */
//    public void setExamCode(String examCode) {
//        this.examCode = examCode;
//    }
//
//    /**
//     * @return the batchName
//     */
//    public String getBatchName() {
//        return batchName;
//    }
//
//    /**
//     * @param batchName the batchName to set
//     */
//    public void setBatchName(String batchName) {
//        this.batchName = batchName;
//    }
//
//    /**
//     * @return the id
//     */
//    public String getId() {
//        return id;
//    }
//
//    /**
//     * @param id the id to set
//     */
//    public void setId(String id) {
//        this.id = id;
//    }
//
//    /**
//     * @return the batchId
//     */
//    public String getBatchId() {
//        return batchId;
//    }
//
//    /**
//     * @param batchId the batchId to set
//     */
//    public void setBatchId(String batchId) {
//        this.batchId = batchId;
//    }
//
//    /**
//     * @return the stageId
//     */
//    public String getStageId() {
//        return stageId;
//    }
//
//    /**
//     * @param stageId the stageId to set
//     */
//    public void setStageId(String stageId) {
//        this.stageId = stageId;
//    }
//
//    /**
//     * @return the placeCode
//     */
//    public String getPlaceCode() {
//        return placeCode;
//    }
//
//    /**
//     * @param placeCode the placeCode to set
//     */
//    public void setPlaceCode(String placeCode) {
//        this.placeCode = placeCode;
//    }
//
//    /**
//     * @return the roomCode
//     */
//    public String getRoomCode() {
//        return roomCode;
//    }
//
//    /**
//     * @param roomCode the roomCode to set
//     */
//    public void setRoomCode(String roomCode) {
//        this.roomCode = roomCode;
//    }
//
//    /**
//     * @return the ticketNo
//     */
//    public String getTicketNo() {
//        return ticketNo;
//    }
//
//    /**
//     * @param ticketNo the ticketNo to set
//     */
//    public void setTicketNo(String ticketNo) {
//        this.ticketNo = ticketNo;
//    }
//
//    /**
//     * @return the idcard
//     */
//    public String getIdcard() {
//        return idcard;
//    }
//
//    /**
//     * @param idcard the idcard to set
//     */
//    public void setIdcard(String idcard) {
//        this.idcard = idcard;
//    }
//
//    /**
//     * @return the name
//     */
//    public String getName() {
//        return name;
//    }
//
//    /**
//     * @param name the name to set
//     */
//    public void setName(String name) {
//        this.name = name;
//    }
//
//    /**
//     * @return the courseCode
//     */
//    public String getCourseCode() {
//        return courseCode;
//    }
//
//    /**
//     * @param courseCode the courseCode to set
//     */
//    public void setCourseCode(String courseCode) {
//        this.courseCode = courseCode;
//    }
//
//    /**
//     * @return the courseName
//     */
//    public String getCourseName() {
//        return courseName;
//    }
//
//    /**
//     * @param courseName the courseName to set
//     */
//    public void setCourseName(String courseName) {
//        this.courseName = courseName;
//    }
//
//    public Boolean getRegistrationStatus() {
//        return registrationStatus;
//    }
//
//    public void setRegistrationStatus(Boolean registrationStatus) {
//        this.registrationStatus = registrationStatus;
//    }
//
//    public ExamFinishStatusEnum getExamFinishStatus() {
//        return examFinishStatus;
//    }
//
//    public void setExamFinishStatus(ExamFinishStatusEnum examFinishStatus) {
//        this.examFinishStatus = examFinishStatus;
//    }
//}

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.jkserver.enums.ExamFinishStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 考务考生表
 * </p>
 *
 * @author wangliang
 * @since 2023-03-01
 */
@ApiModel(value="JkExamStudent对象", description="考务考生表")
@TableName("jk_exam_student")
public class ExamStudent implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "考试编码")
    private String examCode;

    @ApiModelProperty(value = "批次id")
    private String batchId;

    @ApiModelProperty(value = "批次名称")
    private String batchName;

    @ApiModelProperty(value = "场次id")
    private String stageId;

    @ApiModelProperty(value = "地方编码")
    private String placeCode;

    @ApiModelProperty(value = "考场编码")
    private String roomCode;

    @ApiModelProperty(value = "准考证号")
    private String ticketNo;

    @ApiModelProperty(value = "身份证号")
    private String idcard;

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

    @ApiModelProperty(value = "科目编码")
    private String courseCode;

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

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "座位号")
    private String seatNumber;

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @ApiModelProperty(value = "云阅卷同步考试任务id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long examTaskId;

    @ApiModelProperty(value = "同步结果，0：未同步，1：已同步")
    private Boolean taskSyncResult;

    @ApiModelProperty(value = "检录数据匹配度")
    private BigDecimal percent;

    @ApiModelProperty(value = "检录状态")
    private Boolean registrationStatus;

    @ApiModelProperty(value = "考试状态，FINISHED：已完成，UN_FINISHED：未完成")
    private ExamFinishStatusEnum examFinishStatus;

    public Long getId() {
        return id;
    }

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

    public String getExamCode() {
        return examCode;
    }

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

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public String getBatchName() {
        return batchName;
    }

    public void setBatchName(String batchName) {
        this.batchName = batchName;
    }

    public String getStageId() {
        return stageId;
    }

    public void setStageId(String stageId) {
        this.stageId = stageId;
    }

    public String getPlaceCode() {
        return placeCode;
    }

    public void setPlaceCode(String placeCode) {
        this.placeCode = placeCode;
    }

    public String getRoomCode() {
        return roomCode;
    }

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

    public String getTicketNo() {
        return ticketNo;
    }

    public void setTicketNo(String ticketNo) {
        this.ticketNo = ticketNo;
    }

    public String getIdcard() {
        return idcard;
    }

    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }

    public String getName() {
        return name;
    }

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

    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 getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSeatNumber() {
        return seatNumber;
    }

    public void setSeatNumber(String seatNumber) {
        this.seatNumber = seatNumber;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getExamTaskId() {
        return examTaskId;
    }

    public void setExamTaskId(Long examTaskId) {
        this.examTaskId = examTaskId;
    }

    public Boolean getTaskSyncResult() {
        return taskSyncResult;
    }

    public void setTaskSyncResult(Boolean taskSyncResult) {
        this.taskSyncResult = taskSyncResult;
    }

    public BigDecimal getPercent() {
        return percent;
    }

    public void setPercent(BigDecimal percent) {
        this.percent = percent;
    }

    public Boolean getRegistrationStatus() {
        return registrationStatus;
    }

    public void setRegistrationStatus(Boolean registrationStatus) {
        this.registrationStatus = registrationStatus;
    }

    public ExamFinishStatusEnum getExamFinishStatus() {
        return examFinishStatus;
    }

    public void setExamFinishStatus(ExamFinishStatusEnum examFinishStatus) {
        this.examFinishStatus = examFinishStatus;
    }
}