package com.zcxk.charge.api.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @description
 * @author  wangli
 * @data 2020-11-17 21:18
 */
@Data
@Api("历史报警")
public class AlarmDetailsHistoryDto implements Serializable {

    private static final long serialVersionUID = 6107433946964301057L;

    @ExcelIgnore
    @ApiModelProperty(value = "主键id")
    private Integer id;

    @ApiModelProperty("所属场景")
    @ExcelProperty(value = "所属场景",index = 0)
    private String sceneName;

    @ApiModelProperty("设备名称")
    @ExcelProperty(value = "设备名称",index = 1)
    private String deviceName;

    @ApiModelProperty("设备类型")
    @ExcelProperty(value = "设备类型",index = 2)
    private String deviceType;

    @ApiModelProperty("报警类型列表值")
    @ExcelProperty(value = "报警类型",index = 3)
    private String alarmType;

    @ApiModelProperty(value ="报警参数")
    @ExcelProperty(value = "报警参数",index = 4)
    private String attributeName;

    @ApiModelProperty(value ="报警规则")
    @ExcelProperty(value = "报警规则",index =5)
    private String alermRule;

    @ApiModelProperty(value = "最大告警数值")
    @ExcelProperty(value = "最高值",index =6)
    private String maxValue;

    @ApiModelProperty(value = "最小告警数值")
    @ExcelProperty(value = "最低值",index =7)
    private String minValue;

    @ApiModelProperty("地址")
    @ExcelProperty(value = "地址",index =8)
    private String address;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "报警开始时间",example = "2020-12-12 12:12:12")
    @ExcelProperty(value = "开始时间",index =9)
    private Date alarmStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "报警结束时间",example = "2020-12-12 12:12:12")
    @ExcelProperty(value = "结束时间",index =10)
    private Date alarmEndTime;

    @ApiModelProperty("持续时间，单位分钟")
    @ExcelProperty(value = "持续时间（分钟）",index =11)
    private String duration;

    @ExcelIgnore
    @ApiModelProperty("经度")
    private BigDecimal pointX;

    @ExcelIgnore
    @ApiModelProperty("维度")
    private BigDecimal pointY;

    @ExcelIgnore
    @ApiModelProperty(value = "报警状态")
    private Integer state;

    @ExcelIgnore
    @ApiModelProperty(value = "处理状态")
    private Integer opState;

}
