package cn.cecep.talroad.service;

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

/**
 * @className: ElectricityMeterService
 * @description: TODO 类描述
 * @author: Mr.Yanghongtao
 * @date: 2023/03/30 5:23 PM
 * @Company: Copyright© [2023/03/30 5:23 PM] by [Mr.Yanghongtao]
 **/
public interface ElectricityMeterService {

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/3/30 5:26 PM
     * @Deseription: 统计设备运行状态
     * @Params: time 参数为 yyyy-MM-dd HH:mm:ss 时间为定时任务执行时间往前推一个小时
     * @Params: deviceType 参数为 1-生产设施，2-治理设施
     * @Return:
     * @Throws:
     */
    void statisticsDeviceRunningState(String time, String deviceType, Map<String, List<String>> cepAndProIds) throws ParseException;

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/3/31 6:37 PM
     * @Deseription: 分表计电系统中每个设备的运行时间,
     * 每天统计一次，
     * @Params: null
     * @Return: 
     * @Throws: 
     */
    void statisticsDeviceRunningTime(String startTime,String endTime) throws Exception;

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/3/31 6:38 PM
     * @Deseription: 分表计电系统中每个设备的运行时间,每月汇总一次
     * @Params: null
     * @Return:
     * @Throws:
     */
    void statisticsDeviceRunningTimeByMonth(String startTime,String endTime) throws Exception ;


    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/2 5:59 PM
     * @Deseription: 统计设备用电数据，一个小时一次
     * @Params: null
     * @Return:
     * @Throws:
     */
    void statisticsDeviceUsePowerCount(String startTime,String endTime);

    /**
     * @Author: Mr.Yanghongtao
     * @data: 2023/4/2 5:59 PM
     * @Deseription: 统计设备用电数据，每日统计一次
     * @Params: null
     * @Return:
     * @Throws:
     */
    void statisticsDeviceUsePowerCountByDay(String startTime,String endTime) throws Exception;
}
