package com.huatek.busi.vo;

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

import com.huatek.torch.sql.annotation.FieldName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * IEC104-业务点表配置表 Vo
 *
 * @author anker_cheng
 * @date Aug 27, 2019 2:15:53 PM
 */
@ApiModel(value = "IecPointsConfVo", description = "IEC104-业务点表配置表 Vo")
@Data
@EqualsAndHashCode(callSuper = false)
public class IecPointsConfVo implements Serializable {

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 关联busi_site_tree.id
     */
    @ApiModelProperty(name = "siteTreeId", value = "关联busi_site_tree.id")
    private String siteTreeId;

    @ApiModelProperty(name = "equipmentName", value = "设备名称")
    private String equipmentName;

    @ApiModelProperty(name = "systemCode", value = "系统编码")
    private String systemCode;

    @ApiModelProperty(name = "mainEquipmentType", value = "主设备类型(变压器：111，GIS：211，发电机：611)")
    private String mainEquipmentType;

    @ApiModelProperty(name = "subTreeId", value = "子树id")
    private String subTreeId;

    @ApiModelProperty(name = "subEquipmentName", value = "子树名称")
    private String subEquipmentName;

    @ApiModelProperty(name = "subEquipmentType", value = "子设备类型")
    private String subEquipmentType;

    @ApiModelProperty(name = "sensorId", value = "传感器id")
    private String sensorId;

    @ApiModelProperty(name = "sensorCode", value = "传感器编码")
    private String sensorCode;

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

    @ApiModelProperty(name = "gtype", value = "装置类别")
    private String gtype;

    @ApiModelProperty(name = "amplDesc", value = "装置类别")
    private String amplDesc;

    @ApiModelProperty(name = "filed", value = "绑定字段")
    private String filed;

    @ApiModelProperty(name = "filedDesc", value = "绑定字段描述")
    private String filedDesc;

    /**
     * 地址类型 1:遥信 2:遥测
     */
    @ApiModelProperty(name = "stype", value = "地址类型 1:遥信 2:遥测")
    private String stype;

    /**
     * 信息体地址
     */
    @ApiModelProperty(name = "sadr", value = "信息体地址")
    private BigDecimal sadr;

    /**
     * 地址索引，每个地址类型的索引由1开始自动增1,目前无用,仅为了某个地址类型的个数显示。
     */
    @ApiModelProperty(name = "sno", value = "地址索引，每个地址类型的索引由1开始自动增1,目前无用,仅为了某个地址类型的个数显示。")
    private BigDecimal sno;

    /**
     * 字段提取，保存至原始数据表 1:冷却水进口压力 2:冷却水出口压力 3:冷却水进口温度 4:冷却水出口温度 5:油泵进口油温
     * 
     * 6:油泵出口油温
     * 
     * 7:高压侧上层油温 8:主变绕组温度 9:主变本体油位 10:主变油枕油位 11:主变高/低压出口电压 12:主变高/低压出口电流 13:机组出口相电压 14:机组出口相电流 15:GIS电缆电压 16:GIS电缆电流
     * 17:机组电气事故 18:变压器负荷 19: GIS负荷
     * 
     */
    @ApiModelProperty(name = "isget", value = "")
    private String isget;

    /**
     * 状态：0-无效 1-正常
     */
    @ApiModelProperty(name = "state", value = "状态：0-无效 1-正常")
    private String state;

    /**
     * 0: 无效，站点单位, stype=1时为空； 1:kV(千伏) 2:V(伏) 3:kA(千安) 4:A(安) 5:mA(毫安) 6:℃(度) 7:Pa(帕) 8:KPa(千帕) 9:MPa(兆帕) 10:pF(皮法)
     * 11:pC(皮库仑) 12:dB(分贝) 13:μL(微升) 14:L(升) 15:m/s(米/秒) 16:rpm&r/min(转/分钟)
     */
    @ApiModelProperty(name = "unit", value = "")
    private String unit;

    /**
     * 0: 无效，暂留未用，指运行评测表中的字段值单位，系统定义单位,参见字段unit的定义
     */
    @ApiModelProperty(name = "sysunit", value = "0: 无效，暂留未用，指运行评测表中的字段值单位，系统定义单位,参见字段unit的定义")
    private String sysunit;

    /**
     * 0:无效,保存评测分析表，新数据在±预设值时,保存该原始数据到评测分析表
     */
    @ApiModelProperty(name = "devrate", value = "0:无效,保存评测分析表，新数据在±预设值时,保存该原始数据到评测分析表")
    private Float devrate;

    /**
     * 告警判别条件 1:>告警值时告警 2:<告警值时告警(压力)
     */
    @ApiModelProperty(name = "warnflag", value = "告警判别条件 1:>告警值时告警 2:<告警值时告警(压力)")
    private String warnflag;

    /**
     * 对应阈值表中的阈值字段名称
     */
    @ApiModelProperty(name = "thresholdfield", value = "对应阈值表中的阈值字段名称")
    private String thresholdfield;

    /**
     * 描述
     */
    @ApiModelProperty(name = "desct", value = "描述")
    private String desct;

    /**
     * 创建日期
     */
    @ApiModelProperty(name = "dTime", value = "创建日期")
    private LocalDateTime dTime;
}