package com.artfess.rescue.patrol.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Author: wsf
 * @Description: 事件信息DTO
 * @DateTime: 2024/12/10 10:48
 **/
@Data
public class EventInfoDTO {

    @ApiModelProperty(value = "事件单据号")
    private String eventNo;

    @ApiModelProperty(value = "事件报案电话")
    private String eventTel;

    @NotNull(message = "事件发生时间不能为空")
    private LocalDateTime eventTime;

    @ApiModelProperty(value = "事件类型【字典】")
    private String eventType;

    @ApiModelProperty(value = "事件来源【字典】")
    private String eventSrc;

    @ApiModelProperty(value = "巡查ID  （来源是巡检巡查的时候）")
    private String inspectId;

    @ApiModelProperty(value = "所属路段(关联路段表ID)")
    private String roadId;

    @ApiModelProperty(value = "所属路段NAME")
    private String roadName;

    @ApiModelProperty(value = "所属路段编码，")
    private String roadCode;

    @ApiModelProperty(value = "方向")
    private String direction;

    @ApiModelProperty(value = "事件开始点位桩号全值")
    private String pegSVal;

    @ApiModelProperty(value = "事件结束点位桩号全值")
    private String pegEVal;

    @ApiModelProperty(value = "经度")
    @TableField("LNG_")
    private String lng;

    @ApiModelProperty(value = "纬度")
    private String lat;

    @ApiModelProperty(value = "开始的巡查站ID")
    private String startPatrolId;

    @ApiModelProperty(value = "开始的巡查站NAME")
    private String startPatrolName;

    @ApiModelProperty(value = "结束的巡查站ID")
    private String endPatrolId;

    @ApiModelProperty(value = "结束的巡查站NAME")
    private String endPatrolName;

    @ApiModelProperty(value = "事件等级（1：1级，2：2级，3：3级，4：4级）")
    private Integer eventLevel;

    @ApiModelProperty(value = "滞留人员数量")
    private Integer holdupUserNum;

    @ApiModelProperty(value = "受伤人员数量")
    private Integer hurtUserNum;

    @ApiModelProperty(value = "死亡人员数量")
    private Integer deadUserNum;

    @ApiModelProperty(value = "损坏车辆数量")
    private Integer brokenCarNum;

    @ApiModelProperty(value = "滞留车辆数量")
    private Integer holdupCarNum;

    @ApiModelProperty(value = "拥堵里程")
    private Double blockLength;

    @ApiModelProperty(value = "路产损失")
    private BigDecimal loss;

    @ApiModelProperty(value = "肇事方")
    private String cause;

    @ApiModelProperty(value = "肇事车辆")
    private String causeCar;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "所属执法支队及大队")
    private String trafficTeam;

    @ApiModelProperty(value = "处置队伍ID（组织机构的ID）")
    private String teamId;

    @ApiModelProperty(value = "处置队伍fullID（组织机构的fullID）")
    private String teamFullId;

    @ApiModelProperty(value = "事件状态(-1:草稿，0:未委派，1:未处置，2：处置中，3：已完成)")
    private Integer eventStatus;

    @ApiModelProperty(value = "事件上报ID")
    private String uploadId;

    @ApiModelProperty(value = "事件上报部门ID")
    private String uploadTeamId;

    @ApiModelProperty(value = "事件上报部门FULLID")
    private String uploadTeamFullId;

    @ApiModelProperty(value = "事件上报部门名称")
    private String uploadTeamName;

    @ApiModelProperty(value = "事件上报人员ID")
    private String uploadUserId;

    @ApiModelProperty(value = "事件上报人员姓名")
    private String uploadUserName;

    @ApiModelProperty(value = "事件上报时间")
    private LocalDateTime uploadTime;

}
