package com.huatek.busi.entity;

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

import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import com.huatek.torch.sql.annotation.FieldName;
import com.huatek.torch.sql.annotation.TableName;
import com.huatek.torch.sql.beans.Pojo;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * IEC104-业务点表配置表 entity
 *
 * @author anker_cheng
 * @date Aug 27, 2019 2:15:34 PM
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("iec_points_conf")
public class IecPointsConf extends Pojo implements Serializable  {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @FieldName("id")
    private String id;

    /**
     * 站点ID
     */
    @FieldName("site_id")
    private String siteId;

    /**
     * 主设备类型
     */
    @FieldName("main_equipment_type")
    private String mainEquipmentType;

    /**
     * 关联busi_site_tree.id
     */
    @FieldName("site_tree_id")
    private String siteTreeId;

    /**
     * 监测装置类型
     */
    @FieldName("sub_equipment_type")
    private String subEquipmentType;

    /**
     *  关联busi_site_sub_tree.id
     */
    @FieldName("sub_tree_id")
    private String subTreeId;

    /**
     * sensor_id
     */
    @FieldName("sensor_id")
    private String sensorId;

    /**
     * sensor编码
     */
    @FieldName("sensor_code")
    private String sensorCode;

    /**
     * 装置类别
     */
    @FieldName("gtype")
    private String gtype;

    @FieldName("tablename")
    private String tablename;

    /**
     * 地址类型 1:遥信 2:遥测
     */
    @FieldName("stype")
    private String stype;

    /**
     * 信息体地址
     */
    @FieldName("sadr")
    private BigDecimal sadr;

    /**
     * 地址索引，每个地址类型的索引由1开始自动增1,目前无用,仅为了某个地址类型的个数显示。
     */
    @FieldName("sno")
    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负荷

     */
    @FieldName("isget")
    private String isget;

    /**
     * 状态：0-无效 1-正常
     */
    @FieldName("state")
    private String state;

    /**
     * 绑定字段
     */
    @FieldName("filed")
    private String filed;

    /**
     * 绑定字段描述
     */
    @FieldName("filed_desc")
    private String filedDesc;

    /**
     * 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(转/分钟)
     */
    @FieldName("unit")
    private String unit;

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

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

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

    /**
     * 对应阈值表中的阈值字段名称
     */
    @FieldName("thresholdfield")
    private String thresholdfield;

    /**
     * 描述
     */
    @FieldName("desct")
    private String desct;

    /**
     * 创建日期
     */
    @FieldName("d_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dTime;
}