using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data;
namespace DeiNiu.Wcf
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IWmsOutRequest”。
    [ServiceContract]
    public interface IWmsOutRequest
    {
        /// 
        /// 
        /// 
       // [OperationContract]
      //  void preProcessOutOrders();
        /// 
        /// 预处理多个待出库订单
        /// 1.检查库存量是否够,不足则订单不能出库
        /// 2.检查零库库存量是否够,不够及时补货
        /// 
        [OperationContract]
         void syncOrders();
        [OperationContract]         
        DataSet getNewRequests();
       
        [OperationContract]
        DataSet Query(string querystr, int rownumStart, int rownumEnd);
        
        [OperationContract]
        DataTable getSalesMen();
        [OperationContract]
        int approveOrder(string orderNo, int status, int priority, bool canMerge);
        [OperationContract]
        string genPickOrder(string orderNo);
        [OperationContract]
        string genPickOrderByOrders(string[] orderNos);
        [OperationContract]
        string createPickOrderByDetails(int[] detailIds);
         [OperationContract]
        string createSeedsOrder(int pickGroup, int pickStartOn, string dueDate);
       //  [OperationContract]
       //  DataTable getSeedsSumDetail(int pickGroup, int pickStartOn, string dueDate, int enOrderState, int enDetailState);
         [OperationContract]
         DataSet getSeedsSumDetail(string queryStr, int rowStart, int rowEnd);
         [OperationContract]
         DataTable getSeedsDetailByGoods(string goodsId);
         [OperationContract]
         DataTable getSeedsDetailBySku(int skuId);
         
        [OperationContract]
         void updateTestData();
        [OperationContract] DataSet getPickOutDetail(string queryStr, int rowStart, int rowEnd);
        [OperationContract] DataSet getPickOutDetailSum(string queryStr, int rowStart, int rowEnd);
      
            //----- test
            [OperationContract]
        bool testCreateSalesOut(string custId);
    }
}