package cn.iocoder.yudao.module.pms.sap.service;

import cn.iocoder.yudao.module.pms.sap.vo.*;

import java.util.List;

/**
 * SAP 同步接口相关的服务
 */
public interface IotSapService {

    /**
     * 处理SAP接口返回的 物料主数据
     *
     * @param
     * @return
     */
    void processMaterials(List<IotSapMaterialVO> sapMaterials);

    /**
     * 处理SAP接口返回的 客商 主数据
     *
     * @param
     * @return
     */
    void processMerchants(List<IotSapMerchantVO> sapMerchants);

    /**
     * 处理SAP接口返回的 领料单 主数据
     *
     * @param
     * @return
     */
    void processPickingLists(String factory, List<IotSapPickingListHeadVO> pickingListHeads, List<IotSapPickingListItemVO> pickingListItems);

    /**
     * 处理SAP接口返回的 SAP 库存 主数据
     *
     * @param
     * @return
     */
    void processSapStock(String factory, List<IotSapStockVO> sapStocks);

    /**
     * 批量处理SAP库存数据
     * @param allStockData 所有工厂的库存数据
     * @param context 同步上下文，包含基础数据映射
     */
    void processSapStockBatch(List<IotSapStockVO> allStockData, Object context);
}
