package com.njcn.harmonic.service;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDetailTimeDto;
import com.njcn.harmonic.pojo.param.LimitCalendarQueryParam;
import com.njcn.harmonic.pojo.param.LimitExtentDayQueryParam;
import com.njcn.harmonic.pojo.param.LimitExtentQueryParam;
import com.njcn.harmonic.pojo.param.LimitProbabilityQueryParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDetailDPO;
import com.njcn.harmonic.pojo.vo.LimitCalendarVO;
import com.njcn.harmonic.pojo.vo.LimitExtentVO;
import com.njcn.harmonic.pojo.vo.LimitProbabilityVO;
import com.njcn.harmonic.pojo.vo.LimitTimeProbabilityVO;

import java.util.List;


public interface IRStatLimitRateDetailDService extends IService<RStatLimitRateDetailDPO> {


    List<LimitExtentVO> limitExtentData(LimitExtentQueryParam param);

    JSONArray limitExtentDayData(LimitExtentDayQueryParam param);

    List<LimitCalendarVO> limitCalendarData(LimitCalendarQueryParam param);

    List<LimitProbabilityVO> limitProbabilityData(LimitProbabilityQueryParam param);

    List<LimitTimeProbabilityVO> limitTimeProbabilityData(LimitProbabilityQueryParam param);

    /**
     * 稳态超标时间
     * @param lineParam
     * @return
     */
    List<DataLimitRateDetailTimeDto> getLimitRateDetailTime(LineCountEvaluateParam lineParam);

}
