package com.artfess.rescue.open.vo;

import com.artfess.rescue.open.dto.CameraInfoDTO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class RescueInfoVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键_ID")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "救援单据号")
    @TableField("RESCUE_NO_")
    private String rescueNo;

    @ApiModelProperty(value = "报案电话")
    @TableField("RESCUE_TEL_")
    private String rescueTel;

    @ApiModelProperty(value = "报案时间")
    @TableField("RESCUE_TIME_")
    private LocalDateTime rescueTime;

    @ApiModelProperty(value = "救援类型【字典】1：事故，2：故障")
    @TableField("RESCUE_TYPE_")
    private Integer rescueType;

    @ApiModelProperty(value = "现场情况【字典】（夜间，危险品，隧道内作业，交通事故）多选")
    @TableField("SCENE_INFO_")
    private String sceneInfo;

    @ApiModelProperty(value = "报案来源 【字典】")
    @TableField("RESCUE_SRC_")
    private Integer rescueSrc;

    @ApiModelProperty(value = "事件ID（来源事件）")
    @TableField("EVENT_ID_")
    private String eventId;

    @ApiModelProperty(value = "事件单号（来源事件）")
    @TableField("EVENT_NO_")
    private String eventNo;

    @ApiModelProperty(value = "所属路段(关联路段表ID)")
    @TableField("ROAD_ID_")
    private String roadId;

    @ApiModelProperty(value = "所属路段NAME")
    @TableField("ROAD_NAME_")
    private String roadName;

    @ApiModelProperty(value = "所属路段编码，")
    @TableField("ROAD_CODE_")
    private String roadCode;

    @ApiModelProperty(value = "方向（上，下）")
    @TableField("DIRECTION_")
    private String direction;

    @ApiModelProperty(value = "事件开始点位桩号全值")
    @TableField("PEG_VAL_")
    private String pegVal;

    @ApiModelProperty(value = "经度")
    @TableField("LNG_")
    private String lng;

    @ApiModelProperty(value = "纬度")
    @TableField("LAT_")
    private String lat;

    @ApiModelProperty(value = "开始的巡查站ID")
    @TableField("START_PATROL_ID_")
    private String startPatrolId;

    @ApiModelProperty(value = "开始的巡查站NAME")
    @TableField("START_PATROL_NAME_")
    private String startPatrolName;

    @ApiModelProperty(value = "结束的巡查站ID")
    @TableField("END_PATROL_ID_")
    private String endPatrolId;

    @ApiModelProperty(value = "结束的巡查站NAME")
    @TableField("END_PATROL_NAME_")
    private String endPatrolName;

    @ApiModelProperty(value = "占道情况，可多选（0：未占道，1：占用第一车道，2：占用第二车道，3：占用第三车道，4：占用第四车道）")
    @TableField("OCCUPY_")
    private String occupy;

    @ApiModelProperty(value = "事发天气")
    @TableField("WEATHER_")
    private String weather;

    @ApiModelProperty(value = "故障车牌")
    @TableField("CAR_CODE_")
    private String carCode;

    @ApiModelProperty(value = "故障车类（1：客车，2：货车）")
    @TableField("CAR_CLASS_")
    private Integer carClass;

    @ApiModelProperty(value = "故障车型（1：一类车，2：二类车，3：三类车，4：四类车）")
    @TableField("CAR_TYPE_")
    private Integer carType;

    @ApiModelProperty(value = "车货重量（KG）")
    @TableField("CAR_WEIGHT_")
    private Double carWeight;

    @ApiModelProperty(value = "车主姓名")
    @TableField("CAR_USER_")
    private String carUser;

    @ApiModelProperty(value = "车主电话")
    @TableField("CAR_USER_TEL_")
    private String carUserTel;

    @ApiModelProperty(value = "救援状态 (-1:草稿，0:未委派，1:待接单，2：进行中，3：中止，4：挂起，5：已完成，6：返空，7：取消，8：异常)")
    @TableField("RESCUE_STATUS_")
    private Integer rescueStatus;

    @ApiModelProperty(value = "派遣队伍ID(组织机构ID)")
    @TableField("TEAM_ID_")
    private String teamId;

    @ApiModelProperty(value = "派遣队伍名称")
    @TableField("TEAM_NAME_")
    private String teamName;

    @ApiModelProperty(value = "派遣时间")
    @TableField("DISPATCH_TIME_")
    private LocalDateTime dispatchTime;

    @TableLogic
    @ApiModelProperty(value = "是否已删，1已删除，0未删除")
    @TableField("IS_DELE_")
    private String isDele="0";

    @ApiModelProperty(value = "接单人员id")
    @TableField("ACCEPT_USER_ID_")
    private String acceptUserId;

    @ApiModelProperty(value = "工单ID-阳光救援同步的工单ID")
    @TableField("order_id_")
    private String orderId;

    @ApiModelProperty(value = "附件摄像头信息")
    private List<CameraInfoDTO> cameraInfos;
}
