package com.zcxk.charge.api.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zcxk.core.utils.converter.Object6Serialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
/**
 * @author  andy
 */
@Data
@ApiModel("报表参数列表")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReportAttributeVo implements Serializable {
    private static final long serialVersionUID = 4074399088580570408L;
    /**
     * 设备属性名称
     */
    @ApiModelProperty("设备属性名称")
    private String attributeName;
    /**
     * 设备属性类型
     */
    @ApiModelProperty("设备属性类型")
    @JsonIgnore
    private Integer attributeType;


    @ApiModelProperty("单位")
    private String unit;
    /**
     * 最小值
     */
    @ApiModelProperty(value = "最小值")
    @JsonSerialize(using = Object6Serialize.class)
    private Double minValue;
    /**
     * 最大值
     */
    @ApiModelProperty(value = "最大值")
    @JsonSerialize(using = Object6Serialize.class)
    private Double maxValue;
    /**
     * 平均值
     */
    @ApiModelProperty(value = "平均值")
    @JsonSerialize(using = Object6Serialize.class)
    private Double avgValue;
    /**
     * 合计值
     */
    @ApiModelProperty(value = "合计值")
    @JsonSerialize(using = Object6Serialize.class)
    private Double sumValue;
    /**
     * 最新值
     */
    @ApiModelProperty(value = "最新值")
    @JsonSerialize(using = Object6Serialize.class)
    private Double latestValue;

    @ApiModelProperty("设备名称")
    private String deviceName;

    @ApiModelProperty(value = "归类")
    private String classify;

    @ApiModelProperty(value = "设备参数ID")
    private Integer deviceParmId;

    @ApiModelProperty(value = "展示开关")
    private boolean showOnOff;

    @ApiModelProperty(value = "是否展示最小值")
    private boolean showMinValue;

    @ApiModelProperty(value = "是否展示最大值")
    private boolean showMaxValue;

    @ApiModelProperty(value = "是否展示平均值")
    private boolean showAvgValue;

    @ApiModelProperty(value = "是否展示合计值")
    private boolean showSumValue;

    @ApiModelProperty(value = "是否展示最新值")
    private boolean showLatestValue;

    @ApiModelProperty(value = "报表维度设置ID")
    private Integer dimensionId;

    @ApiModelProperty(value = "报表维护类型")
    private Integer type;

    @ApiModelProperty(value = "属性ID")
    private Integer attributeId;

    @ApiModelProperty(value = "设备ID")
    @JsonIgnore
    private Integer deviceId;
}
