package com.hotwj.platform.config.vehicleThreeInspect.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.config.vehicleThreeInspect.domain.HotVehicleThreeInspect;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

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


/**
 * 车辆三检视图对象 hot_vehicle_three_inspect
 *
 * @author shihongwei
 * @date 2025-12-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotVehicleThreeInspect.class)
public class HotVehicleThreeInspectVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 公司ID
     */
    @ExcelProperty(value = "公司ID")
    private Long companyId;

    /**
     * 车辆ID
     */
    @ExcelProperty(value = "车辆ID")
    private Long vehicleId;

    /**
     * 当前驾驶员ID
     */
    @ExcelProperty(value = "当前驾驶员ID")
    private String driverId;

    /**
     * 当前驾驶员姓名
     */
    @ExcelProperty(value = "当前驾驶员姓名")
    private String driverName;

    /**
     * 检查阶段 1=出车 2=行车 3=收车
     */
    @ExcelProperty(value = "检查阶段 1=出车 2=行车 3=收车")
    private Long inspectPhase;

    /**
     * 检查id
     */
    private Long inspectId;

    /**
     * 检查时间
     */
    @ExcelProperty(value = "检查时间")
    private Date inspectTime;

    /**
     * 审核人ID
     */
    @ExcelProperty(value = "审核人ID")
    private Long auditorId;

    /**
     * 审核人姓名
     */
    @ExcelProperty(value = "审核人姓名")
    private String auditorName;

    /**
     * 检查项目结果JSON
     */
    @ExcelProperty(value = "检查项目结果JSON")
    private String inspectResultJson;

    /**
     * 检查附件图片url
     */
    @ExcelProperty(value = "检查附件图片url")
    private String attachImgUrl;

    /**
     * 检查员签名图片url
     */
    @ExcelProperty(value = "检查员签名图片url")
    private String inspectorSignImgUrl;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;

    /**
     * 是否误报
     */
    @ExcelProperty(value = "是否误报")
    private Long isFalseReport;

    /**
     * 是否存在隐患 0=否, 1=是
     */
    @ExcelProperty(value = "是否存在隐患 0=否, 1=是")
    private Long hasHiddenDanger;

    /**
     * 审核时间
     */
    @ExcelProperty(value = "审核时间")
    private Date auditTime;

    /**
     * 审核结论
     */
    @ExcelProperty(value = "审核结论")
    private String auditResult;

    /**
     * 审核不通过原因
     */
    @ExcelProperty(value = "审核不通过原因")
    private String rejectReason;

    /**
     * 审核人员签名图片url
     */
    @ExcelProperty(value = "审核人员签名图片url")
    private String auditorSignImgUrl;

    /**
     * 流程实例ID
     */
    @ExcelProperty(value = "流程实例ID")
    private String instanceId;

    /**
     * 流程状态
     */
    @ExcelProperty(value = "流程状态")
    private String flowStatus;

    /**
     * 流程任务ID
     */
    @ExcelProperty(value = "流程任务ID")
    private String taskId;

    private Long evaluatorId;
}
