package com.huatek.busi.vo.cable;

import com.huatek.busi.common.annotation.ExcelAnnotation;
import com.huatek.busi.vo.BusiSubInfoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 电缆环流
 *
 * @author Bobi_huo
 * @date 2020-09-10 10:32
 */
@ApiModel(value = "BusiCableCirculationVo", description = "电缆环流 Vo")
@Data
@EqualsAndHashCode(callSuper = false)
public class BusiCableCirculationVo extends BusiSubInfoVo implements Serializable {

    private static final long serialVersionUID = 1783921223215564802L;

    /**
     * 序号
     */
    @ExcelAnnotation(exportName = "序号")
    @ApiModelProperty(name = "serialNumber", value = "序号")
    private String serialNumber;

    /**
     * 主键id
     */
    @ApiModelProperty(name = "id", value = "主键ID")
    private String id;

    /**
     * CAC 的唯一标识（17 位码）
     */
    @ApiModelProperty(name = "cacId", value = "CAC 的唯一标识（17 位码）")
    private String cacId;

    /**
     * 监测数据组的数目
     */
    @ApiModelProperty(name = "dataNodeNum", value = "监测数据组的数目")
    private BigDecimal dataNodeNum;

    /**
     * 在线监测装置的唯一标识（17 位码）
     */
    @ExcelAnnotation(exportName = "传感器编号")
    @ApiModelProperty(name = "sensorId", value = "在线监测装置的唯一标识（17 位码）")
    private String sensorId;

    /**
     * 监测类型编码
     */
    @ExcelAnnotation(exportName = "监测类型编码")
    @ApiModelProperty(name = "cacMonitorTypeCode", value = "监测类型编码")
    private String cacMonitorTypeCode;

    /**
     * 在线监测装置对应的被监测设备的 唯一标识（17 位码）
     */
    @ApiModelProperty(name = "equipmentId", value = "在线监测装置对应的被监测设备的 唯一标识（17 位码）")
    private String equipmentId;

    /**
     * 数据采集时间
     */
    @ExcelAnnotation(exportName = "采集时间")
    @ApiModelProperty(name = "timeStamp", value = "数据采集时间，格式为：yyyy-MM-dd HH:mm:ss")
    private LocalDateTime timeStamp;

    /**
     * 站点ID
     */
    @ApiModelProperty(name = "siteId", value = "站点ID")
    private String siteId;

    /**
     * 被监测设备相别
     */
//    @ExcelAnnotation(exportName = "被监测设备相别")
//    @ApiModelProperty(name = "phase", value = "被监测设备相别")
//    private String phase;

    /**
     * 电流（mA）
     */
    @ExcelAnnotation(exportName = "电流（mA）")
    @ApiModelProperty(name = "totalCoreCurrent", value = "电流（mA）")
    private String totalCoreCurrent;

    /**
     * 主设备ID
     */
    @ApiModelProperty(name = "mainEquipmentId", value = "主设备ID")
    private String mainEquipmentId;

    /**
     * 外挂设备ID
     */
    @ApiModelProperty(name = "subEquipmentId", value = "外挂设备ID")
    private String subEquipmentId;

    /**
     * 主设备编号
     */
    @ExcelAnnotation(exportName = "设备编码")
    @ApiModelProperty(name = "equipmentCode", value = "主设备编号")
    private String equipmentCode;

    /**
     * 主设备名称
     */
//    @ExcelAnnotation(exportName = "设备名称")
//    @ApiModelProperty(name = "equipmentName", value = "设备名称")
//    private String equipmentName;

    /**
     * 外挂设备编号
     */
    @ApiModelProperty(name = "extEquipmentCode", value = "外挂设备编号")
    private String extEquipmentCode;

    /**
     * 站点设备树ID
     */
    @ApiModelProperty(name = "mainTreeId", value = "站点设备树ID")
    private String mainTreeId;

    /**
     * 外挂设备树ID
     */
    @ApiModelProperty(name = "subTreeId", value = "外挂设备树ID")
    private String subTreeId;

    /**
     * 设备运行状态：0-无  1-发电  2-抽水  3-空闲
     */
    @ExcelAnnotation(exportName = "设备运行状态")
    @ApiModelProperty(name = "runState", value = "设备运行状态")
    private String runState;

    /**
     * 状态：2-删除，1-正常
     */
    @ApiModelProperty(name = "status", value = "状态")
    private String status;

    /**
     * hbase中的rowkey
     */
    @ApiModelProperty(name = "hbaseRowkey", value = "hbase中的rowkey")
    private String hbaseRowkey;

    @ApiModelProperty(name = "alarmValue", value = "报警值")
    private String alarmValue;

    @ApiModelProperty(name = "thresholdValue", value = "阈值")
    private String thresholdValue;

    @ApiModelProperty(name = "warningValue", value = "预警值")
    private String warningValue;

    @ApiModelProperty(name = "increaseRate", value = "增长率（%）")
    private String increaseRate;

    @ApiModelProperty(name = "collectValue", value = "采集数据")
    private String collectValue;
}
