package cn.iocoder.yudao.module.asset.dal.dataobject.vehicle;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDate;

/**
 * 车辆基础信息 DO
 *
 * @author 芋道源码
 */
@TableName("asset_vehicle_base")
@KeySequence("asset_vehicle_base_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VehicleBaseDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;

    /**
     * 车辆识别代号（车架号）
     */
    private String vin;

    /**
     * 车牌号
     */
    private String plateNo;

    /**
     * 车辆编号
     */
    private String vehicleNo;

    /**
     * 车型ID
     */
    private Long vehicleModelId;

    /**
     * 运营省份
     */
    private String regionProvince;

    /**
     * 运营城市
     */
    private String regionCity;

    /**
     * 发动机号
     */
    private String engineNo;

    /**
     * 行驶证注册日期
     */
    private LocalDate registerDate;

    /**
     * 采购日期
     */
    private LocalDate purchaseDate;

    /**
     * 采购价格
     */
    private java.math.BigDecimal purchasePrice;

    /**
     * 车身颜色
     */
    private String color;

    /**
     * 出厂年份
     */
    private String year;

    /**
     * 行驶里程（公里）
     */
    private Integer mileage;

    /**
     * 行驶证检验有效期（格式：YYYY-MM）
     */
    private String inspectExpire;

    /**
     * 强制报废期
     */
    private LocalDate scrapDate;

}
