package com.huimv.admin.mapper;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.huimv.admin.entity.EnergyData;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.huimv.admin.entity.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 耗能数据 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2023-02-14
 */
@Repository
public interface EnergyDataMapper extends BaseMapper<EnergyData> {

    List<EnergyGasDataVo> listYear(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyFeedDataVo> listYear2(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyWaterDataVo> listYear3(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyElectricityDataVo> listYear4(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyGasDataVo> listDay(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyFeedDataVo> listDay2(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyWaterDataVo> listDay3(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyElectricityDataVo> listDay4(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    EnergyDataVo listCount(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    /*11111*/
    List<EnergyAllDataVo> listYearGas(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listYearWater(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listYearFeed(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listYearElectricity(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listDayGas(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listDayWater(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listDayFeed(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    List<EnergyAllDataVo> listDayElectricity(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    //能耗使用
    EnergyData listDataCount(@Param(Constants.WRAPPER) QueryWrapper<EnergyData> queryWrapper);

    //大屏能耗弹窗
    EnergyDataScreenVo listDataAll(String today, String week,String month,String yesterdayStart,String yesterdayEnd
            ,String weekStart,String weekEnd,String monthStart,String monthEnd,Integer unitId,String farmId);
}
