package com.zksy.visualization.domain.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author Administrator
 * @version 1.0
 * @project dh-server-micro
 * @description 消防事件统计
 * @date 2025/1/16 15:00:41
 */
@Data
public class EventStatisticsRequest {
    @ApiModelProperty(value = "排序字段", example = "alarmDate, handleUser, handleDate, orgName, alarmPosition", required = false)
    private String sort;

    @ApiModelProperty(value = "排序方式", example = "ASC, DESC", required = false)
    private String sortType;

    @ApiModelProperty(value = "报警状态", allowableValues = "1,2", required = false)
    private Integer alarmStat;

    @ApiModelProperty(value = "报警处理状态", allowableValues = "1,2,3,4,0", required = false)
    private List<Integer> handleStatList;

    @ApiModelProperty(value = "所属组织编码", required = false)
    private List<String> orgCodeList;

    @ApiModelProperty(value = "设备编码或通道编码", required = false)
    private List<String> nodeCodeList;

    @ApiModelProperty(value = "报警开始时间", example = "yyyy-MM-dd HH:mm:ss", required = false)
    private String alarmStartDateString;

    @ApiModelProperty(value = "报警结束时间", example = "yyyy-MM-dd HH:mm:ss", required = false)
    private String alarmEndDateString;

    @ApiModelProperty(value = "处理开始时间", example = "yyyy-MM-dd HH:mm:ss", required = false)
    private String handleStartDateString;

    @ApiModelProperty(value = "处理结束时间", example = "yyyy-MM-dd HH:mm:ss", required = false)
    private String handleEndDateString;

    @ApiModelProperty(value = "事件类型列表", required = false)
    private List<Integer> alarmTypeList;

    @ApiModelProperty(value = "事件类型", required = false)
    private Integer alarmType;

    @ApiModelProperty(value = "设备大类", required = false)
    private Integer deviceCategory;

    @ApiModelProperty(value = "报警预案标识", allowableValues = "0,1", required = false)
    private Integer isEvent;

    @ApiModelProperty(value = "报警等级", allowableValues = "1,2,3", required = false)
    private List<Integer> alarmGradeList;

    @ApiModelProperty(value = "语言", example = "zh-cn", required = false)
    private String language;

    @ApiModelProperty(value = "查询类型", allowableValues = "0,1", required = false)
    private Integer dbType;
}
