package com.cico.nest.lcdp.boot.core.qxsd.adapter.web.vo.event;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.cico.nest.lcdp.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

@Schema(description = "管理后台 - 事件详情分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class EventDetailPageReqVO extends PageParam {


    /**
     * 主键id
     */
    private String id;

    @Schema(description = "隧道id-(目前保存的是隧道信息的id)", example = "6586")
    private String tunnelId;

    @Schema(description = "所属隧道id", example = "6586")
    private String baseTunnelId;
    @Schema(description = "所属隧道code", example = "6586")
    private String baseTunnelCode;

    @Schema(description = "所属洞id", example = "6586")
    private String holeId;

    @Schema(description = "方向   上行/下行")
    private List<String> direction;

    @Schema(description = "方向名称", example = "赵六")
    private List<String> directionName;

    @Schema(description = "事件开始时间查询start")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date eventStartTimeSearchStart;

    @Schema(description = "事件开始时间查询end")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date eventStartTimeSearchEnd;

    @Schema(description = "事件开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date eventStartTime;

    @Schema(description = "0急加速1急减速2实线变道3蛇形驾驶4逆行5拥堵6可疑事件7追尾8停车", example = "2")
    private List<Integer> eventType;

    @Schema(description = "事件状态 0待处置1处置中2已处置3待处置-已读", example = "2")
    private Integer eventStatus;
    /**
     * 事件处置状态 1确认， 2无需处置，3误报，4挂起，5结束
     */
    @Schema(description = "隧道处置状态 1确认， 2无需处置，3误报，4挂起，5结束", example = "1")
    private Integer eventProcessStatus;

    @Schema(description = "留存时间")
    @ExcelProperty("留存时间")
    private Integer retainedTime;

    @Schema(description = "车辆号码")
    private String eventCarPlate;

    /**
     * 事件列表关键词
     */
    @Schema(description = "关键词")
    private String keyword;

    @Schema(description = "事件状态查询 0(包括未处置处置中)1已处置", example = "1")
    private Integer eventStatusSearch;
    /**
     * 事件来源：1信路威，2隧道管控
     */
    private Integer eventSource;
    /**
     * 事是否是重复事件：0不是，1是
     */
    private Integer isRepeat;
    /**
     * 隧道管控-事件告警id
     */
    private String alarmId;

    /**
     * 首页-实时事件-关键词
     * 桩号 + 隧道方向
     */
    @Schema(description = "关键词")
    private String keyword2;

}
