package com.ho.business.entity;


import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName device
 */
@Data
public class Device implements Serializable {
    /**
     * 
     */
    @ApiModelProperty(value = "id")
    private Integer id;
    /**
     * src_id
     */
    @ApiModelProperty(value = "src_id")
    private Integer srcId;

    @ApiModelProperty(value = "pid")
    private Integer pid;

    @ApiModelProperty(value = "类别")
    private Integer category;

    /**
     * 分组id
     */
    @ApiModelProperty(value = "分组id")
    private Integer groupId;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    /**
     * 电站id
     */
    @ApiModelProperty(value = "电站id")
    private Integer stationId;

    /**
     * 设备名字
     */
    @ApiModelProperty(value = "设备名字")
    private String deviceName;

    /**
     * 设备名字-英文
     */
    @ApiModelProperty(value = "设备名字-英文")
    private String deviceNameEn;

    @ApiModelProperty(value = "设备名字-法语")
    private String deviceNameFra;

    @ApiModelProperty(value = "设备名字-西班牙语")
    private String deviceNameSpa;

    @ApiModelProperty(value = "设备名字-德语")
    private String deviceNameDe;

    @ApiModelProperty(value = "设备名字-波兰语")
    private String deviceNamePl;

    @ApiModelProperty(value = "设备名字-阿拉伯语")
    private String deviceNameAra;

    @ApiModelProperty(value = "设备类型")
    private String deviceType;

    /**
     * 厂家名称
     */
    @ApiModelProperty(value = "厂家名称")
    private String producer;

    @ApiModelProperty(value = "地址")
    private String address;

    /**
     * SN码
     */
    @ApiModelProperty(value = "SN码")
    private String serialNo;

    /**
     *状态码
     */
    @ApiModelProperty(value = "状态码(0,1,2前端展示为设备离线|3,4,5,6前端展示为设备在线)(0: 未知 1：正在连接 2：连接超时 3：连接保持 4：开始升级 5：正在升级 6：升级完成)")
    private Integer status;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    //设备扩展属性
    private JSONObject deviceJson;

    @ApiModelProperty(value = "1:虚拟设备, 0:真实设备, 默认0")
    private Integer virtual;

    @ApiModelProperty(value = "真实设备的src_id")
    private Integer fromId;

    /**
     * 需要过滤电站，间隔，接入点标志位
     */
    private Integer needFilter;

    //是否隐藏 1 隐藏 0 不隐藏 默认0
    private Integer hide;

    @ApiModelProperty(value = "电流流向（1正充负放，2正放负充）")
    private Integer flowDirection;

    @ApiModelProperty(value = "厂家设备型号")
    private String producerType;

    @ApiModelProperty(value = "上送的电量单位类型")
    private Integer unitType;

    //非数据库字段，用来过滤上送的电量单位类型为MWh以及以上类型
    private Integer isFilterUnitType;
}