package com.njcn.device.pms.pojo.po;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author hongawen
 * @since 2022-10-14
 */
@Data
@TableName("pms_terminal")
public class PmsTerminal{

    private static final long serialVersionUID = 1L;

    /**
     * 终端编号
     */
    private String id;

    /**
     * 终端名称
     */
    private String name;

    /**
     * 组织机构名称
     */
    private String orgName;

    /**
     * 组织机构ID(外键)
     */
    private String orgId;

    /**
     * 运维单位名称
     */
    private String operationName;

    /**
     * 运维单位ID(外键)
     */
    private String operationId;

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

    /**
     * 所属电站ID(外键)
     */
    private String powerStationId;

    /**
     * 终端状态(字典)
     */
    private String terminalState;

    /**
     * 终端级别(字典)
     */
    private String terminalLevel;

    /**
     * 装置型号(字典)
     */
    private String deviceModel;


    /**
     * 装置类别(字典)
     */
    private String deviceCategory;

    /**
     * 生产厂家(字典)
     */
    private String manufacture;

    /**
     * 检定日期
     */
    private LocalDate verificationDate;

    /**
     * 投运日期
     */
    private LocalDate useDate;

    /**
     * 测量信号输入形式(字典)
     */
    private String inputType;

    /**
     * IP地址
     */
    private String ip;

    /**
     * 通信端口
     */
    private String port;

    /**
     * 是否是上送国网监测点,0-否 1-是
     */
    private Integer isUpToGrid;

    /**
     * 数据状态：0-删除；1-正常；
     */
    private Integer status;

    /**
     * 通讯状态（0：中断；1：正常）
     */
    private  Integer comFlag;

    /**
     * 中台终端编号
     */
    private  String terminalCode;


    /**
     * 创建用户
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime createTime;

    /**
     * 更新用户
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
