package com.huatek.busi.entity;

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

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;

/**
 * 变压器/电抗器——局部放电：021001、024001、027001 entity
 *
 * @author anker_cheng
 * @date Oct 25, 2019 2:48:40 PM
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("transformer_pd")
public class TransformerPd extends Pojo implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * CAC 的唯一标识（17 位码）
     */
    @FieldName("cac_id")
    private String cacId;

    /**
     * 监测数据组的数目
     */
    @FieldName("data_node_num")
    private BigDecimal dataNodeNum;

    /**
     * 在线监测装置的唯一标识（17 位码）
     */
    @FieldName("sensor_id")
    private String sensorId;

    /**
     * 监测类型编码{变压器：021001，GIS:024001,电缆：027001}
     */
    @FieldName("cac_monitor_type_code")
    private String cacMonitorTypeCode;

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

    /**
     * 数据采集时间，格式为：yyyy-MM-dd HH:mm:ss
     */
    @FieldName("time_stamp")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime timeStamp;

    /**
     * 主设备编号
     */
    @FieldName("equipment_code")
    private String equipmentCode;

    /**
     * 外挂设备编号
     */
    @FieldName("ext_equipment_code")
    private String extEquipmentCode;

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

    /**
     * 被监测设备相别
     */
    @FieldName("phase")
    private String phase;

    /**
     * 放电量，单位pC或mV 或dB
     */
    @FieldName("discharge_capacity")
    private String dischargeCapacity;

    /**
     * 放电位置
     */
    @FieldName("discharge_position")
    private String dischargePosition;

    /**
     * 脉冲个数
     */
    @FieldName("pulse_count")
    private String pulseCount;

    /**
     * 放电波形
     */
    @FieldName("discharge_waveform")
//    private byte[] dischargeWaveform;
    private String dischargeWaveform;
    /**
     * 主设备ID
     */
    @FieldName("main_equipment_id")
    private String mainEquipmentId;

    /**
     * 外挂设备ID
     */
    @FieldName("sub_equipment_id")
    private String subEquipmentId;

    /**
     * 站点设备树ID
     */
    @FieldName("main_tree_id")
    private String mainTreeId;

    /**
     * 外挂设备树ID
     */
    @FieldName("sub_tree_id")
    private String subTreeId;
    
    /**
     * hbase中的rowkey
     */
    @FieldName("hbase_rowkey")
    private String hbaseRowkey;
    
    /**
        * 放电类型
    * 0 正常；
       1 尖端放电；
       2 悬浮放电；
       3 沿面放电；
       4 内部放电；
       5 颗粒放电；
       6 外部干扰；
       7 其它
     */
    @FieldName("dsch_type")
    private String dschType;
    
    /**
     * 局部放电告警
     */
    @FieldName("pa_dsch_alm")
    private String paDschAlm;
}