package com.njcn.event.pojo.param;

import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @version 1.0.0
 * @author: chenchao
 * @date: 2022/06/06 14:07
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TransientParam extends DeviceInfoParam.BusinessParam {

    @ApiModelProperty("页码")
    @NotNull(message = "页码不可为空")
    @Range(min = 1,message = "页码必须大于0")
    private Integer pageNum;

    @ApiModelProperty("条数")
    @NotNull(message = "条数不可为空")
    @Range(min = 1,message = "条数必须大于0")
    private Integer pageSize;

    @ApiModelProperty("暂态幅值最大值")
    private BigDecimal eventValueMax;

    @ApiModelProperty("暂态幅值最小值")
    private BigDecimal eventValueMin;

    @ApiModelProperty("持续时间最大值")
    private Double persistMax;

    @ApiModelProperty("持续时间最小值")
    private Double persistMin;

    @ApiModelProperty("严重度最大值")
    private BigDecimal severityMax;

    @ApiModelProperty("严重度最小值")
    private BigDecimal severityMin;

    @ApiModelProperty("触发类型")
    private List<String> waveType;

    @ApiModelProperty("暂降原因")
    private List<String> eventReason;

    @ApiModelProperty("暂降类型")
    private List<String> eventType;

    @ApiModelProperty("变电站")
    private List<String> substationIds;

    @ApiModelProperty("线路")
    private List<String> lineIds;

    @ApiModelProperty("暂降核实原因")
    private List<String> verifyReason;

    @ApiModelProperty("波形文件")
    private Integer fileFlag;

    @ApiModelProperty("搜索值")
    private String searchValue;

    @ApiModelProperty("在线离线 0：在线 1：离线")
    private Integer isType;

    private String sortBy;

    private String orderBy;
}

