

package com.lutao.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.lutao.annotate.Validation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 感知监测信息
 *
 * @author guoyc
 * @date 2023-07-20 10:57:59
 */
@Data
@TableName("perception_monitor_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "感知监测信息")
public class PerceptionMonitorInfo extends Model<PerceptionMonitorInfo> {


    private static final long serialVersionUID = -1606268323419594804L;

    /**
     * 表名
     */
    public static final String TABLE_NAME = "perception_monitor_info";

    /**
     * 主键
     */
    @TableId
    @ApiModelProperty(value="主键")
    private Integer id;

    /**
     * 应用id
     */
    @ApiModelProperty(value="应用id")
    private String appId;

    /**
     * 平台编码
     */
    @ApiModelProperty(value="平台编码")
    @Validation(message = "perception_monitor_info表{platform_code}不能为空")
    private String platformCode;

    /**
     * 平台名称
     */
    @ApiModelProperty(value="平台名称")
    private String platformName;

    /**
     * 系统平台id
     */
    @ApiModelProperty(value="系统平台id")
    private String pfId;

    /**
     * 平台id
     */
    @ApiModelProperty(value="平台id")
    private String platformId;

    /**
     * 设备id
     */
    @ApiModelProperty(value="设备id")
    private String equipId;

    /**
     * 设备位号
     */
    @ApiModelProperty(value="设备位号")
    private String equipCode;

    /**
     * 设备名称
     */
    @ApiModelProperty(value="设备名称")
    private String equipName;

    @ApiModelProperty(value="设施名称")
    private String facilityName;

    @ApiModelProperty(value = "设施编码")
    private String facilityCode;


    /**
     * 工艺参数id
     */
    @ApiModelProperty(value="工艺参数id")
    @Validation(message = "perception_monitor_info表{tag_id}不能为空")
    private String tagId;

    /**
     * 工艺参数编码
     */
    @ApiModelProperty(value="工艺参数编码")
    @Validation(message = "perception_monitor_info表{tag_code}不能为空")
    private String tagCode;

    /**
     * 工艺参数名称
     */
    @ApiModelProperty(value="工艺参数名称")
    @Validation(message = "perception_monitor_info表{tag_name}不能为空")
    private String tagName;

    /**
     * 报警值
     */
    @ApiModelProperty(value="报警值")
    @Validation(message = "perception_monitor_info表{rt_value}不能为空")
    private Double rtValue;

    /**
     * 采集时间
     */
    @ApiModelProperty(value="采集时间")
    @Validation(message = "perception_monitor_info表{collect_time}不能为空")
    private LocalDateTime collectTime;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value="最后更新时间")
    @Validation(message = "perception_monitor_info表{last_update_time}不能为空")
    private LocalDateTime lastUpdateTime;

    /**
     * 报警状态 0 报警；1 消警
     */
    @ApiModelProperty(value="报警状态 0 报警；1 消警")
    private String alarmState;

    /**
     * 报警类型 1 高报；2 高高报；3 低报；4 低低报；
     */
    @ApiModelProperty(value="报警类型 1 高报；2 高高报；3 低报；4 低低报；")
    private String alarmType;

    //参数类型 2温度 3压力 5液位
    @ApiModelProperty(value="参数类型 2温度 3压力 5液位")
    private String tagType;

    //单位
    @ApiModelProperty(value="单位")
    private String unit;

    //量程
    @ApiModelProperty(value="量程")
    private String limits;

    @ApiModelProperty(value = "数据收集时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "数据更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
