package cn.iocoder.yudao.module.custom.vo;

import cn.iocoder.yudao.module.custom.entity.CarMain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 车辆信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CarMainRespVO extends CarMain {

    @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "8714")
    @ExcelProperty("主键标识")
    private String id;

    @Schema(description = "发动机号码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("发动机号码")
    private String engineNumber;

    @Schema(description = "车架号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("车架号")
    private String vin;

    @Schema(description = "车牌号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("车牌号")
    private String licenseNumber;

    @Schema(description = "车辆型号")
    @ExcelProperty("车辆型号")
    private String carModel;

    @Schema(description = "保养日期")
    @ExcelProperty("保养日期")
    private LocalDateTime maintenanceDate;

    @Schema(description = "保养里程")
    @ExcelProperty("保养里程")
    private String maintenanceMileage;

    @Schema(description = "年检日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("年检日期")
    private LocalDateTime inspectionDate;

    @Schema(description = "保险日期")
    @ExcelProperty("保险日期")
    private LocalDateTime insuranceDate;

    @Schema(description = "二级维护时间")
    @ExcelProperty("二级维护时间")
    private LocalDateTime checkDate;

    @Schema(description = "车辆品牌", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("车辆品牌")
    private String carBrand;

    @Schema(description = "车辆性质：营运 非营运等", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("车辆性质")
    private String carNature;

    @Schema(description = "车辆类别：私家车 货车 教练车 公务车 出租车")
    @ExcelProperty("车辆类别")
    private String carCategory;

    @Schema(description = "车辆注册日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("车辆注册日期")
    private LocalDateTime carRegisterDate;

    @Schema(description = "行驶证图片")
    @ExcelProperty("行驶证图片")
    private String carLicenseImg;

    @Schema(description = "最近办理业务")
    @ExcelProperty("最近办理业务")
    private String recentlyHandledBusiness;

    @Schema(description = "最近办理业务的时间")
    @ExcelProperty("最近办理业务的时间")
    private LocalDateTime recentlyHandleBusinessTime;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}