package cn.iocoder.yudao.module.app.car.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 车辆信息 DO
 *
 * @author 后台管理员
 */
@TableName("base_car_main")
@Data
@EqualsAndHashCode(callSuper = true)
public class AppCarMain extends TenantBaseDO {

    /**
     * 主键标识
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 发动机号码
     */
    private String engineNumber;
    /**
     * 车架号
     */
    private String vin;
    /**
     * 车牌号
     */
    private String licenseNumber;
    /**
     * 车辆型号
     */
    private String carModel;
    /**
     * 保养日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date maintenanceDate;
    /**
     * 保养里程
     */
    private BigDecimal maintenanceMileage;
    /**
     * 年检日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date inspectionDate;
    /**
     * 保险日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date insuranceDate;
    /**
     * 二级维护时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;
    /**
     * 下次保养日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextMaintenanceDate;
    /**
     * 下次保养里程
     */
    private BigDecimal nextMaintenanceMileage;
    /**
     * 下次年检日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextInspectionDate;
    /**
     * 保险到期日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date insuranceExpiryDate;
    /**
     * 下次二级维护时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextCheckDate;
    /**
     * 车辆品牌
     */
    private String carBrand;
    /**
     * 车辆性质：营运 非营运等
     */
    private String carNature;
    /**
     * 车辆类别：私家车 货车 教练车 公务车 出租车
     */
    private String carCategory;
    /**
     * 车辆注册日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date carRegisterDate;
    /**
     * 行驶证图片
     */
    private String carLicenseImg;
    /**
     * 最近办理业务
     */
    private String recentlyHandledBusiness;
    /**
     * 最近办理业务的时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recentlyHandleBusinessTime;
    /**
     * 车辆型号（输入框）
     */
    private String carModelInput;
    /**
     * 车辆品牌（输入框）
     */
    private String carBrandInput;

}