package com.evobms.project.vehicledata.dto;

import com.evobms.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
@ApiModel(value = "DeviceDetailDTO", description = "设备详细信息聚合")
public class DeviceDetailDTO {
    @ApiModelProperty("设备ID")
    private String deviceId;
    @ApiModelProperty("设备名称")
    private String deviceName;
    @ApiModelProperty("设备SN")
    private String deviceSn;
    @ApiModelProperty("设备类型")
    private String deviceType;
    @ApiModelProperty("设备状态")
    private String status;
    @ApiModelProperty("固件版本")
    private String firmwareVersion;
    @ApiModelProperty("最后在线时间")
    private String lastOnline;

    @ApiModelProperty("总电压(V)")
    private BigDecimal totalVoltage;
    @ApiModelProperty("总电流(A)")
    private BigDecimal totalCurrent;
    @ApiModelProperty("SOC(%)")
    private Integer soc;
    @ApiModelProperty("SOP(%)")
    private Integer sop;
    @ApiModelProperty(value = "电池单体电压最高值(V)")
    private BigDecimal maxVoltageValue;
    @ApiModelProperty(value = "电池单体电压最低值(V)")
    private BigDecimal minVoltageValue;
    @ApiModelProperty(value = "最高温度值(℃)")
    private BigDecimal maxTempValue;
    @ApiModelProperty(value = "最低温度值(℃)")
    private BigDecimal minTempValue;


    @ApiModelProperty("车辆状态")
    private Integer vehicleStatus;
    @ApiModelProperty("充电状态")
    private Integer chargingStatus;
    @ApiModelProperty("运行模式")
    private Integer operationMode;
    @ApiModelProperty("DC-DC状态")
    private Integer dcdcStatus;
    @ApiModelProperty("档位")
    private Integer gearPosition;
    @ApiModelProperty("绝缘电阻(kΩ)")
    private Integer insulationResistance;

    @ApiModelProperty("经度")
    private Double longitude;
    @ApiModelProperty("纬度")
    private Double latitude;
    @ApiModelProperty("位置时间")
    private String locationTime;
    @ApiModelProperty("定位状态")
    private Integer positioningStatus;

    @ApiModelProperty("云端维护-最近维护时间")
    private String lastMaintenanceTime;
    @ApiModelProperty("云端维护-最近升级时间")
    private String lastUpgradeTime;
}
