package com.tuoheng.admin.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tuoheng.common.core.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Author ChengWang
 * @Date 2023/3/2
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("th_accident")
public class Accident extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 租户id
     */
    private String tenantId;

    /**
     * 部门id
     */
    private String deptId;

    /**
     * 巡检任务id
     */
    private String inspectionId;

    /**
     * 巡检任务问题ID
     */
    private String inspectionFileId;

    /**
     * 应急任务ID
     */
    private String accidentInspectionId;

    /**
     * 公路id
     */
    private String roadId;

    /**
     * 公路编码
     */
    private String roadCode;

    /**
     * 路段ID
     */
    private String sectionId;

    /**
     * 路段名称
     */
    private String sectionName;

    /**
     * 问题ID
     */
    private String questionId;

    /**
     * 问题编码
     */
    private String questionCode;

    /**
     * 问题名称
     */
    private String questionName;

    /**
     * 是否有事故：0:无；1：有
     */
    private Integer isAccident;

    /**
     * 是否有伤亡：0:无；1：有
     */
    private Integer isCasualties;

    /**
     * 是否影响驾驶安全：0:无；1：有
     */
    private Integer isDrivingSafety;

    /**
     * 是否有明火：0:无；1：有
     */
    private Integer isFire;

    /**
     * 事故现场描述
     */
    private String record;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 无人机回仓：0未回仓；1：已回仓
     */
    private Integer uavReturn;

    /**
     * 事故状态：1未处理 2处理中 3已忽略 4已处理
     */
    private Integer status;

    /**
     *处理人
     */
    private String checkUser;

    /**
     * 处理时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;

    /**
     * 处理结果
     */
    private String checkResult;

    /**
     * 对应任务的应急类型
     */
    private Integer flag;

    /**
     * 核实时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date verificationTime;

    /**
     * 上报时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date reportTime;

    /**
     * 忽略时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date ignoreTime;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 无事故时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date noAccidentTime;

}
