package cn.cecep.talroad.service;

import cn.cecep.talroad.domain.MonElecReal;
import cn.cecep.talroad.vo.BasDeviceSiteVo;
import cn.cecep.talroad.vo.EChartsVO;
import cn.cecep.talroad.vo.MonElecRealSiteVo;
import cn.cecep.talroad.vo.MonElecRealVo;
import cn.cecep.talroad.vo.analysis.AvgValueVo;
import cn.cecep.talroad.vo.query.MonElecRealQuery;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Date;

/**
 * 分表计电设备-点位对应 设备与点位为多对多的关系Service接口
 */
public interface IMonElecRealService extends  IService<MonElecReal>
{

    EChartsVO getCharData(MonElecRealQuery monElecReal);

    List<MonElecRealVo> elecRealPage(Page<MonElecRealVo> page, MonElecRealQuery monElecReal);


    List<MonElecRealSiteVo> selectLatestMonElecRealByParams(String industry, String deviceType, Date lastDate,Date curr);

    EChartsVO getKwhChartData(String startTime, String endTime);

    List<MonElecRealVo.KwhMonitorVo> getKwhMonitor(String type, String startTime, String endTime);

    EChartsVO getCharData(List<BasDeviceSiteVo.SimpleVo> deviceSiteSimpleVo, String startTime, String endTime);

    List<AvgValueVo> selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime,Integer pageSize,Integer startCount);
}
