package com.hotwj.platform.securityManagement.hiddenDanger.domain.bo;

import com.hotwj.platform.securityManagement.hiddenDanger.domain.HotHiddenDanger;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

/**
 * 隐患治理业务对象 hot_hidden_danger
 *
 * @author shihongwei
 * @date 2026-01-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = HotHiddenDanger.class, reverseConvertGenerate = false)
public class HotHiddenDangerBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = {EditGroup.class})
    private Long id;

    /**
     * 公司ID
     */
    @NotNull(message = "公司ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long companyId;

    /**
     * 隐患编号
     */
    private String dangerNo;

    /**
     * 隐患简称
     */
    private String dangerName;

    /**
     * 隐患来源类型：1=公司 2=车辆 3=人员
     */
    private Long sourceType;

    /**
     * 来源对象名称（如车牌号、姓名、企业名称）
     */
    private String sourceName;

    /**
     * 数据来源：1.隐患排查 2.车辆三检
     */
    private Long dataSource;

    /**
     * 来源对象ID（关联隐患项目id或者车辆三检id）
     */
    private String sourceId;

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

    /**
     * 排查日期/审核时间
     */
    private Date checkTime;

	/**
	 * 排查人/审核员ID
	 */
	private String checkerId;
	
    /**
     * 排查人/审核员姓名
     */
    private String checkerName;

    /**
     * 隐患附件/二维码URL（逗号分隔）
     */
    private String evidenceUrls;

    /**
     * 评估人签字
     */
    private String evaluatorSign;

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

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

    /**
     * 评估时间
     */
    private Date evalTime;

    /**
     * 风险评估（可能性）
     */
    private String riskAssessLike;

    /**
     * 风险评估（严重程度）
     */
    private String riskAssessDegree;

    /**
     * 风险评估项目
     */
    private String riskProject;

    /**
     * 风险评估等级
     */
    private String riskLevel;

    /**
     * 可能导致的后果
     */
    private Long likeResult;

    /**
     * 评估过程
     */
    private String evalProcess;

    /**
     * 治理要求（可行性及要求）
     */
    private String governRequire;

    /**
     * 治理人id
     */
    private Long governPersonId;

    /**
     * 治理人姓名
     */
    private String governPersonName;

    /**
     * 治理期限（完成时间）
     */
    private Date governDeadline;

    /**
     * 资金来源
     */
    private String fundSource;

    /**
     * 治理责任人签字
     */
    private String governPersonSign;

    /**
     * 治理方案
     */
    private String governPlan;

    /**
     * 治理结果
     */
    private String governResult;

    /**
     * 治理相关附件URL
     */
    private String governAttachUrls;

    /**
     * 治理照片URL（治理前/后）
     */
    private String governPhotoUrls;

    /**
     * 复查人id
     */
    private Long reviewerId;

    /**
     * 复查人姓名
     */
    private String reviewerName;

    /**
     * 复查人签字
     */
    private String reviewSign;

    /**
     * 复查日期
     */
    private Date reviewTime;

    /**
     * 复查是否合格：1=合格 0=不合格
     */
    private Long isQualified;

    /**
     * 复查结论
     */
    private String reviewConclusion;

    /**
     * 状态：0=评估 1=治理 2=复查 3=完结
     */
    private Long status;

    /**
     * 备注
     */
    private String remark;

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

    /**
     * 治理人签字时间
     */
    private String governPersonSignTime;

    /**
     * 复查人签字时间
     */
    private String reviewSignTime;

    /**
     * 流程任务ID
     */
    private String taskId;

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

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