package cn.cecep.talroad.service;

import cn.cecep.talroad.domain.BasDevice;
import cn.cecep.talroad.domain.BasDeviceSite;
import cn.cecep.talroad.domain.BasDeviceSiteCoordinateOperationLog;
import cn.cecep.talroad.vo.BasDeviceSiteExcelVo;
import cn.cecep.talroad.vo.BasDeviceSiteVo;
import cn.cecep.talroad.vo.EChartsVO;
import cn.cecep.talroad.vo.export.BasDeviceSiteExport;
import cn.cecep.talroad.vo.query.BasDeviceSiteQuery;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IBasDeviceSiteService extends IService<BasDeviceSite> {


    IPage<BasDeviceSiteExport> selectDeviceNameById(Page<BasDeviceSite> page, @Param("ew") QueryWrapper<BasDeviceSite> queryWrapper);

    List<BasDeviceSiteExport> selectBasDeviceSiteExportList(@Param("ew") QueryWrapper<BasDeviceSite> queryWrapper);
    List<BasDeviceSiteExport> selectBasDeviceSiteExportListT(QueryWrapper<BasDeviceSite> queryWrapper);
    List<BasDeviceSiteExport> selectBasDeviceList(@Param("ew") QueryWrapper<BasDevice> queryWrapper);

    BasDeviceSiteExport getByExport(String id);

    void saveLog(List<BasDeviceSiteExport> basDeviceSiteVo,List<BasDeviceSiteExport> saveExportList);

    IPage<BasDeviceSiteCoordinateOperationLog> getBasDeviceSiteCoordinateOperationLogList(BasDeviceSiteQuery basDeviceSiteExport);
    List<BasDeviceSiteExcelVo> selectExportBasDeviceList( BasDeviceSite basDeviceSite);

    void editBatch(BasDeviceSiteVo[] basDeviceSiteVoArr);

    BasDeviceSiteVo.CountOverview getCountOverview();

    EChartsVO getScatterChart(String type);

}
