package com.zfire.mall.manager.commonmapper.manage;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zfire.mall.manager.bean.k3.*;
import com.zfire.mall.manager.bean.k3.v2.KingDeePurchaseOrderVO;
import com.zfire.mall.manager.bean.k3.v2.KingDeePurchaseStockInVO;
import com.zfire.mall.manager.bean.k3.v2.KingTransferVO;
import com.zfire.mall.manager.zfire.bean.ZfireParamBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author chang
 */
@Mapper
public interface TransferMapper {

    IPage<KingTransfer> list(IPage page,
                             @Param("billNo") String billNo,
                             @Param("materialName")String materialName,
                             @Param("startTime")String startTime,
                             @Param("endTime")String endTime);

    KingTransferBean detail(String id);

    IPage<KingDeePurchaseOrderBean> listPurchase(IPage page,
                                                 @Param("businessType") String businessType,
                                                 @Param("assignSupplierId")String assignSupplierId,
                                                 @Param("startTime")String startTime,
                                                 @Param("endTime")String endTime);

    KingDeePurchaseOrderData detailPurchase(String id);

    IPage<KingDeePurchaseStockInBean> listStockIn(IPage page,
                                                  @Param("materialCode")String materialCode,
                                                  @Param("billNo")String billNo,
                                                  @Param("materialName")String materialName,
                                                  @Param("materialNumber")String materialNumber,
                                                  @Param("supplyName")String supplyName,
                                                  @Param("startTime")String startTime,
                                                  @Param("endTime")String endTime,
                                                  @Param("materialOldNumber")String materialOldNumber);

    KingDeePurchaseStockInData detailStockIn(String id);

    IPage<KingDeePurchaseOrderVO> v2ListPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);

    IPage<KingDeePurchaseStockInVO> v2StockInListPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);

    IPage<KingTransferVO> v2TransferListPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
}
