package com.njcn.csharmonic.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 
 * Description:
 * Date: 2023/9/4  15:15【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@NoArgsConstructor
public class CsEventUserQueryPage extends CsEventUserQueryParam{

    @NotNull(message="当前页不能为空！")
    @Min(value = 1, message = "当前页不能为0")
    @ApiModelProperty(value = "当前页",name = "pageNum",dataType ="Integer",required = true)
    private Integer pageNum;
    /**显示条数*/
    @NotNull(message="显示条数不能为空！")
    @ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
    private Integer pageSize;

    @ApiModelProperty(value = "搜索内容",name = "searchValue")
    private String searchValue;

    @ApiModelProperty(value = "持续时间最小值",name = "evtParamTm")
    @Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
    private Double evtParamTmMin;

    @ApiModelProperty(value = "持续时间最大值",name = "evtParamTm")
    @Range(min = 0, max = 60, message = "持续时间范围应在0~60s之间")
    private Double evtParamTmMax;

    @ApiModelProperty(value = "特征幅值最小值",name = "featureAmplitude")
    @Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
    private Double featureAmplitudeMin;

    @ApiModelProperty(value = "特征幅值最大值",name = "featureAmplitude")
    @Range(min = 0, max = 180, message = "特征幅值范围应在0~180%之间")
    private Double featureAmplitudeMax;

    @ApiModelProperty(value = "是否存在波形",name = "fileFlag")
    private Integer fileFlag;

    @ApiModelProperty(value = "严重度最小值",name = "severityMin")
    @Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
    private Double severityMin;

    @ApiModelProperty(value = "严重度最大值",name = "severityMax")
    @Range(min = 0, max = 10, message = "严重度范围应在0~10之间")
    private Double severityMax;

    @ApiModelProperty(value = "设备类型名称(便携式，治理)")
    private String deviceTypeName;

    @ApiModelProperty(value = "工程id")
    private String engineeringid;


    @ApiModelProperty(value = "项目id")
    private String projectId;
    /**
     * 装置id
     */
    private String deviceId;

    @ApiModelProperty(value = "测点id")
    private String lineId;

    @ApiModelProperty(value = "排序字段 0:发生时间 1:幅值 2:持续时间")
    private Integer sortField;

    @ApiModelProperty(value = "是否是dvr治理效果 0:否 1:是")
    private Integer isDvr;

    private List<String> epdTagList;
}