package com.moral.api.service; 
 | 
  
 | 
import com.moral.api.entity.HistoryMonthly; 
 | 
import com.baomidou.mybatisplus.extension.service.IService; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * <p> 
 | 
 * 月数据 服务类 
 | 
 * </p> 
 | 
 * 
 | 
 * @author moral 
 | 
 * @since 2021-07-20 
 | 
 */ 
 | 
public interface HistoryMonthlyService extends IService<HistoryMonthly> { 
 | 
  
 | 
    /** 
 | 
    * @Description: 查询某一设备某月的数据 
 | 
            * @Param: [mac, date] 
 | 
            * @return: com.moral.api.entity.HistoryMonthly 
 | 
            * @Author: 陈凯裕 
 | 
            * @Date: 2021/9/29 
 | 
            */ 
 | 
    HistoryMonthly getHistoryMonthlyByMacAndDate(String mac,Date date); 
 | 
  
 | 
    /** 
 | 
    * @Description: 根据多个mac和指定日期查询月数据,key为mac,value为数据 
 | 
            * @Param: [mac, date] 
 | 
            * @return: java.util.Map<java.lang.String,com.moral.api.entity.HistoryMonthly> 
 | 
            * @Author: 陈凯裕 
 | 
            * @Date: 2021/9/30 
 | 
            */ 
 | 
    Map<String,HistoryMonthly> getHistoryMonthlyByMacsAndDate(List<String> mac, Date date); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间获取月数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2021/12/15 15:16 
 | 
     **/ 
 | 
    Map<String, Object> getThermodynamicDiagramDataByOrgIdSensorCodeTime(Map<String, Object> map); 
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间获取月数据第二版 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2022/01/20 15:16 
 | 
     **/ 
 | 
    Map<String, Object> getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(Map<String, Object> parameters); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间段获取月数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2021/12/16 15:16 
 | 
     **/ 
 | 
    List<Map<String, Object>> getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlot(Map<String, Object> map); 
 | 
  
 | 
    /** 
 | 
     *@Description: 通过组织id、因子编码和时间段获取月数据 
 | 
     *@Param: [map] 
 | 
     *@return: java.util.Map<java.lang.String,java.lang.Object> 
 | 
     *@Author: lizijie 
 | 
     *@Date: 2021/12/16 15:16 
 | 
     **/ 
 | 
    List<Map<String, Object>> getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(Map<String, Object> parameters); 
 | 
  
 | 
    /** 
 | 
     * @description: 通过设备和时间获取月数据 
 | 
     * @param macs List<String> 
 | 
     * @param time String 例:2021 
 | 
     * */ 
 | 
    List<HistoryMonthly> getValueByMacs(List<String> macs, String time); 
 | 
  
 | 
    /** 
 | 
     * @description 根据类型计算值 
 | 
     * @param list 数据 
 | 
     * @param sensorCode 因子code 
 | 
     * @param type 要计算的类型,最大值:max,最小值:min,平均值:sum,平均值:avg, 
 | 
     * */ 
 | 
    Double calculatedValue(List<HistoryMonthly> list, String sensorCode, String type); 
 | 
} 
 |