package com.njcn.device.pq.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.device.pq.pojo.dto.LineDataQualityDTO;
import com.njcn.device.pq.pojo.dto.MonitorIntegrityDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
import com.njcn.device.pq.pojo.param.LineDataQualityParam;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.device.pq.pojo.vo.OnlineMonitorVo;
import com.njcn.device.pq.pojo.vo.common.DeviceOnlineRate;

import java.util.List;

/**
 * <p>
 * 数据完整性日表 服务类
 * </p>
 *
 * @author hongawen
 * @since 2023-03-28
 */
public interface IRStatIntegrityDService extends IMppService<RStatIntegrityD> {

    /**
     * @Description: 通过监测点集合查询总监测点数据完整性
     * @param param
     * @Author: wr
     * @Date: 2024/1/8 13:59
     */
    Float getTotalIntegrityByLineIds(LineBaseQueryParam param);


    List<LineDataQualityDTO> getLineDataQuality(LineDataQualityParam lineDataQualityParam);

    Boolean saveOrUpdateData(List<MonitorIntegrityDTO> monitorIntegrityDTOList);

    DeviceOnlineRate getData(DeviceInfoParam.BusinessParam param);

    List<OnlineMonitorVo> getNoData(LineBaseQueryParam param);
}
