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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 变电站二次设备中的智能仪表监控设备
 * </p>
 *
 * @author zhengsl
 * @since 2025-04-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("fk_meter_device")
public class MeterDevice implements Serializable {

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 所属系统：01-在线监测 02-消防系统 03-安防系统 04-动环系统 05-锁控系统 06-辅控系统 07-照明系统
     */
    private String systemcode;

    /**
     * 设备类型：01-温度传感器、02-湿度传感器、03-SF?传感器、04-水浸传感器、05-风速传感器、06-空调控制器、07-门禁、08-电子围栏、09-红外、10-火灾告警控制器、11-智能感温控制器、12-烟感探测器、13声光报警器、14-照明
     */
    private String deviceType;

    /**
     * 设备编号
     */
    private String deviceCode;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 中文描述
     */
    private String deviceDesc;

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

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

    /**
     * 出厂日期
     */
    private String productionDate;

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

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

    /**
     * 实物ID
     */
    private String phyassetId;

    /**
     * 区域标识
     */
    private String region;

    /**
     * 安装位置（预留）
     */
    private String place;

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

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

    /**
     * 对应网关设备IP
     */
    private String netdeviceIp;

    /**
     * 设备状态：00-停用  01-使用-在线  02-使用-不在线
     */
    private String status;

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

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

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

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

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


}
