package com.goafanti.order.service;

import java.util.Set;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.goafanti.common.model.TOrderMonthReport;
import com.goafanti.core.mybatis.page.Pagination;
import com.goafanti.order.bo.OrderReportBo;

public interface OrderReportService {
	/**
	 * 每月定时统计订单
	 * @return
	 */
	int insertOrderStatisticsByMonthTask();
	
	/**
	 * 获得订单数据统计
	 * @param orderReportBo
	 * @return
	 */
	Pagination<OrderReportBo> getOrderReportData(OrderReportBo orderReportBo, Integer pageNo, Integer pageSize);
	/**
	 * 导出订单数据
	 * @param orderReportBo
	 * @return
	 */
	XSSFWorkbook exportMonthData(OrderReportBo orderReportBo,String date);
	
	/**
	 * 检查这个数据是否存在
	 * @param bos
	 * @param existRows
	 */
	void checkOrderReport(Set<OrderReportBo> bos, Set<Integer> existRows,Set<Integer> fiterRows);
	
	/**
	 * 保存导入的数据
	 * @param bos
	 * @return
	 */
	int saveUploadData(Set<OrderReportBo> bos);
	
	/**
	 * 定时更新年报表
	 * @param d
	 * @return
	 */
	int updateYearReportData();
	
	/**
	 * 每年定时统计去年订单
	 * @return
	 */
	int saveLastYearReportData();
	
	/**
	 * 统计今年订单
	 * @return
	 */
	int saveYearReportData();
	
	/**
	 * 手动修改统计数据
	 * @param id
	 * @return
	 */
	int updateMonthDataById(TOrderMonthReport report);
	
}
