package com.yfd.platform.modules.basedata.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * <p>
 * 变电站_巡视设备
 * </p>
 *
 *
 * @since 2023-03-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("iis_substation_patroldevice")
public class SubstationPatroldevice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 巡视设备ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String patroldeviceId;

    /**
     * 摄像机编号
     */
    private String patroldeviceCode;

    /**
     * 摄像机名称
     */
    private String patroldeviceName;

    /**
     * 变电站id
     */
    private String stationId;

    /**
     * 变电站名称
     */
    private String stationName;

    /**
     * 变电站编码
     */
    private String stationCode;

    /**
     * 区域id，可为空
     */
    private String areaId;

    /**
     * 区域名称，可为空
     */
    private String areaName;

    /**
     * 间隔id，可为空
     */
    //private String bayId;

    /**
     * 间隔名称，可为空
     */
    //private String bayName;

    /**
     * 设备型号
     */
    private String deviceModel;

    /**
     * 生产厂家
     */
    private String manufacturer;

    /**
     * 使用单位
     */
    private String useUnit;

    /**
     * 设备来源
     */
    private String deviceSource;

    /**
     * 生产日期
     */
    private String productionDate;

    /**
     * 出厂编号
     */
    private String productionCode;

    /**
     * 当设备类型为机器人时传递该字段<0>: = 不轮转<1>: = 轮转
     */
    private String istransport;

    /**
     * 当设备类型为摄像机时传递该字段<10>: = 枪机<11>: = 球机<12>: = 云台
     */
    private String useMode;

    /**
     * <1>: = 可见光<2>: = 红外<3>: = 可见光与红外
     */
    private String videoMode;

    /**
     * 视频设备的安装位置，其余种类的巡视设	            备传空值
     */
    private String place;

    /**
     * <1>: = 室外轮式机器人<2>: = 室内轮式机器人<3>: = 挂轨机器人<10>: = 摄像机<11>: = 硬盘录像机<12>: = 智能分析主机<13>: = 无人机<14>: = 声纹<15>: = 无人机机巢<20>: = 区域巡视主机<21>: = 边缘节点
     */
    private String type;

    /**
     * 用于描述巡视设备的文字信息
     */
    private String patroldeviceInfo;

    /**
     * 当视频设备为机器人上挂载的，存储机器	            人编码，否则为空
     */
    private String robotsCode;

    /**
     * 数据状态
     */
    private String datastatus;

    /**
     * 修改人
     */
    private String lastmodifier;

    /**
     * 最近修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lastmodifydate;



    /**
     * 以太网IP地址
     */
    private String ipaddr;

    /**
     * 以太网Mac地址
     */
    private String macaddr;

    /**
     * 默认0，不进行发送
     */
    private String heartBeatInterval;

    /**
     * 默认0，不进行发送
     */
    private String patroldeviceRunInterval;

    /**
     * 默认0，不进行发送
     */
    private String nestRunInterval;

    /**
     * 默认0，不进行发送
     */
    private String weatherInterval;


    /**
     * Json扩展的摄像头通道信息
     */
    private String channelinfo;


    /**
     * 默认null，不进行静默监视，字典项，多个识别类型值，"，"隔开
     */
    private String slienceType;

    /**
     * 静默监视配置参数[{type:"",frame_interval:"",alarm_frequency:""}]
     */
    private String slienceParams;

    /**
     * 守望预置位
     */
    private String preset;

    /**
     * 守望位回归时间，默认10，单位分钟
     */
    @TableField("presettime")
    private String presetTime;


    /**
     * 预置位变动时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime changepresettime;

    /**
     * 实物id，只能输入数字
     */
    @TableField("material_id")
    private String materialId;

    /**
     * 国际编码，只能输入数字
     */
    @TableField("internationalId")
    private String internationalId;

    /**
     * 生产国家
     */
    private String productionCountry;

    /**
     * 是否在线，1为在线，0为离线
     */
    private String online;

    /**
     * 摄像头rtsp 推流地址
     */
    private String rtspurl;


    /**
     * 是否任务执行中 0 - 否 1- 是
     */
    private String working;



    /**
     * 是否承担静默任务 0 - 否  1- 是
     */
    private String dailymonitor;

    /**
     * 备用1
     */
    private String custom1;

    /**
     * 备用2
     */
    private String custom2;

    /**
     * 备用3
     */
    private String custom3;

}
