/// 
///INTERFACE CLASS FOR TABLE t_wmsOutPickPort
///By wm  
///on 06/15/2017
/// 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DeiNiu.Utils;
namespace DeiNiu.wms.Data.Model
{
    [Serializable]
    public class WmsOutPickPort : WmsOutPickPort_base
    {
        public WmsOutPickPort()
        {
        }
        public WmsOutPickPort(int id): base(id)
        {
        }
        public WmsOutPickPort(DataRow dr): base(dr)
        {
        }
      protected override void getImp()
        {
            model_imp = new WmsOutPickPort_Imp();  
        }
        //begin cust db operation, query, excute sql etc.
        public DataSet QueryByName(string name)
        {
            cmdParameters[0] = name;
            return  CustQuery(100);
        }
        /// 
        /// get pick detail by pickorderNo
        /// 
        /// 
        /// 
        public DataTable getPickDetails(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            return CustQuery(200).Tables[0];
        }
        /// 
        /// get pick detail by ID
        /// 
        /// 
        /// 
        public DataTable getPickDetail(int Id)
        {
            cmdParameters[0] = Id;
            return CustQuery(300).Tables[0];
        }
        /// 
        /// update pick status
        /// 
        /// 
        /// 
        public int updatePickDetail(int Id, Utils.enumPickState pickSate,int operId)
        {
            cmdParameters[0] = Id;
            cmdParameters[1] = (int)pickSate;
            cmdParameters[2] = operId;
            return CustOper(400) ;
        }
        public int getPickDetailsCnt(string pickOrderNo, enumPickState pickState,bool batch =true, string waveOrder =null)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = (int)pickState;
            cmdParameters[2] = batch;
            cmdParameters[3] = waveOrder;
            //return CustQuery(500).Tables[0];
            DataTable dt = CustQuery(500).Tables[0];
            if (dt.Rows.Count > 0)
            {
                return Convert.ToInt16(dt.Rows[0][0].ToString());
            }
            return 0;
              
        }
        /// 
        /// 更新捡货状态 
        /// 电子标签拣选时更新PDA数据
        /// 
        /// 
        /// 
        /// 
        public bool updatePickDetailByStkrecId(int stkRecId,enumPickState pickState,int operId)
        {
             
            cmdParameters[0] = stkRecId;
            cmdParameters[1] = (int)pickState;
            cmdParameters[2] = operId;
            return CustOper(410) >0;
        }
    }
}