
package com.tmerclub.cloud.product.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.product.dto.StockBillLogDTO;
import com.tmerclub.cloud.product.vo.StockBillLogItemExcelVO;
import com.tmerclub.cloud.product.vo.StockBillLogItemImportExcelVO;
import com.tmerclub.cloud.product.vo.StockBillLogItemImportVO;
import com.tmerclub.cloud.product.vo.mongo.MongoStockBillLogItemVO;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;

/**
 * 出入库商品项
 *
 * @author lhd
 * @date 2022-06-22 16:57:27
 */
public interface StockBillLogItemService {

    /**
     * 分页获取出入库商品项列表
     * @param pageDTO 分页参数
     * @param stockBillLogDTO
     * @return 出入库商品项列表分页数据
     */
    PageVO<MongoStockBillLogItemVO> page(PageDTO pageDTO, StockBillLogDTO stockBillLogDTO);

    /**
     * 获取导出库存流水
     * @param stockBillLogDTO
     * @param response
     * @return
     */
    List<StockBillLogItemExcelVO> exportFlow(StockBillLogDTO stockBillLogDTO, HttpServletResponse response);

    /**
     * 下载导入 出入库商品项模板
     * @param response
     * @param type
     */
    void downloadModel(HttpServletResponse response, Integer type);

    /**
     * 导入出入库商品项
     * @param list
     * @param errorList
     * @param stockType
     * @param stockBillLogItemImportVO
     */
    void importExcel(List<StockBillLogItemImportExcelVO> list, List<String> errorList, Integer stockType, StockBillLogItemImportVO stockBillLogItemImportVO);
}
