package com.yeejoin.equipmanage.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.common.vo.PressurePumpCountVo;

import java.util.List;
import java.util.Map;

/**
 *
 * 四横八纵应急模块接口服务类
 *
 *
 */
public interface IEmergencyService {
    /**
     * @return
     */
    List<Map<String, Object>> getSystemState(String bizOrgCode);

    /**
     * @return
     */
    List<Map<String, Object>> getCAFSWaterTankInfo();

    Map<String, Object> emergencyMaterials();

    Page<Map<String, Object>> emergencyMaterialsDetails(Page<Map<String, Object>> page, String bizOrgCode);

    Page<Map<String, Object>> selectFireMonitor(Page<Map<String, Object>> page, String bizOrgCode,String code);

    Page<Map<String, Object>> selectFoamTank(Page<Map<String, Object>> page);

    Page<Map<String, Object>> selectOilDrainage(Page<Map<String, Object>> page, String bizOrgCode, String code);

    Page<Map<String, Object>> selectPressureFlow(Page<Map<String, Object>> page, String bizOrgCode);

    List<Map<String, Object>> selectAlarmAnalysis(String startDate, String endDate, String dataType, String date, String systemType);

    List<Map<String, Object>> selectAlarmAnalysisCount(String systemType, String startDate, String endDate);

    Map<String, Object> systemAndCar();

    List<Map<String, Object>> selectFireCannonAlarmAnalysisPie(String startDate, String endDate, String systemType);

    List<Map<String, Object>> waterSystemAlarmAnalysisPie(String startDate, String endDate, String systemType);

    List<Map<String, Object>> waterSystemAlarmAnalysis(String startDate, String endDate, String dataType, String date, String systemType);

    List<Map<String, Object>> fireCannonSystemAlarmAnalysis(String startDate, String endDate, String dataType, String date, String systemType);

    List<Map<String, Object>> getEquipExpiryStatistics(Integer expiryDayNum);

    List<Map<String, String>> getEquipExpiryList(Integer expiryDayNum);

    Map<String, Integer> getStockEquipStatistics();

    Map<String, Object> getPressurePumpStatusChart(String startTime, String endTime, String bizOrgCode);

    List<Map<String, Object>> getPressurePumpDiagnosticAnalysis(String bizOrgCode);

    Page<Map<String, Object>> alarmList(Page<Map<String, Object>> page,String bizOrgCode, List<String> types, List<String> emergencyLevels, String name, Integer cleanStatus, Integer handleStatus);

    List<PressurePumpCountVo> getPressurePumpDay(String bizOrgCode);

    /**
     * 稳压泵启动统计
     * @param startTime
     * @param endTime
     * @param bizOrgCode
     * @return
     */
    Map<String, Object> getPressurePumpStartStatistics(String startTime, String endTime, String bizOrgCode);
}
