package com.tuoheng.admin.vo.accident;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tuoheng.admin.request.accident.AccidentRegion;
import com.tuoheng.common.core.common.BaseEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 事件对象
 *
 * @team tuoheng
 * @author wanjing
 * @date 2023-03-03
 */
@Data
public class AccidentVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 部门名称
     */
    private String deptName;

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

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

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

    /**
     * 航道id
     */
    private String channelId;

    /**
     * 航道编码
     */
    private String channelCode;

    /**
     * 航段ID
     */
    private String legId;

    /**
     * 航段名称
     */
    private String legName;

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

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

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

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

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

    /**
     * 来源：1:巡检任务产生; 2:应急任务产生; 3:手动添加
     */
    private Integer source;

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


    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 标记图
     */
    private String fileImage;

    /**
     * 缩略图
     */
    private String fileThumbnail;

    /**
     * 原图
     */
    private String fileOriginal;

    /**
     * 巡检任务状态 5任务待飞行 7飞行失败 10任务飞行中 15任务飞行完成
     */
    private Integer inspectionStatus;

    /**
     * 处理人
     */
    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;

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

    /**
     * 原任务，原视频回放地址
     */
    private String originalInspectionVideoUrl;

    /**
     * 原任务，AI识别后视频地址
     */
    private String originalInspectionAiVideoUrl;

    /**
     * 原任务，无人机拉流地址
     */
    private String originalInspectionPullUrl;

    /**
     * 原任务，AI拉流地址
     */
    private String originalInspectionAiPullUrl;

    /**
     * 应急任务，原视频地址
     */
    private String emergencyInspectionVideoUrl;

    /**
     * 应急任务，AI识别后视频地址
     */
    private String emergencyInspectionAiVideoUrl;

    /**
     * 应急任务，无人机拉流地址
     */
    private String emergencyInspectionPullUrl;

    /**
     * 应急任务，AI拉流地址
     */
    private String emergencyInspectionAiPullUrl;

    /**
     * 无人机前往类型：1：原无人机直接前往；2：新无人机前往；3：手动添加的应急事故，无人机前往；
     */
    private Integer droneForwardType;

    /**
     * 航线类型：1：点；2：线；3：面
     */
    private Integer lineType;

    /**
     *  事故区域
     */
    private List<AccidentRegion> accidentRegionList;

}
