package com.gci.boot.modules.statis.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.gci.boot.common.dict.annotation.Dict;
import com.gci.boot.common.dict.excel.DictConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author 24642
 */
@Data
public class VehicleStatisVo {
    @JsonPropertyDescription("所属项目")
    @Dict(dicCode = "id",dictTable = "tb_projects",dicText = "project_name")
//    @ExcelProperty(value = "所属项目",converter = DictConverter.class)
//    @ColumnWidth(value = 30)
    @ExcelIgnore
    private String projectId;

    @JsonPropertyDescription("车牌号")
    @ExcelProperty(value = "车牌号",order = 4)
    private String plateNumber;

    @JsonPropertyDescription("车辆种类")
    @Dict(dicCode = "vehicle_type")
    @ExcelProperty(value = "车辆种类",converter = DictConverter.class,order = 1)
    private String vehicleType;

    @JsonPropertyDescription("品牌")
    @Dict(dicCode = "vehicle_brand")
    @ExcelProperty(value = "品牌",converter = DictConverter.class,order = 2)
    private String vehicleBrand;

    @JsonPropertyDescription("型号")
    @ExcelProperty(value = "型号",order = 3)
    private String vehicleModel;

    @JsonPropertyDescription("车架号")
    @ExcelProperty(value = "车架号",order = 5)
    private String frameNumber;

    @JsonPropertyDescription("运行年限")
    @ExcelProperty(value = "运行年限",order = 6)
    private String statisTime;

    @JsonPropertyDescription("维修次数")
    @ExcelIgnore
    private Long repairNum = 0L;

    @JsonPropertyDescription("采购费用")
    @ExcelProperty(value = "采购费用（万元）",order = 7)
    private Double price = 0.0;

    @JsonPropertyDescription("改装费用")
    @ExcelProperty(value = "改装费用（元）",order = 8)
    private Double modificationCosts = 0.0;

    @JsonPropertyDescription("维修金额")
    @ExcelProperty(value = "维修费用（元）",order = 9)
    private Double repairAmount = 0.0;

    @JsonPropertyDescription("保养金额")
    @ExcelProperty(value = "保养费用（元）",order = 10)
    private Double upkeepAmount = 0.0;

    @JsonPropertyDescription("保险金额")
    @ExcelProperty(value = "保险费用（元）",order = 11)
    private Double insuranceAmount = 0.0;

    @JsonPropertyDescription("年检金额")
    @ExcelProperty(value = "年检费用（元）",order = 12)
    private Double inspectionAmount = 0.0;

    @JsonPropertyDescription("违章金额")
    @ExcelProperty(value = "违章费用（元）",order = 13)
    private Double violationAmount = 0.0;

    @JsonPropertyDescription("能耗金额")
    @ExcelProperty(value = "能耗费用（元）",order = 14)
    private Double energyAmount = 0.0;
}
