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;

@Data
@TableName("fire_parameters_tag")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "火灾参数信息")
public class FireParametersTag extends Model<FireParametersTag> {

    private static final long serialVersionUID = 1L;
    /**
     * 工艺参数主键
     */
    @TableId
    @ApiModelProperty(value="工艺参数主键")
    private Integer id;

    /**
     * 原始id
     */
    @ApiModelProperty(value="原始id")
    @Validation(message = "fire_parameters_tag表{id}不能为空")
    private String originId;

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

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

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

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


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

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

    /**
     * 单位
     */
    @ApiModelProperty(value="单位")
    @Validation(message = "fire_parameters_tag表{unit}不能为空")
    private String unit;

    @ApiModelProperty(value="点位状态 0启用 1停用")
    private String status;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createDate;

    /**
     * 创建人姓名
     */
    @ApiModelProperty(value="创建人姓名")
    private String createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value="修改时间")
    private LocalDateTime updateDate;

    /**
     * 修改人
     */
    @ApiModelProperty(value="修改人")
    private String updateBy;

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

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

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

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