package com.ruoyi.doubledefense.domain;

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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.GnhzBaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 隐患信息对象 tb_danger
 *
 * @author ruoyi
 * @date 2023-08-03
 */
@TableName("tb_danger")
@Data
public class Danger extends GnhzBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键UUID */
    @TableId(type = IdType.INPUT)
    private String id;


    /** 隐患编号(后台自动生成) */
    @ApiModelProperty("隐患编号(后台自动生成)")
    @Excel(name = "隐患编号")
    private String dangerNo;


    /** 设备UUID */
    @Excel(name = "设备UUID")
    private String deviceId;

    /** 排查记录ID */
    @Excel(name = "排查记录ID")
    private String checkRecordId;

    /** 隐患名称 */
    @Excel(name = "隐患名称")
    private String dangerName;

    /** 隐患描述 */
    @Excel(name = "隐患描述")
    private String dangerDesc;

    /** 隐患等级：0一般隐患，1重大隐患 */
    @Excel(name = "隐患等级：0一般隐患，1重大隐患")
    private Long dangerLevel;

    /** 登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date registTime;

    /** 所属区域ID */
    @Excel(name = "所属区域ID")
    private Long areaId;

    /** 隐患图片，多张以逗号分割 */
    @Excel(name = "隐患图片，多张以逗号分割")
    private String dangerImage;

    /** 隐患来源：1日常排查，2综合排查，3专业性排查，4季节性排查，5重点时段及节假日前排查，6事故类比排查，7复产复工前排查，8外聘专家诊断式排查，9管控措施失效，10其它 */
    @Excel(name = "隐患来源：1日常排查，2综合排查，3专业性排查，4季节性排查，5重点时段及节假日前排查，6事故类比排查，7复产复工前排查，8外聘专家诊断式排查，9管控措施失效，10其它")
    private String dangerSrc;

    /** 隐患类型：1安全，2工艺，3电气，4仪表，5消防，6总图，7设备，8其它 */
    @Excel(name = "隐患类型：1安全，2工艺，3电气，4仪表，5消防，6总图，7设备，8其它")
    private String hazardDangerType;

    /** 治理类型：0即查即改，1限期整改 */
    @Excel(name = "治理类型：0即查即改，1限期整改")
    private Long dangerManageType;

    /** 隐患状态：隐患状态：10审核中，20认领中，30整改中，40待验收，50已验收，60取消 */
    @Excel(name = "隐患状态：隐患状态：10审核中，20认领中，30整改中，40待验收，50已验收，60取消", readConverterExp = "即=查即改")
    private Integer dangerStatus;

//    @Excel(name = "验收拒绝原因")
//    private String rejectReason;

//    @Excel(name = "验收驳回人Id")
//    private Long rejectUserId;

    @Excel(name = "驳回人用户名")
    private String rejectUserName;

    /** 备注 */
    @Excel(name = "备注")
    private String remarkInfo;





}
