package cn.iocoder.yudao.module.jx.domain;

import cn.iocoder.yudao.annotation.Excel;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import cn.iocoder.yudao.module.train.entity.Train;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 车辆信息对象 drive_school_car
 *
 * @author ruoyi
 * @date 2024-05-08
 */
@Data
public class DriveSchoolCar extends TenantBaseDO
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /**封面图*/
    private String avatar;
    /** 车辆品牌 */
    @Excel(name = "车辆品牌")
    private String brand;

    /** 车辆型号 */
    @Excel(name = "车辆型号")
    private String carModel;
    /** 车辆所属课程类型 */
    private String courseType;
    /** 车架号 */
    private String frameNumber;
    /** 发动机号码 */
    private String engineNumber;
    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String carNo;
    /** 车辆照片 */
    private String carPhoto;
    /** 初登日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初登日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carRegisterDate;

    /** 年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "年检日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectionDate;

    /** 年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保险起时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date baoxianSttime;
    /** 年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保险止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date baoxianEntime;

    private String company;
    private String content;
    /** 车辆使用人 */
    @Excel(name = "车辆使用人")
    private String userName;

    /** 使用人手机号 */
    @Excel(name = "手机号")
    private String userPhone;

    /** 教练员用户id */
    private String userId;

    /** 教练id */
    private String coachId;

    /** 车辆所有人 1：驾校 2：教练 3：其他 */
    @Excel(name = "车辆所有人")
    private String carBlong;

    /** 行驶证相片 */
    private String drivingLicence;
    /** 其他相片 */
    private String otherPhoto;

    /** 运营证 */
    private String operationCertificate;

    /** 下线日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下线日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outlineDate;

    /** 二维日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二维日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repairDate;

    /** 最近保养日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date upkeepRecentTime;
    /** 最近保养里程 */
    private BigDecimal upkeepRecentMileage;
    /** 下次保养日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date upkeepNextTime;
    /** 下次保养里程 */
    private BigDecimal upkeepNextMileage;
    /** 交强险 */
    private BigDecimal compulsoryIns;
    /** 商业险 */
    private BigDecimal busiIns;

    /** 车龄 */
    @TableField(exist = false)
    private Long carOld;
}
