package com.hotwj.platform.securityManagement.hiddenDangerInspection.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.io.Serial;
import java.util.Date;

/**
 * 隐患排查-排查项目对象 hot_hidden_danger_inspection
 *
 * @author shihongwei
 * @date 2025-12-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hot_hidden_danger_inspection")
public class HotHiddenDangerInspection extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 公司ID
     */
    private Long companyId;

    /**
     * 计划ID
     */
    private Long planId;

    /**
     * 排查项目
     */
    private String projectName;

    /**
     * 排查项目对应id 类型为1无
     */
    private String projectId;

    /**
     * 排查内容JSON
     */
    private String checkContentJson;

    /**
     * 隐患描述
     */
    private String dangerDesc;

    /**
     * 附件url
     */
    private String attachmentUrl;

    /**
     * 排查人ID
     */
    private String checkerId;

    /**
     * 排查人姓名
     */
    private String checkerName;

    /**
     * 排查日期
     */
    private Date checkDate;

    /**
     * 评估人id
     */
    private Long evaluatorId;

    /**
     * 评估人姓名
     */
    private String evaluatorName;

    /**
     * 审核人ID
     */
    private Long approverId;

    /**
     * 审核人姓名
     */
    private String approverName;

    /**
     * 进度状态 无异常:1=特处理、2=审核中、3=完结 有异常:4=特处理、5=审核中、6=评估、7=治理、8=复查、9=完结
     */
    private Long status;

    /**
     * 排查人签名图片url
     */
    private String signImgUrl;

    /**
     * 审核日期
     */
    private Date auditDate;

    /**
     * 审核结论
     */
    private String auditConclusion;

    /**
     * 审核人签名图片url
     */
    private String approverSignImgUrl;

    /**
     * 审核-是否存在隐患 0=否 1=是
     */
    private Long auditHasDanger;

    /**
     * 0=正常, 1=已删除
     */
    @TableLogic
    private Long isDeleted;

    /**
     * 排查类型（1=公司 2=车辆 3=人员）
     */
    private Long projectType;

    /**
     * 流程实例ID
     */
    private String instanceId;

    /**
     * 流程状态
     */
    private String flowStatus;

    /**
     * 提交版本号
     */
    private Long submitVersion;

    /**
     * 审核结果（PASS=通过 REJECT=驳回）
     */
    private String auditResult;

    /**
     * 驳回次数
     */
    private Long rejectCount;

    /**
     * 最近一次驳回原因
     */
    private String lastRejectReason;

    /**
     * 最近一次驳回时间
     */
    private Date lastRejectTime;

    /**
     * 最近一次驳回人ID
     */
    private Long lastRejectById;

    /**
     * 最近一次驳回人姓名
     */
    private String lastRejectByName;
}
