/// 
///INTERFACE CLASS FOR TABLE t_erp_purch_receive_pre
///By wm  
///on 05/23/2020
/// 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace DeiNiu.wms.Data.Model
{
    [Serializable]
    public class Erp_purch_receive_pre : Erp_purch_receive_pre_base
    {
      
        public Erp_purch_receive_pre()
        {
        }
        public Erp_purch_receive_pre(int id): base(id)
        {
        }
        public Erp_purch_receive_pre(DataRow dr): base(dr)
        {
        }
        public Erp_purch_receive_pre(string preInNo, int detailId)
        {
            // TODO: Complete member initialization
            cmdParameters[0] = preInNo;
            cmdParameters[1] = detailId;
            getModel(200);
        }
      protected override void getImp()
        {
            model_imp = new Erp_purch_receive_pre_Imp();  
        }
    
        public DataTable getDetailByOrder(string preOrderNo)
        {
            cmdParameters[0] = preOrderNo;
            return  CustQuery(100).Tables[0];
        }
        public DataTable getDetailByOrder(string preOrderNo,int state)
        {
            cmdParameters[0] = preOrderNo;
            cmdParameters[1] = state;
            return CustQuery(101).Tables[0];
        }
        public void getNewDetailByOrderDetailId(int detailId)
        {
            cmdParameters[0] = detailId;
          getModel(210) ;
        }
        public bool postPreIn(string venderId, string preInNo,int shipid)
        {
            cmdParameters[0] = venderId;
            cmdParameters[1] = preInNo;
            cmdParameters[2] = shipid;
            return CustOper(300)>0;
        }
        public DataTable getPreInDetailWince(string preInNo)
        {
            cmdParameters[0] = preInNo;
            return CustQuery(400).Tables[0];
        }
        public DataTable getPreInSumary(string preInNo)
        {
            cmdParameters[0] = preInNo;
            return CustQuery(410).Tables[0];
        }
        public DataTable getPreInDetailWindows(string preInNo)
        {
            cmdParameters[0] = preInNo;
            return CustQuery(401).Tables[0];
        }
        public DataSet getPreInVendDetailsWindows(string venderPinyin, int orderType)
        {
            cmdParameters[0] = venderPinyin;
            if (orderType == 0)
            {
                return CustQuery(402);
            }
            else
            {
                return CustQuery(403);
            }
        }
        public int receive(string preInNo, int detailId,decimal count,int operId)
        {
             cmdParameters[0] = preInNo;
             cmdParameters[1] = detailId;
             cmdParameters[2] = count;
             cmdParameters[3] = operId;
            return CustOper(500) ;
        }
        /// 
        /// 预收货 数据收货、验收操作 明细
        /// 
        /// 
        /// 
        public DataTable getReceiveDetailByBarcode(string prInOrder,string barcode)
        {
            cmdParameters[0] = prInOrder;
            cmdParameters[1] = barcode;
            return CustQuery(600).Tables[0];
        }
        public int upShelfCount(string preInOrder, int purch_id,decimal upShelfCnt,int operId)
        {
            cmdParameters[0] = preInOrder;
            cmdParameters[1] = purch_id;
            cmdParameters[2] = upShelfCnt;
            cmdParameters[3] = operId;
            return CustOper(700);
        }
        public int preDone(string preInNo, int operId)
        {
            cmdParameters[0] = preInNo;
            cmdParameters[1] = operId;
            return CustOper(800);
        }
        public DataTable getAll4ValinIn(int storeType)
        {
            cmdParameters[0] = storeType;
            return CustQuery(900).Tables[0];
        }
        public DataTable getAll4ValinIn(string preInOrderNo,int storeType)
        {
            cmdParameters[0] = preInOrderNo;
            cmdParameters[1] = storeType;
            return CustQuery(910).Tables[0];
        }
        public List getPuchObjescts(String preInNo)
        {
            cmdParameters[0] = preInNo; 
            DataTable dt= CustQuery(1000).Tables[0];
            List lst = new List();
            foreach(DataRow dr in dt.Rows)
            {
                lst.Add(new Erp_purch(dr[0].ToString()));
            }
            return lst;
        }
    }
}