package com.njcn.prepare.harmonic.pojo.param;

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

/**
 * 有功功率趋势 定时任务算法控制参数
 * @author guofeihu
 * @since 2024-08-22
 */
@Data
public class RActivePowerRangeParam extends BaseParam {

    /**
     * 决定统计的开始和结束时间
     * startTime = 昨天 - interval 00:00:00
     * endTime = 昨天的23:59:59
     */
    @ApiModelProperty("统计的时间间隔(默认1天)")
    private long interval = 1;

    /**
     * 控制执行定时任务算法统计重复执行是否允许强制刷新(lineId,timeId)
     */
    @ApiModelProperty("统计时是否强制刷新(默认不刷新:也即重复执行后对于当前日期已统计的监测点不会再次统计)")
    private boolean refresh = false;

    /**
     * 控制执行定时任务算法是否是查询,注意:当开启该参数后统计的interval获取的startTime和endTime会被BaseParam中的searchBeginTime和searchEndTime替代
     */
    @ApiModelProperty("是否查询(默认不查询)")
    private boolean search = false;

    /**
     * search = true 该参数才有效
     * 监测点ID用于执行定时任务算法查询时所携带的参数
     */
    @ApiModelProperty("监测点ID")
    private String lineId;

    /**
     * search = true 该参数才有效
     * 区间字段用于执行定时任务算法查询时所携带的参数
     */
    @ApiModelProperty("区间字段(标识是哪个区间:10%~20%、20%~30%....)")
    private String field;

    /**
     * search = true 该参数才有效
     * 控制执行定时任务算法查询时是否统计数据
     */
    @ApiModelProperty("查询时是否统计数据(默认不统计)")
    private boolean searchForAdd = false;

    /**
     * search = true 该参数才有效
     * 查询时是否格式化时间
     */
    @ApiModelProperty("查询时是否格式化时间(默认需要格式化)")
    private boolean searchTimeFort = true;

}
