package com.njcn.gather.event.eventlist.pojo.param;

import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 暂态事件列表查询参数。
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("暂态事件列表查询参数")
public class EventListQueryParam extends BaseParam {

    @ApiModelProperty("发生时刻开始，格式 yyyy-MM-dd HH:mm:ss.SSS，兼容 yyyy-MM-dd HH:mm:ss")
    private String startTimeStart;

    @ApiModelProperty("发生时刻结束，格式 yyyy-MM-dd HH:mm:ss.SSS，兼容 yyyy-MM-dd HH:mm:ss")
    private String startTimeEnd;

    @ApiModelProperty("事件类型")
    private String eventType;

    @ApiModelProperty("相别")
    private String phase;

    @ApiModelProperty("持续时间下限，单位秒")
    private BigDecimal durationMin;

    @ApiModelProperty("持续时间上限，单位秒")
    private BigDecimal durationMax;

    @ApiModelProperty("暂降/暂升幅值下限")
    private BigDecimal featureAmplitudeMin;

    @ApiModelProperty("暂降/暂升幅值上限")
    private BigDecimal featureAmplitudeMax;

    @ApiModelProperty("波形文件状态：0 未招，1 已招")
    private Integer fileFlag;

    @ApiModelProperty("处理状态：0 未处理，1 已处理，2 已处理无结果，3 计算失败")
    private Integer dealFlag;

    @ApiModelProperty("监测点 ID 列表")
    private List<String> lineIds = new ArrayList<String>();

    @ApiModelProperty("工程名称关键字")
    private String engineeringName;

    @ApiModelProperty("项目名称关键字")
    private String projectName;

    @ApiModelProperty("设备名称关键字")
    private String equipmentName;

    @ApiModelProperty("监测点名称关键字")
    private String lineName;
}
