package com.njcn.device.pq.pojo.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 监测点数据完整性树状实体类
 * @author yzh
 * @date 2022/9/15
 */
@Data
@ApiModel(value = "监测点数据完整性树状实体类")
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class LineIntegrityDataVO implements Serializable {
    /**
     * 主键id
     */
    @ApiModelProperty(name = "id",value = "主键id")
    private String id;

    /**
     * 父id
     */
    @ApiModelProperty(name = "parentId",value = "父id")
    private String pid;

    /**
     * 等级
     */
    @ApiModelProperty(name = "level",value = "等级")
    private Integer level;

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

    /**
     * 排序
     */
    @ApiModelProperty(name = "sort",value = "排序")
    private Integer sort;

    /**
     * 终端厂家
     */
    @ApiModelProperty(name = "manufacturer",value = "终端厂家")
    private String manufacturer;

    /**
     * 全部父id字符串
     */
    @ApiModelProperty(name = "pids",value = "全部父id字符串")
    private String pids;

    @ApiModelProperty(name = "objId",value = "监测到对象id")
    private String objId;

    @ApiModelProperty(name = "powerFlag",value = "电网标志")
    private Integer powerFlag;


    /**
     * 设备通讯状态
     */
    @ApiModelProperty(name = "comFlag",value = "设备通讯状态")
    private Integer comFlag;



    /**
     * 最新数据时间
     */
    @ApiModelProperty(name = "updateTime",value = "最新数据时间")
    private String updateTime;

    /**
     * 供电站电压等级
     */
    @ApiModelProperty(name = "subScale",value = "供电站电压等级")
    private String subScale;

    /**
     * 监测点电压
     */
    @ApiModelProperty(name = "LineScale",value = "监测点电压")
    private String lineScale;

    /**
     * 终端名称
     */
    @ApiModelProperty(name = "deviceName",value = "终端名称")
    private String deviceName;

    /**
     * 网络参数
     */
    @ApiModelProperty(name = "ip",value = "网络参数")
    private String ip;

    /**
     * 终端等级
     */
    @ApiModelProperty(name = "lineGrade",value = "终端等级")
    private String lineGrade;

    private String lineGradeName;


    /**
     * 字段表监测点等级
     */
    @ApiModelProperty(name = "algoDescribe",value = "字段表监测点等级，0：极重要  1：重要  2：普通  3：不重要")
    private Integer algoDescribe;


    @ApiModelProperty(name = "devType",value = "终端型号")
    private String devType;

    @ApiModelProperty(name = "loadType",value = "干扰源类型")
    private String loadType;


    /**
     * 数据完整性
     */
    @ApiModelProperty(name = "integrityData",value = "数据完整性")
    private Double integrityData;

    /**
     * 实际时间
     */
    @ApiModelProperty(name = "realTime",value = "实际时间")
    private Integer realTime;

    /**
     * 期望时间
     */
    @ApiModelProperty(name = "dueTime",value = "期望时间")
    private Integer dueTime;

    /**
     * 监测点合格率
     */
    @ApiModelProperty(name = "LinePassRate",value = "监测点合格率  0：不合格  1：合格")
    private Integer valueOver;


    /**
     * 子节点集合
     */
    @ApiModelProperty(name = "children",value = "子节点集合")
    private List<LineIntegrityDataVO> children = new ArrayList<>();
}
