package vn.azteam.tpf.service;


import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import vn.azteam.tpf.service.dto.ActivityInMonthDTO;
import vn.azteam.tpf.service.dto.ReportImportExportSuppliesInWareHouseCriteria;
import vn.azteam.tpf.service.dto.SeedUsageReportDTO;

import javax.servlet.http.HttpServletResponse;
//import java.awt.print.Pageable;
import org.springframework.data.domain.Pageable;
import vn.azteam.tpf.service.dto.TBCropDetailDTO;

import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.List;


/**
 * Service Interface for managing Report.
 */
public interface ReportsService {

    void exportGardenSupervisionToExcel(Long customerId, Date startDate, Date endDate, HttpServletResponse response) throws IOException, InvalidFormatException;

    List<ActivityInMonthDTO> getMonthlyActivity(Integer month, Integer year, Long customerId, Long cropId);

    List<SeedUsageReportDTO> getSeedUsageReport(Long customerId);

    void downloadImportExportWarehouseReport(Long customerId, Date startDate, Date endDate, HttpServletResponse response) throws IOException;
    
    void downloadImportExportSuppliesInWarehouseReport(ReportImportExportSuppliesInWareHouseCriteria criteria, HttpServletResponse response) throws IOException;

    void downloadImportMaterialReport(Long customerId, Date startDate, Date endDate, HttpServletResponse response) throws IOException;

    void downloadNurseryMonitoringReport(Long customerId, Long cropId, Date startDate, Date endDate, HttpServletResponse response) throws IOException;

    void downloadCultivateHistoryReport(Long customerId, Long cropId, Date startDate, Date endDate, HttpServletResponse response) throws IOException;
}
