
package com.tmerclub.cloud.order.service;

import com.tmerclub.cloud.order.dto.PurchaseOrderDTO;
import com.tmerclub.cloud.order.vo.PurchaseOrderExcelVO;
import com.tmerclub.cloud.order.vo.PurchaseOrderItemVO;
import com.tmerclub.cloud.order.vo.UnDeliveryPurchaseOrderExcelVO;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 采购订单
 *
 * @author lhd
 * @date 2022-06-22 17:12:02
 */
public interface PurchaseOrderExcelService {
    /**
     * 获取订单信息列表（excel导出）
     *
     * @param orderSearchDTO 搜索参数
     * @return 订单信息列表
     */
    List<PurchaseOrderExcelVO> excelOrderList(PurchaseOrderDTO orderSearchDTO);

    /**
     * 获取待发货的订单信息列表（excel）
     *
     * @param response
     * @param orderSearchDTO 搜索参数
     */
    void excelUnDeliveryOrderList(HttpServletResponse response, PurchaseOrderDTO orderSearchDTO);

    /**
     * 导入待发货订单
     *
     * @param list
     * @param errorMap
     */
    void exportOrderExcel(List<UnDeliveryPurchaseOrderExcelVO> list, Map<Integer, List<String>> errorMap);

    /**
     * 待发货订单导入的错误信息
     *
     * @param errorMap
     * @return
     */
    String orderExportError(Map<Integer, List<String>> errorMap);

    /**
     * 导入excel（采购入库）
     *
     * @param excelFile
     * @param shopId
     * @param purchaseOrderId
     * @return
     */
    List<PurchaseOrderItemVO> inboundParseFile(MultipartFile excelFile, Long shopId, Long purchaseOrderId);
}
