package com.uas.platform.b2b.search;

import com.uas.platform.b2b.erp.model.B2BCustomer;
import com.uas.platform.b2b.erp.model.B2BVendor;
import com.uas.platform.b2b.erp.model.SaleTenderErp;
import com.uas.platform.b2b.model.*;
import com.uas.search.b2b.model.PageParams;
import com.uas.search.b2b.model.SPage;
import com.uas.sso.support.Page;


/**
 * 搜索接口
 * 
 * @author sunyj
 * @since 2016年11月11日 上午10:39:15
 */
public interface SearchService {

	/**
	 * 采购验收单
	 */
	public SPage<PurchaseAccept> searchPurchaseAcceptIds(String keyword, PageParams pageParams);

	/**
	 * 买家应付发票表
	 */
	public SPage<PurchaseApBill> searchPurchaseApBillIds(String keyword, PageParams pageParams);

	/**
	 * 不良品入库单
	 */
	public SPage<PurchaseBadIn> searchPurchaseBadInIds(String keyword, PageParams pageParams);

	/**
	 * 不良品出库单
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseBadOut> searchPurchaseBadOutIds(String keyword, PageParams pageParams);

	/**
	 * 采购询价单
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseInquiryItem> searchPurchaseInquiryItemIds(String keyword, PageParams pageParams);

	/**
	 * 客户MRB
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseMRB> searchPurchaseMRBIds(String keyword, PageParams pageParams);

	/**
	 * 采购变更单
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseOrderChange> searchPurchaseOrderChangeIds(String keyword, PageParams pageParams);

	/**
	 * 客户打样申请单(所有)
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseProofingItem> searchPurchaseProofingItemIds(String keyword, PageParams pageParams);

	/**
	 * 买家验退单
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseReturn> searchPurchaseReturnIds(String keyword, PageParams pageParams);

	/**
	 * 15.委外验退单
	 * 
	 */
	public SPage<MakeReturn> searchMakeReturnIds(String keyword, PageParams pageParams);

	/**
	 * 18.平台发货提醒单搜索
	 * 
	 */
	public SPage<PurchaseNotice> searchPurchaseNoticeIds(String keyword, PageParams pageParams);

	/**
	 * 21.应付对账单： sale$archeck搜索
	 * 
	 */
	public SPage<SaleARCheck> searchSaleARCheckIds(String keyword, PageParams pageParams);

	/**
	 * 模具询价单
	 * 
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	public SPage<PurchaseInquiryMouldInfo> searchPurcInquiryMouldIds(String keyword, PageParams pageParams);

	/**
	 * 招标单
	 *
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
	SPage<PurchaseTender> erpSearchPurcTenderIds(String keyword, PageParams pageParams);

	/**
	 * 将com.uas.platform.core.model.PageParams转为搜索项目下的PageParams
	 * 
	 * @param params
	 * @param searchFilter
	 *            搜索、过滤条件
	 * @return
	 */
	public com.uas.search.b2b.model.PageParams convertPageParams(com.uas.platform.core.model.PageParams params,
			String searchFilter);

	/**
	 * 通过关键词查询邀请记录
	 * 
	 * @param keyword
	 * @return
	 */
	public SPage<InvitationRecord> getInvitationByKeyword(String keyword, PageParams pageParams);

	/**
	 * 查看当前用户供应商企业信息
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
    SPage<Enterprise> searchVendorIds(String keyword, PageParams pageParams);

	SPage<SaleTenderErp> erpSearchSaleTenderIds(String keyword, PageParams pageParams);

	Page<B2BVendor> searchVendorForErp(String keyword, PageParams pageParams);

	Page<B2BCustomer> searchCustomerForErp(String keyword, PageParams pageParams);

	/**
	 * 查找投标提问单
	 * @param keyword
	 * @param pageParams
	 * @return
	 */
    SPage<SaleTenderQuestion> searchSaleTenderQuestion(String keyword, PageParams pageParams);

	/**
	 *  app查找客户采购询价单
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseInquiryItem> searchPurchaseInquiryItemIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderAll> searchPurchaseOrderIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单（待回复）
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderTodo> searchPurchaseTodoOrderIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单（已回复）
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderDone> searchPurchaseDoneOrderIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单（待发货）
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderWaiting> searchPurchaseWaitingOrderIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单（已收货）
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderReceived> searchPurchaseReceivedOrderIdsForApp(String keyword, PageParams pageParams);

	/**
	 * app查找采购订单（已结案）
	 * @param keyword 关键词
	 * @param pageParams 分页参数
	 * @return
	 */
	Page<PurchaseOrderEnd> searchPurchaseEndOrderIdsForApp(String keyword, PageParams pageParams);

}
