package com.ho.business.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ho.common.tools.constant.CommonConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * @TableName event
 */
@Data
public class Event implements Serializable {


    @ApiModelProperty(value = "id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "电站id")
    private Integer stationId;

    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    @ApiModelProperty(value = "分组id")
    private Integer groupId;

    @ApiModelProperty(value = "事件类型")
    private Integer eventType;

    @ApiModelProperty(value = "事件类型等级")
    private Integer eventLevel;


    @ApiModelProperty(value = "事件时间")
    @JsonFormat(pattern= CommonConstant.DATE_YMD_HMSS)
    private Date timeStamp;

    @ApiModelProperty(value = "事件设备")
    private Integer targetDevice;

    @ApiModelProperty(value = "关联device_type表的id")
    private Integer deviceTypeId;

    @ApiModelProperty(value = "事件信号")
    private String signal;

    @ApiModelProperty(value = "事件状态 1已确认 0 未确认")
    private Integer status;

    @ApiModelProperty(value = "事件值")
    private BigDecimal value;

    @ApiModelProperty(value = "事件描述")
    private String description;

    @ApiModelProperty(value = "1 已确认 0 未确认")
    private Integer confirmStatus;

    @ApiModelProperty(value = "确认人")
    private String confirmMan;


    @ApiModelProperty(value = "确认时间")
    @JsonFormat(pattern=CommonConstant.DATE)
    private Date confirmTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "处理建议")
    private String suggestion;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern=CommonConstant.DATE)
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
   @JsonFormat(pattern=CommonConstant.DATE)
    private Date updateTime;

    @ApiModelProperty(value = "类别")
    private Integer category;

    @ApiModelProperty(value = "类型")
    private Integer type;

    @ApiModelProperty(value = "子类型")
    private Integer subType;

}