package com.njcn.harmonic.service;

import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.HistoryHarmParam;
import com.njcn.harmonic.pojo.param.HistoryParam;
import com.njcn.harmonic.pojo.param.NormHistoryParam;
import com.njcn.harmonic.pojo.vo.AssessEvaluation;
import com.njcn.harmonic.pojo.vo.HistoryDataResultVO;
import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO;
import com.njcn.influx.pojo.dto.HarmHistoryDataDTO;

import java.util.List;

/**
 * 稳态数据
 * @author  denghuajun
 * @date  2022/3/14
 *
 */
public interface HistoryResultService {

    /**
     * 稳态数据分析
     * @param historyParam 参数
     * @return 结果
     */
    List<HistoryDataResultVO> getHistoryResult(HistoryParam historyParam);

    /**
     * 异常数据趋势图
     * @param normHistoryParam 参数
     * @return 结果
     */
    List<HistoryDataResultVO> getHistoryLineData(NormHistoryParam normHistoryParam);

    /**
     * 获取谐波越限监测点占比
     * @param statisticsBizBaseParam 参数
     * @return 结果
     */
    List<StatHarmonicOrgVO> getHarmonicProportion(StatisticsBizBaseParam statisticsBizBaseParam);

    /***
     * 按次、监测点获取指定历史谐波数据
     * @author hongawen
     * @date 2023/7/19 9:56
     * @param historyHarmParam 请求历史谐波数据参数
     * @return HarmHistoryDataDTO
     */
    HarmHistoryDataDTO getHistoryHarmData(HistoryHarmParam historyHarmParam);

    /**
     * 二级评估评估数据
     */
    AssessEvaluation getHarmIAndHarmVData(StatisticsBizBaseParam param);
}
