package com.zksy.base.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zksy.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

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

/**
 * 报警清单对象 alarm_assign_list
 * 
 * @author zksy
 * @date 2026-05-06
 */
@Data
@ApiModel(value = "报警清单入参", description = "报警清单入参")
public class AlarmAssignList implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 报警清单ID */
    @TableId(type = IdType.ASSIGN_ID)
    @Excel(name = "报警清单ID")
    @ApiModelProperty(value = "报警清单ID", required = true)
    private Long alarmAssignId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @ApiModelProperty(value = "设备编码", required = true)
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty(value = "设备名称", required = true)
    private String deviceName;

    /** 设备厂商 */
    @Excel(name = "设备厂商")
    @ApiModelProperty(value = "设备厂商", required = false)
    private String manufacturer;

    /** 设备报警状态：(0-正常，1-报警) */
    @Excel(name = "设备报警状态：(0-正常，1-报警)")
    @ApiModelProperty(value = "设备报警状态：(0-正常，1-报警)", required = true)
    private Integer alarmStatus;

    /** 隐患类型 */
    @Excel(name = "隐患类型")
    @ApiModelProperty(value = "隐患类型", required = true)
    private String hiddenDangerType;

    /** 隐患描述 */
    @ApiModelProperty(value = "隐患描述", required = true)
    private String hiddenDangerRemark;

    /** 报警时间 */
    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "报警时间", required = true)
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date alarmTime;

    /** 处理状态：0-未处理 1-已处理 */
    @Excel(name = "处理状态：0-未处理 1-已处理")
    @ApiModelProperty(value = "处理状态：0-未处理 1-已处理", required = true)
    private Integer assignStatus;

    /** 派发时间 */
    @ApiModelProperty(value = "派发时间", required = false)
    @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date assignTime;

    /** 派发人 */
    @ApiModelProperty(value = "派发人", required = false)
    private Long assignUserId;

    /** 派发备注 */
    @ApiModelProperty(value = "派发备注", required = false)
    private String assignRemark;
}
