package com.huatek.busi.vo;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.Map;

import org.springframework.format.annotation.DateTimeFormat;

import com.huatek.torch.sql.annotation.FieldName;
import com.huatek.torch.sql.beans.PageBean;

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

/**
 * @ClassName: BusiSensorVo
 * @FullClassPath: com.huatek.busi.vo.BusiSensorVo
 * @Description: TODO
 * @author: Arno
 * @date: Jul 18, 2019 3:24:05 PM
 * @version: 1.0
 */

@ApiModel(value = "BusiSensorVo", description = "传感器", parent = PageBean.class)
@Data
@EqualsAndHashCode(callSuper = false)
public class BusiSensorVo implements Serializable {
    private static final long serialVersionUID = 1L;

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

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

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

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

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

    @ApiModelProperty(value = "主设备名", name = "mainEquipmentName")
    private String mainEquipmentName;

    
    @ApiModelProperty(value = "外挂装置信息ID", name = "externalEquipment")
    private String externalEquipment;

    @ApiModelProperty(value = "外挂装置名", name = "subEquipmentName")
    private String subEquipmentName;

    /**
     * 传感器系统编码
     */
    @ApiModelProperty(value = "传感器系统编码d", name = "sensorCode")
    private String sensorCode;

    /**
     * 传感器名称
     */
    @ApiModelProperty(value = "传感器名称", name = "sensorName")
    private String sensorName;

    /**
     * 传感器标牌
     */
    @ApiModelProperty(value = "传感器标牌", name = "sensorBrand")
    private String sensorBrand;

    /**
     * 安装位置 O：全相 1:A相 2:B 相 3:C相
     */
    @ApiModelProperty(value = "安装位置 ", name = "position")
    private String position;

    /**
     * 安装位置描述
     */
    @ApiModelProperty(value = "安装位置描述", name = "positionDes")
    private String positionDes;

    /**
     * 生产厂家
     */
    @ApiModelProperty(value = "生产厂家", name = "manufactor")
    private String manufactor;

    /**
     * 设备生产时间
     */
    @ApiModelProperty(value = "设备生产时间", name = "productionDate")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate productionDate;

    /**
     * 设备投运时间
     */
    @ApiModelProperty(value = " 设备投运时间", name = "useDate")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate useDate;

    /**
     * 大类
     */
    @ApiModelProperty(value = "外挂装置类型", name = "equipmentType")
    private String equipmentType;

    @ApiModelProperty(value = "1：变压器 ; 2: GIS ; 3: 测温 ; 4：避雷器;  5：其他; 6: 发电机", name = "type")
    private String type;

    /** SF6监测部位 */
    @FieldName("monitor_site")
    private String monitorSite;

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

    /**
     * 外增长率
     */
    @ApiModelProperty(value = "增长率", name = "growRate")
    private String growRate;

    /**
     * SF6标准压力
     */
    @ApiModelProperty(value = "SF6标准压力", name = "standardPressure")
    private String standardPressure;

    @ApiModelProperty(name = "stabilityList", value = "稳定性指标")
    private Map<String, Object> stabilityMap;
    
    
    /**
     * SF6标准压力
     */
    @ApiModelProperty(value = "局放量告警值", name = "pdValue")
    private String pdValue;
}