package org.springblade.modules.nh.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;

import java.util.Date;

/**
 * 设备告警信息表 实体类
 *
 * @author AlexWang
 * @since 2024-06-03
 */
@Data
@TableName("nh_alarm_info")
@Schema(description = "AlarmInfo对象")
public class AlarmInfoEntity extends BaseEntity {

	/**
	 * 故障唯一标识,爱士唯独有
	 */
	@Schema(description = "故障唯一标识,爱士唯独有")
	private String idCode;
	/**
	 * 设备序列号
	 */
	@Schema(description = "设备序列号")
	private String sn;
	/**
	 * 设备名称
	 */
	@Schema(description = "设备名称")
	private String deviceName;
	/**
	 * 设备类型
	 */
	@Schema(description = "设备类型")
	private String deviceType;
	/**
	 *
	 */
	@Schema(description = "")
	private Long stationId;
	/**
	 * 内部电站id
	 */
	@Schema(description = "内部电站id")
	private String innerStationId;
	/**
	 * 外部电站id
	 */
	@Schema(description = "外部电站id")
	private String outStationId;
	/**
	 * 电站名称:业主姓名+安装容量+电站编码
	 */
	@Schema(description = "电站名称:业主姓名+安装容量+电站编码")
	private String stationName;
	/**
	 * 告警类型:1故障、2告警、3提示、4建议 level
	 */
	@Schema(description = "告警类型:1故障、2告警、3提示、4建议 level")
	private String type;
	/**
	 * 故障码
	 */
	@Schema(description = "故障码")
	private String malfunctionCode;
	/**
	 * 故障来源:0.锦浪
	 */
	@Schema(description = "故障来源:0.锦浪")
	private String source;
	/**
	 * 告警名称(故障信息)
	 */
	@Schema(description = "告警名称(故障信息)")
	private String alarmName;
	/**
	 * 设备型号
	 */
	@Schema(description = "设备型号")
	private String model;
	/**
	 * 告警时间（告警开始时间）
	 */
	@Schema(description = "告警时间（告警开始时间）")
	private Date startTime;

	/**
	 * 恢复时间
	 */
	@Schema(description = "恢复时间")
	private Date endTime;
	/**
	 * 报警开始时间戳
	 */
	@Schema(description = "报警开始时间戳")
	private Long startTimeTsp;
	/**
	 * 申报时间
	 */
	@Schema(description = "申报时间")
	private Date declareTime;
	/**
	 * 申报人姓名
	 */
	@Schema(description = "申报人姓名")
	private String declareName;
	/**
	 * 申报人userId
	 */
	@Schema(description = "申报人userId")
	private String declareBy;
	/**
	 * 处理时间
	 */
	@Schema(description = "处理时间")
	private Date dealTime;
	/**
	 * 故障详细
	 */
	@Schema(description = "故障详细")
	private String faultDetail;
	/**
	 * 处理意见
	 */
	@Schema(description = "处理意见")
	private String solution;
	/**
	 * 修复建议
	 */
	@Schema(description = "修复建议")
	private String suggestion;
	/**
	 * 关闭状态 1未关闭 2已关闭
	 */
	@Schema(description = "关闭状态 1未关闭 2已关闭")
	private String closeStatus;
}
