package com.zksy.base.manhole.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zksy.base.manhole.domain.ManholeData;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface ManholeDataService extends IService<ManholeData> {
    
    IPage<ManholeData> queryPage(Page<ManholeData> page, String imeiCardNumber, LocalDateTime startTime, LocalDateTime endTime);
    
    List<Map<String, Object>> statManholeByDevice(LocalDateTime startTime, LocalDateTime endTime);
    
    List<Map<String, Object>> statAlarmTrendByHour(String imeiCardNumber, LocalDateTime startTime, LocalDateTime endTime);
    
    List<Map<String, Object>> statTemperatureTrendByHour(String imeiCardNumber, LocalDateTime startTime, LocalDateTime endTime);
    
    List<String> getAllImeiCardNumbers();
    
    Map<String, Object> getLatestDataByImei(String imeiCardNumber);
    
    Map<String, Object> getOverallStatistics(LocalDateTime startTime, LocalDateTime endTime);
    
    IPage<ManholeData> queryAlarmData(Page<ManholeData> page, String imeiCardNumber, LocalDateTime startTime, LocalDateTime endTime);
}