package com.zksy.visualization.domain.response;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author Administrator
 * @version 1.0
 * @project dh-server-micro
 * @description 电能监测
 * @date 2024/12/18 15:32:06
 */
@Data
public class ElectricEnergyMonitorResponse {

        @ApiModelProperty(value = "当前页码")
        private Integer currentPage;

        @ApiModelProperty(value = "总页数")
        private Integer totalPage;

        @ApiModelProperty(value = "每页记录数")
        private Integer pageSize;

        @ApiModelProperty(value = "总数")
        private Integer totalRows;

        @ApiModelProperty(value = "所有记录总数")
        private int countAll;

        @ApiModelProperty(value = "失败记录数")
        private int countFail;

        @ApiModelProperty(value = "所有信息记录数")
        private int allInfoCount;

        @ApiModelProperty(value = "所有异常记录数")
        private int allExceptionCount;

        @ApiModelProperty(value = "电压异常记录数")
        private int voltageExcCount;

        @ApiModelProperty(value = "电流异常记录数")
        private int currentExcCount;

        @ApiModelProperty(value = "功率异常记录数")
        private int powerExcCount;

        @ApiModelProperty(value = "温度异常记录数")
        private int tempExcCount;

        @ApiModelProperty(value = "泄漏异常记录数")
        private int leakageExcCount;

        @ApiModelProperty(value = "数据列表")
        private List<DetectionInfo> pageData;

    @Data
    class DetectionInfo {

        @ApiModelProperty(value = "空开唯一标识")
        private String channelCode;

        @ApiModelProperty(value = "对接设备添加设备后返回的设备ID，即设备的入参userChannelCode(对应air_switch中的DEV_ID_FROM_DEVICE)，只在网关下唯一，全局不唯一")
        private String devIdFromDevice;

        @ApiModelProperty(value = "对接PAAS添加通道后返回的通道ID(对应air_switch中的CHANNEL_ID_FROM_PAAS)")
        private String channelIdFromPAAS;

        @ApiModelProperty(value = "空开名称")
        private String name;

        @ApiModelProperty(value = "空开所属组织编码")
        private String ownerCode;

        @ApiModelProperty(value = "空开所属组织名称")
        private String ownerName;

        @ApiModelProperty(value = "空开所属网关编号")
        private String gatewayCode;

        @ApiModelProperty(value = "空开所属网关名称")
        private String gatewayName;

        @ApiModelProperty(value = "空开开关状态，1表示分闸，0表示合闸")
        private Integer type;

        @ApiModelProperty(value = "空开所处在离线状态，1表示离线，0表示在线，2表示异常")
        private Integer state;

        @ApiModelProperty(value = "A项电压，若不存在该项属性，返回-1")
        private Double avoltage;

        @ApiModelProperty(value = "B项电压，若不存在该项属性，返回-1")
        private Double bvoltage;

        @ApiModelProperty(value = "C项电压，若不存在该项属性，返回-1")
        private Double cvoltage;

        @ApiModelProperty(value = "A项电流，若不存在该项属性，返回-1")
        private Double aelectricCurrent;

        @ApiModelProperty(value = "B项电流，若不存在该项属性，返回-1")
        private Double belectricCurrent;

        @ApiModelProperty(value = "C项电流，若不存在该项属性，返回-1")
        private Double celectricCurrent;

        @ApiModelProperty(value = "A项功率，若不存在该项属性，返回-1")
        private Double apower;

        @ApiModelProperty(value = "B项功率，若不存在该项属性，返回-1")
        private Double bpower;

        @ApiModelProperty(value = "C项功率，若不存在该项属性，返回-1")
        private Double cpower;

        @ApiModelProperty(value = "A项温度，若不存在该项属性，返回-1")
        private Double atemperature;

        @ApiModelProperty(value = "B项温度，若不存在该项属性，返回-1")
        private Double btemperature;

        @ApiModelProperty(value = "C项温度，若不存在该项属性，返回-1")
        private Double ctemperature;

        @ApiModelProperty(value = "漏电量，若不存在该项属性，返回-1")
        private Double leakage;

        @ApiModelProperty(value = "零线温度，若不存在该项属性，返回-1")
        private Double zeroTemperature;

        @ApiModelProperty(value = "电量数据")
        private String electricityNum;

        @ApiModelProperty(value = "数据更新时间")
        private String time;

        @ApiModelProperty(value = "异常类型")
        private List<String> exceptionType;

        @ApiModelProperty(value = "全部信息数量")
        private Integer allInfoCount;

        @ApiModelProperty(value = "全部异常信息数量")
        private Integer allExceptionCount;

        @ApiModelProperty(value = "电压异常信息数量")
        private Integer voltageExcCount;

        @ApiModelProperty(value = "电流异常信息数量")
        private Integer currentExcCount;

        @ApiModelProperty(value = "功率异常信息数量")
        private Integer powerExcCount;

        @ApiModelProperty(value = "温度异常信息数量")
        private Integer tempExcCount;

        @ApiModelProperty(value = "漏电异常信息数量")
        private Integer leakageExcCount;
    }
}
