package com.yc.ship.module.resource.dal.dataobject.driver;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
import lombok.*;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 驾驶员管理 DO
 *
 * @author 管理员
 */
@TableName("dispatch_driver")
@KeySequence("dispatch_driver_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DriverDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 驾驶员姓名
     */
    private String name;
    /**
     * 驾驶员编号
     */
    private String driverCode;
    /**
     * 微信号
     */
    private String wxNo;
    /**
     * 驾驶员分组
     */
    private String groupId;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 性别
     */
    private Integer sex;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 联系电话
     */
    private String phone;
    /**
     * 准驾车型(A1,A2,A3...)
     */
    private Integer driverLevel;
    /**
     * 驾驶员类型(0内部、1外部,与供应商类型保持一致)
     */
    private Integer driverType;
    /**
     * 学历(小学、初中、高中、大学、研究生..)
     */
    private Integer eduType;
    /**
     * 民族(字典选择)
     */
    private Integer nation;
    /**
     * 联系地址
     */
    private String address;
    /**
     * 紧急联系电话
     */
    private String emergentPhone;
    /**
     * 启用状态：0禁用、1启用
     */
    private Integer useStatus;
    /**
     * 标签
     */
    private String driverTag;

    /**
     * 驾驶员头像
     */
    private String portraitUrl;
    /**
     * 驾照正面
     */
    private String driverCardImgUrl1;
    /**
     * 驾照副页
     */
    private String driverCardImgUrl2;
    /**
     * 身份证证件号正面
     */
    private String idCardImgUrl1;
    /**
     * 身份证证件号背面
     */
    private String idCardImgUrl2;
    /**
     * 初次领证日期
     */
    private LocalDateTime firstIssuedate;
    /**
     * 审验到期日期
     */
    private LocalDateTime annualPeriod;
    /**
     * 供应商类型(0内部供应商、1外部供应商)
     */
    private Integer supplierType;
    /**
     * 所属供应商id
     */
    private String companyId;
    /**
     * 备注
     */
    private String remark;
    /**
     * 排序
     */
    private Integer sort;
}
