using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.Data;
using SiaSun.LMS.Model;

namespace SiaSun.LMS.Interface
{
    [ServiceContract()]
    [ServiceKnownType(typeof(SiaSun.LMS.Model.SYS_USER))]
    [ServiceKnownType(typeof(SiaSun.LMS.Model.MANAGE_LIST))]
    [ServiceKnownType(typeof(SiaSun.LMS.Model.MANAGE_MAIN))]
    [ServiceKnownType(typeof(List<MANAGE_LIST>))]
    [ServiceKnownType(typeof(List<PLAN_LIST>))]

    public partial interface I_ManageService
    {
        [OperationContract]
        void ControlTranslate(string WAREHOUSE);

        [OperationContract]
        bool RecordCreate(int MANAGE_ID, string sManageStatus, out string sResult);


        [OperationContract]
        IList<SiaSun.LMS.Model.MANAGE_TYPE_PARAM> ManageTypeParamGetList(int MANAGE_TYPE_ID);

        /// <summary> 根据出库起始货位创建任务列表
        /// 
        /// </summary>
        /// <param name="START_CELL_ID"></param>
        /// <param name="listMANAGE_LIST"></param>
        /// <param name="sResult"></param>
        /// <returns></returns>
        [OperationContract]
        bool MANAGE_LIST_CREATE(int START_CELL_ID, out List<Model.MANAGE_LIST> listMANAGE_LIST, out string sResult);
        [OperationContract]
        bool ManageInAndroid(out string sResult, MANAGE_MAIN mm, MANAGE_LIST[] lManageList);
        [OperationContract]
        bool ManageOutAndroid(out string sResult, MANAGE_MAIN mm, MANAGE_LIST[] lManageList);
        [OperationContract]
        bool ManageUpAndroid(out string sResult, MANAGE_MAIN mm, MANAGE_LIST[] lManageList);
        [OperationContract]
        bool CallManageOutAndroid(int EndId, string User, string GoodsCode, out string sResult);
        [OperationContract]
        bool LiKuOutAndroid(out string sResult, MANAGE_MAIN mm, MANAGE_LIST[] lManageList);
        [OperationContract]
        bool ManageOutAuto(int plan_id, bool bTrans, bool bAutoSendControl,
                                      bool bComplete, out string sResult);
    }
}