package com.qmth.jkserver.model;

//import java.io.Serializable;
//import java.util.Date;
//
//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.Indexed;
//import org.springframework.data.mongodb.core.mapping.Document;
//import org.springframework.data.mongodb.core.mapping.Field;
//
//import com.qmth.jkserver.dto.KwAlready;
//
///**
// * 考点考场表
// * @author tianjun
// *
// */
//
//@Document(collection = "jk_exam_room")
//@CompoundIndexes({ @CompoundIndex(name = "exam_room_idx", def = "{'exam_code':1,'place_code': 1, 'room_code': 1}") })
//public class ExamRoom implements Serializable {
//
//	/**
//	 *
//	 */
//	private static final long serialVersionUID = 7865645107596340752L;
//
//	@Id
//	private String id;
//
//	@Indexed
//	@Field("exam_code")
//	private String examCode;
//
//	@Field("place_code")
//	private String placeCode;
//
//	@Field("place_name")
//	private String placeName;
//
//	@Field("room_code")
//	private String roomCode;
//
//	@Field("room_name")
//	private String roomName;
//
//	@Field("jk_teacher")
//	private String jkTeacher;
//
//	@Field("jk_password")
//	private String jkPassword;
//
//	/**
//	 * 创建时间
//	 */
//	@Field("create_time")
//	private Date createTime;
//
//	/**
//	 * 当前考场答案文件已经上传，不支持视唱机考
//	 */
//	@Field("kj_already")
//	private boolean kjAlready = false;
//
//	/**
//	 * 当前考场考务相关数据是否下载
//	 */
//	@Field("kw_already")
//    //TODO 拆分成3个字段
//	private KwAlready kwAlready = new KwAlready();
//
//	public ExamRoom(){};
//
//	public ExamRoom(ExamRoomTemp temp){
//		setExamCode(temp.getExamCode());
//		setPlaceCode(temp.getPlaceCode());
//		setPlaceName(temp.getPlaceName());
//		setRoomCode(temp.getRoomCode());
//		setRoomName(temp.getRoomName());
//		setJkTeacher(temp.getJkTeacher());
//		setJkPassword(temp.getJkPassword());
//		setCreateTime(temp.getCreateTime());
//	}
//
//	/**
//	 * @return the kjAlready
//	 */
//	public boolean isKjAlready() {
//		return kjAlready;
//	}
//
//	/**
//	 * @param kjAlready the kjAlready to set
//	 */
//	public void setKjAlready(boolean kjAlready) {
//		this.kjAlready = kjAlready;
//	}
//
//	/**
//	 * @return the kwAlready
//	 */
//	public KwAlready getKwAlready() {
//		return kwAlready;
//	}
//
//	/**
//	 * @param kwAlready the kwAlready to set
//	 */
//	public void setKwAlready(KwAlready kwAlready) {
//		this.kwAlready = kwAlready;
//	}
//
//	/**
//	 * @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 id
//	 */
//	public String getId() {
//		return id;
//	}
//
//	/**
//	 * @param id the id to set
//	 */
//	public void setId(String id) {
//		this.id = id;
//	}
//
//	/**
//	 * @return the placeCode
//	 */
//	public String getPlaceCode() {
//		return placeCode;
//	}
//
//	/**
//	 * @param placeCode the placeCode to set
//	 */
//	public void setPlaceCode(String placeCode) {
//		this.placeCode = placeCode;
//	}
//
//	/**
//	 * @return the placeName
//	 */
//	public String getPlaceName() {
//		return placeName;
//	}
//
//	/**
//	 * @param placeName the placeName to set
//	 */
//	public void setPlaceName(String placeName) {
//		this.placeName = placeName;
//	}
//
//	/**
//	 * @return the roomCode
//	 */
//	public String getRoomCode() {
//		return roomCode;
//	}
//
//	/**
//	 * @param roomCode the roomCode to set
//	 */
//	public void setRoomCode(String roomCode) {
//		this.roomCode = roomCode;
//	}
//
//	/**
//	 * @return the roomName
//	 */
//	public String getRoomName() {
//		return roomName;
//	}
//
//	/**
//	 * @param roomName the roomName to set
//	 */
//	public void setRoomName(String roomName) {
//		this.roomName = roomName;
//	}
//
//	/**
//	 * @return the jkTeacher
//	 */
//	public String getJkTeacher() {
//		return jkTeacher;
//	}
//
//	/**
//	 * @param jkTeacher the jkTeacher to set
//	 */
//	public void setJkTeacher(String jkTeacher) {
//		this.jkTeacher = jkTeacher;
//	}
//
//	/**
//	 * @return the jkPassword
//	 */
//	public String getJkPassword() {
//		return jkPassword;
//	}
//
//	/**
//	 * @param jkPassword the jkPassword to set
//	 */
//	public void setJkPassword(String jkPassword) {
//		this.jkPassword = jkPassword;
//	}
//}

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.constant.SystemConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 考点考场表
 * </p>
 *
 * @author wangliang
 * @since 2023-03-01
 */
@ApiModel(value = "JkExamRoom对象", description = "考点考场表")
@TableName("jk_exam_room")
public class ExamRoom implements Serializable {

    private static final long serialVersionUID = 1L;

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

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

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

    @ApiModelProperty(value = "地方名称")
    private String placeName;

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

    @ApiModelProperty(value = "考场名称")
    private String roomName;

    @ApiModelProperty(value = "监考老师")
    private String jkTeacher;

    @ApiModelProperty(value = "监考密码")
    private String jkPassword;

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

    @ApiModelProperty(value = "当前考场答案文件已经上传，不支持视唱机考，0：未上传，1：已上传")
    private Boolean kjAlready;

    @ApiModelProperty(value = "考务考场是否上传，0：未上传，1：已上传")
    private Boolean kwKcAlready;

    @ApiModelProperty(value = "考务试卷是否上传，0：未上传，1：已上传")
    private Boolean kwPaperAlready;

    @ApiModelProperty(value = "考务开卷是否上传，0：未上传，1：已上传")
    private Boolean kwUncolilingAlready;

    public ExamRoom() {

    }

    public ExamRoom(ExamRoomTemp temp) {
        this.id = SystemConstant.getDbUuid();
        setExamCode(temp.getExamCode());
        setPlaceCode(temp.getPlaceCode());
        setPlaceName(temp.getPlaceName());
        setRoomCode(temp.getRoomCode());
        setRoomName(temp.getRoomName());
        setJkTeacher(temp.getJkTeacher());
        setJkPassword(temp.getJkPassword());
        setCreateTime(temp.getCreateTime());
    }

    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 getPlaceCode() {
        return placeCode;
    }

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

    public String getPlaceName() {
        return placeName;
    }

    public void setPlaceName(String placeName) {
        this.placeName = placeName;
    }

    public String getRoomCode() {
        return roomCode;
    }

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

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }

    public String getJkTeacher() {
        return jkTeacher;
    }

    public void setJkTeacher(String jkTeacher) {
        this.jkTeacher = jkTeacher;
    }

    public String getJkPassword() {
        return jkPassword;
    }

    public void setJkPassword(String jkPassword) {
        this.jkPassword = jkPassword;
    }

    public Long getCreateTime() {
        return createTime;
    }

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

    public Boolean getKjAlready() {
        return kjAlready;
    }

    public void setKjAlready(Boolean kjAlready) {
        this.kjAlready = kjAlready;
    }

    public Boolean getKwKcAlready() {
        return kwKcAlready;
    }

    public void setKwKcAlready(Boolean kwKcAlready) {
        this.kwKcAlready = kwKcAlready;
    }

    public Boolean getKwPaperAlready() {
        return kwPaperAlready;
    }

    public void setKwPaperAlready(Boolean kwPaperAlready) {
        this.kwPaperAlready = kwPaperAlready;
    }

    public Boolean getKwUncolilingAlready() {
        return kwUncolilingAlready;
    }

    public void setKwUncolilingAlready(Boolean kwUncolilingAlready) {
        this.kwUncolilingAlready = kwUncolilingAlready;
    }
}