package com.miaxis.tms.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户对象 user_info
 *
 * @author miaxis
 * @date 2021-01-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tms_coach_info")
@ApiModel(value = "CoachInfo", description = "教练对象 tms_coach_info")
public class CoachInfo implements Serializable {

    private static final long serialVersionUID = 1L;


    @TableId(value = "TCI_ID")
    @ApiModelProperty(value = "教练Id")
    private Long id;

    @TableField("TCI_COACHNUM")
    @ApiModelProperty(value = "教练全国统一编号")
    private String coachNum;


    /** 备案时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_RECORD_DATE")
    @ApiModelProperty(value = "备案时间")
    private Date recordDate;

    /**
     * 所属驾校内部ID
     */
    @TableField("TCI_SCHOOL_ID")
    @ApiModelProperty(value = "所属驾校内部ID")
    private Long schoolId;

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

    /**
     * 性别(1:男性;2:女性)
     */
    @TableField("TCI_SEX")
    @ApiModelProperty(value = "性别(1:男性;2:女性)")
    private String sex;

    /** 身份证号码 */
    @TableField("TCI_IDCARD")
    @ApiModelProperty(value = "身份证号")
    private String idcard;

    /** 手机号码 */
    @TableField("TCI_MOBILE")
    @ApiModelProperty(value = "手机号码")
    private String mobile;

    /** 联系地址 */
    @TableField("TCI_ADDRESS")
    @ApiModelProperty(value = "联系地址")
    private String address;

    /** 照片文件ID(成功上传的教练员头像文件ID) */
    @TableField("TCI_PHOTO")
    @ApiModelProperty(value = "照片文件ID(成功上传的教练员头像文件ID)")
    private Long photo;

    /** 指纹图片ID(成功上传的指纹图片ID) */
    @TableField("TCI_FINGERPRINT")
    @ApiModelProperty(value = "指纹图片ID(成功上传的指纹图片ID)")
    private Long fingerPrint;


    /** 指驾驶证号 */
    @TableField("TCI_DRILICENCE")
    @ApiModelProperty(value = "驾驶证号")
    private Long drilicence;

    /** 驾驶证初领日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_FSTDRILICDATE")
    @ApiModelProperty(value = "驾驶证初领日期")
    private Date fstdrilicDate;

    /** 职业资格证号 */
    @TableField("TCI_OCCUPATIONNO")
    @ApiModelProperty(value = "职业资格证号")
    private String occupationNo;

    /** 职业资格等级(1:一级; 2:二级; 3:三级; 4:四级;) */
    @TableField("TCI_OCCUPATIONLEVEL")
    @ApiModelProperty(value = "职业资格等级(1:一级; 2:二级; 3:三级; 4:四级;)")
    private String occupationLevel;

    /** 准驾车型(下列编码单选：A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P) */
    @TableField("TCI_DRIPERMITTED")
    @ApiModelProperty(value = "准驾车型(下列编码单选：A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P)")
    private String dripermitted;


    /** 准教车型(下列编码单选：A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P) */
    @TableField("TCI_TEACHPERMITTED")
    @ApiModelProperty(value = "准教车型(下列编码单选：A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,D,E,F,M,N,P)")
    private String teachpermitted;


    /** 供职状态(0:在职; 1:离职;) */
    @TableField("TCI_EMPLOYSTATUS")
    @ApiModelProperty(value = "供职状态(0:在职; 1:离职;)")
    private String employStatus;


    /** 入职日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_HIREDATE")
    @ApiModelProperty(value = "入职日期")
    private Date hireDate;

    /** 离职日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_LEAVEDATE")
    @ApiModelProperty(value = "离职日期")
    private Date leaveDate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_CREATE_DATE")
    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    /** 创建人ID */
    @TableField("TCI_CREATE_USER")
    @ApiModelProperty(value = "创建人ID")
    private Long createUser;

    /** 创建人真实姓名 */
    @TableField("TCI_CREATE_USER_NAME")
    @ApiModelProperty(value = "创建人真实姓名")
    private String createUserName;


    /** 照片地址 */
    @TableField("TCI_PHOTO_PATH")
    @ApiModelProperty(value = "照片地址")
    private String photoPath;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_UPDATE_DATE")
    @ApiModelProperty(value = "修改时间")
    private Date updateDate;

    /** 修改人ID */
    @TableField("TCI_UPDATE_USER")
    @ApiModelProperty(value = "修改人ID")
    private Long updateUser;


    /** 修改人真实姓名 */
    @TableField("TCI_UPDATE_USER_NAME")
    @ApiModelProperty(value = "修改人真实姓名")
    private String updateUserName;

    /** 证件类型 */
    @TableField("TCI_CARD_TYPE")
    @ApiModelProperty(value = "卡类型：1-ic卡，2-身份证")
    private String cardType;




    @TableField("TCI_CARD_ID")
    @ApiModelProperty(value = "卡物理ID（身份证芯片号等）")
    private String cardId;

    @TableField("TCI_LOGOUT")
    @ApiModelProperty(value = "状态 1 已注销 0 正常")
    private String logout;

    @TableField("TCI_SYNC")
    @ApiModelProperty(value = "同步状态 1 已同步 0 未同步")
    private String sync;

    @TableField("TCI_SYNC_TIME")
    @ApiModelProperty(value = "同步时间")
    private Date syncTime;

    @TableField("TCI_PASSWORD")
    @ApiModelProperty(value = "密码")
    private String password;

    @TableField("TCI_GROUP_ID")
    @ApiModelProperty(value = "教练归属分组ID 便 于以后使用")
    private Long groupId;

    @TableField("TCI_LOCK_STATUS")
    @ApiModelProperty(value = "锁定状态 0 未锁定 1 已锁定")
    private String lockStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("TCI_LOCK_DATE")
    @ApiModelProperty(value = "锁定时间/解锁时间")
    private Date lockDate;

    @TableField("TCI_PROTOCOL_PATH")
    @ApiModelProperty(value = "协议保存地址")
    private String protocolPath;

    @TableField("TCI_AUDIT_STATUS")
    @ApiModelProperty(value = "审核状态  0 待审核 1 审核通过 2 审核驳回")
    private String auditStatus;

    /**
     * 教练类型 0 理论 1 实操 2 理论+实操--------------
     * 旧1,实操  2,理论  3,实操+理论  4,模拟  5,实操+模拟  6,理论+模拟  7,实操+理论+模拟  8,科目鉴定
     */
    @TableField("TCI_TYPE")
    @ApiModelProperty(value = "教练类型")
    private String type;

    @TableField("TCI_IS_ILLEGAL")
    @ApiModelProperty(value = "增加毒、酒、醉等88号文件的判断（1:否;2:是）")
    private String isIllegal;


    @TableField("TCI_HEALTH_STATE")
    @ApiModelProperty(value = "健康情况（1,健康;2,亚健康;3,疾病）")
    private String healthState;

    @TableField("TCI_ORIGO")
    @ApiModelProperty(value = "籍贯")
    private String origo;

    /** 文化程度 0:无 1:博士 2:硕士 3:本科 4:大专 5:中专 6:高中 7:初中 8:小学 */
    @TableField("TCI_EDUCATION_LEVEL")
    @ApiModelProperty(value = "教育程度")
    private String educationLevel;

    @TableField("TCI_IS_AGREE")
    @ApiModelProperty(value = "是否同意协议 0 不同意 1 已同意")
    private Integer isAgree;






}
