package com.zcxk.dao;

import com.zcxk.dto.*;
import com.zcxk.entity.DayReportEntity;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * sms_day_reportDAO接口
 *
 * @author: WYY
 * @date 2020-12-03 16:20
 */
@Mapper
public interface DayReportMapper extends BaseMapper<DayReportEntity> {

    /**
     * 自定义分页查询
     *
     * @param page
     * @param dayReportEntity 实体类
     */
    Page<ReportDto> findPage(IPage<ReportDto> page,
                             @Param("dayReport") DayReportEntity dayReportEntity);

    /**
     * 自定义分页查询
     *
     * @param page
     * @param reportPageQueryDto 实体类
     */
    Page<ReportDto> findPageReprot(IPage<ReportDto> page,
                             @Param("dayReport") ReportPageQueryDto reportPageQueryDto);

    DayReportEntity findDayReportById(Serializable id);


    List<DayReportEntity> findList(DayReportEntity dayReportEntity);

    List<ReportAttributeDto> findAttributeList(@Param("report") ReportDto reportDto);

    List<ReportDto> findReport(@Param("report") ReportDto item);

    Page<DevicePressReportAttributeDto> findDevicePressPage(IPage<DevicePressReportAttributeDto> page, @Param("dayReport") DayReportEntity dayReportEntity);

    //Page<DeviceWaterReportAttributeDto> findDeviceWaterPage(IPage<DeviceWaterReportAttributeDto> page, @Param("dayReport") DayReportEntity dayReportEntity);

    Page<DeviceWaterReportAttributeDto> findDeviceWaterPage(IPage<DeviceWaterReportAttributeDto> page, @Param("dayReport") DayReportEntity dayReportEntity, @Param("userId") Integer userId);

    List<DayReportEntity> findDeviceLastDayValue(@Param("dayReport") DayReportEntity dayReportEntity);

    DayReportEntity findLastDayValue(@Param("dayReport") DayReportEntity dayReportEntity);
}
