package com.casic.missiles.modular.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.model.response.ResponseData;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface IStatisticsService {
    List<Map<String, Object>> wellStaticsByDept(DataScope dataScope);

    List<Map<String, Object>> wellStaticsByType(DataScope dataScope);

    List<Map<String, Object>> deviceStaticsByType(DataScope dataScope);

    List<Map<String, Object>> deviceStaticsByDept(DataScope dataScope, String deviceType);

    Map<String, Object> deviceStaticsByStatus(DataScope dataScope);

    List<Map<String, Object>> deviceStaticsByRoad(DataScope dataScope);

    List<Map<String, Object>> deviceStaticsByStatusAndType(DataScope dataScope);

    List<Map<String, Object>> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException;

    Integer countNowAlarmRecords(DataScope dataScope,String alarmType);

    List<Map<String, Object>> alarmsByDay(String beginTime, String endTime, DataScope dataScope);

    ResponseData alarmWellListPage(DataScope dataScope, Page<Map<String, Object>> page, String beginTime, String endTime, String alarmContent);

    Object getAlarmCountByType(String beginTime, String endTime, String alarmType);

    Object getAlarmByStatus(String beginTime, String endTime, String alarmType);

}


