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

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

import java.io.Serializable;
import java.util.List;
import java.util.Set;

/**
 * 算法编排的计算参数
 * @author hongawen
 * @version 1.0.0
 * @date 2023年11月03日 09:21
 */
@Data
public class CalculatedParam<T> implements Serializable {

    /***
     * 是否全链路执行算法
     * 非全链路执行时，tag集合必须非空
     */
    @ApiModelProperty(name = "fullChain",value = "是否全链执行")
    private boolean fullChain;

    /**
     * 目前仅监测点日统计存在补招功能 by yxb
     * 是否补招标识,默认不补招
     */
    @ApiModelProperty(name = "repair",value = "是否补招")
    private boolean repair;

    /**
     * 日期_yyyy-MM-dd
     */
    @ApiModelProperty(name = "dataDate",value = "时间日期_yyyy-MM-dd")
    private String dataDate;

    /***
     * 需要执行的组件
     * 当不需要全链路执行时，通过tag名称动态指定执行某个算法组件
     */
    @ApiModelProperty(name = "tagNames",value = "待执行链节点的tag集合")
    private Set<String> tagNames;

    /**
     * 待计算的对象索引集合，监测点、设备、母线、变电站、单位下监测点等等
     */
    @ApiModelProperty(name = "idList",value = "索引集合")
    private List<T> idList;
}
