package com.yeejoin.equipmanage.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.dto.AnalysisReportLogDto;
import com.yeejoin.equipmanage.common.entity.AnalysisReportLog;
import com.yeejoin.equipmanage.common.enums.AnalysisReportEnum;

import java.text.ParseException;
import java.util.Date;

/**
 * 报告流水表 服务类
 *
 * @author duanwei
 * @date 2021-05-26
 */
public interface IAnalysisReportLogService extends IService<AnalysisReportLog> {

    /**
     * 分页查询
     */
    IPage<AnalysisReportLog>  listPage (Page page, AnalysisReportLog analysisReportLog);

     /** 报表生成
     * @param reportEnum 报告类型
     * @param beginDate 开始日期
     * @param endDate 结束日期
     */
    void generateReport(AnalysisReportEnum reportEnum, Date beginDate, Date endDate);

    /** 月报表生成
     * @param monthReport 报告类型
     * @param beginDate 开始日期
     * @param endDate 结束日期
     */
    void generateMonthReport(AnalysisReportEnum monthReport, Date beginDate, Date endDate) throws ParseException;


    void generateMonthReportTest(AnalysisReportEnum reportEnum, Date beginDate, Date endDate, Date now, int num) throws ParseException;

    /**
     * 消防物联报表列表分页查询
     * @param page
     * @param dto
     * @return
     */
    IPage<AnalysisReportLogDto> iotReportPage (Page page, AnalysisReportLogDto dto);

}
