package com.aucma.report.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 参数异常报表VO
 *
 * @author Codex
 */
public class DeviceParamAnomalyVo implements Serializable {
    private static final long serialVersionUID = 1L;

    private String deviceCode;

    private String deviceName;

    private String paramCode;

    private String paramName;

    private String alertLevel;

    private String alertLevelName;

    private Double upperLimit;

    private Double lowerLimit;

    /** 超限次数，按连续异常段统计 */
    private Long overLimitCount;

    /** 超上限次数 */
    private Long upperAnomalyCount;

    /** 超下限次数 */
    private Long lowerAnomalyCount;

    /** 异常持续时长（分钟） */
    private Double abnormalDurationMinutes;

    /** 异常样本最高值 */
    private Double maxValue;

    /** 异常样本最低值 */
    private Double minValue;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstAbnormalTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastAbnormalTime;

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getParamCode() {
        return paramCode;
    }

    public void setParamCode(String paramCode) {
        this.paramCode = paramCode;
    }

    public String getParamName() {
        return paramName;
    }

    public void setParamName(String paramName) {
        this.paramName = paramName;
    }

    public String getAlertLevel() {
        return alertLevel;
    }

    public void setAlertLevel(String alertLevel) {
        this.alertLevel = alertLevel;
    }

    public String getAlertLevelName() {
        return alertLevelName;
    }

    public void setAlertLevelName(String alertLevelName) {
        this.alertLevelName = alertLevelName;
    }

    public Double getUpperLimit() {
        return upperLimit;
    }

    public void setUpperLimit(Double upperLimit) {
        this.upperLimit = upperLimit;
    }

    public Double getLowerLimit() {
        return lowerLimit;
    }

    public void setLowerLimit(Double lowerLimit) {
        this.lowerLimit = lowerLimit;
    }

    public Long getOverLimitCount() {
        return overLimitCount;
    }

    public void setOverLimitCount(Long overLimitCount) {
        this.overLimitCount = overLimitCount;
    }

    public Long getUpperAnomalyCount() {
        return upperAnomalyCount;
    }

    public void setUpperAnomalyCount(Long upperAnomalyCount) {
        this.upperAnomalyCount = upperAnomalyCount;
    }

    public Long getLowerAnomalyCount() {
        return lowerAnomalyCount;
    }

    public void setLowerAnomalyCount(Long lowerAnomalyCount) {
        this.lowerAnomalyCount = lowerAnomalyCount;
    }

    public Double getAbnormalDurationMinutes() {
        return abnormalDurationMinutes;
    }

    public void setAbnormalDurationMinutes(Double abnormalDurationMinutes) {
        this.abnormalDurationMinutes = abnormalDurationMinutes;
    }

    public Double getMaxValue() {
        return maxValue;
    }

    public void setMaxValue(Double maxValue) {
        this.maxValue = maxValue;
    }

    public Double getMinValue() {
        return minValue;
    }

    public void setMinValue(Double minValue) {
        this.minValue = minValue;
    }

    public Date getFirstAbnormalTime() {
        return firstAbnormalTime;
    }

    public void setFirstAbnormalTime(Date firstAbnormalTime) {
        this.firstAbnormalTime = firstAbnormalTime;
    }

    public Date getLastAbnormalTime() {
        return lastAbnormalTime;
    }

    public void setLastAbnormalTime(Date lastAbnormalTime) {
        this.lastAbnormalTime = lastAbnormalTime;
    }
}
