/// 
///INTERFACE CLASS FOR TABLE t_wmsOutPickRequest
///By wm with codesmith. 
///on 05/22/2017
/// 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DeiNiu.Utils;
using System.Transactions;
namespace DeiNiu.wms.Data.Model
{
    [Serializable]
    public class WmsOutPickRequest : WmsOutPickRequest_base
    {
        public WmsOutPickRequest()
        {
        }
        public WmsOutPickRequest(int id): base(id)
        {
        }
        public WmsOutPickRequest(DataRow dr): base(dr)
        {
        }
        public WmsOutPickRequest(string orderNo)
        { 
            cmdParameters[0] = orderNo;
            getModel(100);
        }
        public WmsOutPickRequest(int pickGroup, int pickStartOn, string dueDate)
        {
            cmdParameters[0] = pickGroup;
            cmdParameters[1] = pickStartOn;
            cmdParameters[2] = dueDate;
            getModel(101);
        }
        protected override void getImp()
        {
            model_imp = new WmsOutPickRequest_Imp();
        }
       
        //begin cust db operation, query, excute sql etc.
        public DataSet QueryByName(string name)
        {
            cmdParameters[0] = name;
            return  CustQuery(100);
        }
        /// 
        /// 出库单详情(根据customer合并订单明细)  
        /// 
        /// 
        public DataSet getOutDetail()
        {
            cmdParameters[0] = this._pickOrderNo;
            return CustQuery(200);
        }
        /// 
        /// 出库单详情(根据货物id,批号合并原始单明细)
        /// 
        /// 
        public DataSet getOutDetailMerged()
        {
            cmdParameters[0] = this._pickOrderNo;
            return CustQuery(210);
        }
        private List _outDetails;
        private string orderNo;
        /// 
        /// 查询订单出库详情
        /// 
        public List outDetails
        {
            get
            {
                if (_outDetails == null && !string.IsNullOrEmpty(_pickOrderNo))
                {
                    _outDetails = new List();
                    cmdParameters[0] = this._pickOrderNo;
                    DataTable dt = CustQuery(201).Tables[0];
                    foreach (DataRow dr in dt.Rows)
                    {
                        _outDetails.Add(new WmsOutPickDetail(dr));
                    }
                }
                return _outDetails;
            }
        }
        /// 
        /// 查询订单出库详情
        /// 
        public List outDetailsMergedByOrderNo
        {
            get
            {
                if (_outDetails == null && !string.IsNullOrEmpty(_pickOrderNo))
                {
                    _outDetails = new List();
                    DataTable dt = getOutDetail().Tables[0];
                    foreach (DataRow dr in dt.Rows)
                    {
                        _outDetails.Add(new WmsOutPickDetail(dr));
                    }
                }
                return _outDetails;
            }
        }
        /// 
        /// 获取出库订单
        /// 
        /// 订单类型
        /// 订单状态
        /// 
        public DataSet getRequests(/*DeiNiu.Utils.enumOutStoreType orderType,*/DeiNiu.Utils.enumOutStockRequestStatus orderStatus)
        {
          //  cmdParameters[0] = (int)orderType;
            cmdParameters[0] = (int)orderStatus;
            return CustQuery(300);
        }
        public DataTable getRequests( DeiNiu.Utils.enumOutStoreType orderType, DeiNiu.Utils.enumOutStockRequestStatus orderStatus)
        {
            cmdParameters[0] = (int)orderType;
            cmdParameters[1] = (int)orderStatus;
            return CustQuery(3001).Tables[0];
        }
        public DataTable getRequests(DeiNiu.Utils.enumOutStoreType orderType, int daysAfter )
        {
            cmdParameters[0] = (int)orderType;
            cmdParameters[1] = daysAfter;
            return CustQuery(3002).Tables[0];
        }
        /// 
        /// 获取波次出库单
        /// 
        /// 
        /// 
        /// 
        public List getRequests4Wave(  )
        {
            /*if (WmsConstants.WAVE_LINE == -1 && string.IsNullOrEmpty(WmsConstants.WAVE_SALE))
            {
                return getRequestObjects(enumOutOrderType.拣货单, enumOutStockRequestStatus.等待波次);
            }
            */
            List lst = new List();
             cmdParameters[1] = (int)enumOrderType.销售出库;
            // cmdParameters[2] = (int)enumOutStockRequestStatus.等待波次;
            WaveRule wr = new WaveRule().getCurrentActiveRule(enumWaveRuleType.DPS灯光波次);
            cmdParameters[0] = wr;
            DataTable dt;
            if(WmsConstants.OUT_STOCK_BULK_PDA_SCAN) // t_wmsoutpickport 生成零货任务
            {
                dt = CustQuery(3011).Tables[0];
            }
            else
            {// t_wmsoutpickport 不生成零货任务
                dt = CustQuery(301).Tables[0];
            }
            return getObjs(dt);
 
        }
        public DataSet getRequests4DpsWave(enumOrderType orderType, WaveRule wr)
        { 
            cmdParameters[0] = wr; 
            cmdParameters[1] = (int)orderType;  
         
            if (WmsConstants.OUT_STOCK_BULK_PDA_SCAN) // t_wmsoutpickport 生成零货任务
            {
                return CustQuery(3011) ;
            }
            else
            {// t_wmsoutpickport 不生成零货任务
                return CustQuery(3012);  
            } 
        }
        /// 
        /// 获取分区出库单
        /// 
        /// 
        public List getRequests4PartWave(enumOrderType orderType,int part)
        {
             
            List lst = new List();
            WaveRule wr = new WaveRule().getCurrentActiveRule(enumWaveRuleType.DPS灯光波次);  
            cmdParameters[2] = wr;
            cmdParameters[0] = (int)orderType;
            cmdParameters[1] = part;
         
            DataTable dt = CustQuery(303).Tables[0];
            return getObjs(dt);
        }
         public List getRecords4PartWave(enumOrderType orderType)
        {
            List lst = new List();
            DataTable dt0 =getFreeParts();
            WaveRule wr = new WaveRule().getCurrentActiveRule(enumWaveRuleType.DPS灯光波次);
            foreach (DataRow dr0 in dt0.Rows)
            {
                cmdParameters[0] = (int)orderType;
                cmdParameters[1] = dr0["id"].ToString();
                cmdParameters[2] = wr;
                lst.Add(CustQuery(305).Tables[0].Copy());
            }
            return lst; 
        }
         public  DataTable getRecords4PickOrder(string pikciOrderNo,int partion)
         {
            // List lst = new List();
                 cmdParameters[0] = pikciOrderNo;
                 cmdParameters[1] = partion;
                 
                 
                 return CustQuery(308).Tables[0] ;
             
         }
         public List getRequests4PartWave(enumOrderType orderType)
        {
            List lst = new List();
            DataTable dt0 =getFreeParts();
            WaveRule wr = new WaveRule().getCurrentActiveRule(enumWaveRuleType.DPS灯光波次);
            foreach (DataRow dr0 in dt0.Rows)
            {
                cmdParameters[0] = orderType;
                cmdParameters[1] = dr0["id"].ToString();
                cmdParameters[2] = wr ;
                DataTable dt = CustQuery(303).Tables[0];
                foreach (DataRow dr in dt.Rows)
                { 
                    lst.Add(new WmsOutPickRequest(dr));
                     
                }
            }
            return lst; 
        }
        public DataTable getFreeParts()
        {
            return CustQuery(304).Tables[0];
        }
        ///        
        /// 获取出库订单
        /// 
        /// 订单类型
        /// 订单状态
        /// 
        public List getRequestObjects(/*DeiNiu.Utils.enumOutStoreType orderType,*/ DeiNiu.Utils.enumOutStockRequestStatus orderStatus) 
          // , int lines=-1,string sales="")
        { 
            return getObjs( getRequests(/*orderType,*/orderStatus).Tables[0]);
        }
        public List getRequestObjects( DeiNiu.Utils.enumOutStoreType orderType,  DeiNiu.Utils.enumOutStockRequestStatus orderStatus) 
        {
            return getObjs(getRequests( orderType, orderStatus) );
        }
     
        public List getObjs(DataTable dtPickOrders)
        {
            List lst = new List();            
            foreach (DataRow dr in dtPickOrders.Rows)
            {
                lst.Add(new WmsOutPickRequest(dr));
            }
            return lst;
        }
        /// 
        /// 进入波次,更新零货捡货状态
        /// 
        /// 
        /// 
        public void updateBulkPickStatus(string pickOrderNo,enumOutStockPickStatus state,int operater)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = (int)state;
            cmdParameters[2] = operater;
            CustOper(410);
        }
        /// 
        /// 进入分区波次,更新零货捡货状态
        /// 
        /// 
        /// 
        /// 
        public void updatePartBulkPickStatus(string pickOrderNo,int part, enumOutStockPickStatus state, int operater)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = part;
            cmdParameters[2] = (int)state;
            cmdParameters[3] = operater;
            CustOper(411);
        }
        /// 
        /// 更新整货捡货状态
        /// 需要事物
        /// 
        /// 
        /// 
        public int updateBatchPickStatus(string pickOrderNo, enumOutStockPickStatus state,int operater)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = (int)state;
            cmdParameters[2] = operater;
          return  CustOper(420);
        }
        /// 
        /// 更新整货捡货、复核状态
        /// 完成订单明细的全部拣货、复核动作时执行此方法
        /// 需要事物
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public int updateBatchOrderStatus(string pickOrderNo, enumOutStockRequestStatus orderState, enumOutStockDetailStatus detailState, int operater)
        { 
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = (int)orderState;
            cmdParameters[2] = (int)detailState; 
            cmdParameters[3] = operater;
            return CustOper(430);
        }
        /// 
        /// 波次完成,更新bulkPickState
        /// 全是零货的订单状态 state一并更新
        /// 有整货的,待整货完成分拣后再更新
        /// 
        /// 
        /// 
        public bool completeWaveBulkPickStatus(string waveNo, int operater)
        {
            cmdParameters[0] = waveNo;
            cmdParameters[1] = operater;
            CustOper(400);
            CustOper(399);
            return true;
        }
        public int fixMore()
        {
          return  CustOper(399);
        }
        /// 
        /// 分区分拣结束,判断分区的订单不存在未拣的部分,则更新pickdetail 和pickrequest bulkPikckStatus
        /// 
        /// 
        /// 
        /// 
        public bool completePartBulkPickStatus(int part, int operater)
        {
            cmdParameters[0] = part;
            cmdParameters[1] = operater;
            CustOper(400);
            return true;
        }
        /// 
        /// 单个订单零货分拣完成
        /// 
        /// 
        /// 
        /// 
        public bool completeBulkPickStatus(string pickRequestNo, int operater)
        {
            cmdParameters[0] = pickRequestNo;
            cmdParameters[1] = operater;
            CustOper(400);
           
            return true;
        }
        public bool canNewWave() {
            //int cnt1 = CustQuery(500).Tables[0].Rows.Count; //判断是否有正在拣选数据
            //int cnt2 = CustQuery(550).Tables[0].Rows.Count;//判断是否有待拣选数据
            return CustQuery(500).Tables[0].Rows.Count == 0 && CustQuery(550).Tables[0].Rows.Count > 0; 
        }
        public DataSet getPickDetailByOrder(string orderNo, bool isPickDetail)
        {
            cmdParameters[0] = isPickDetail ;
            cmdParameters[1] = orderNo;
            return CustQuery(600);
        }
        /// 
        /// pick details by wave order
        /// including batch and bulk
        /// 
        /// 
        /// 
        public DataSet getPickDetailByWaveOrder(string waveOrder)
        {
            cmdParameters[0] = waveOrder;  
            return CustQuery(700);
        }
        /// 
        /// current bulk details
        /// 
        /// 
        public DataSet getBulkDetailInCurrentWave()
        {
         
            return CustQuery(710);
        }
        /// 
        /// partion bulk details
        /// 
        /// 
        public DataTable getPartionBulkDetailInCurrentWave()
        {
            return CustQuery(720).Tables[0];
        }
        /// 
        ///  pick details by wave order
        ///  including bulk details in current wave 
        /// 
        /// 
        /// 2 tables, first for  pick details , second for current bulk detail 
        public DataSet getPickDetailByWaveOrderWithCurrentBulks(string waveOrder)
        {
            DataSet ds = getPickDetailByWaveOrder(waveOrder);
            ds.Tables.Add(getBulkDetailInCurrentWave().Tables[0]);
            return ds;
        }
        /// 
        /// 取待审核、播种订单列表
        /// 
        /// 
        /// 
        public DataSet getPickRequest4BulkVailidate(object desk)
        {
            cmdParameters[0] = desk;  
            return CustQuery(800);
        }
        public DataSet getPickRequest4BulkSeedsVailidate(int desk,enumOutStockRequestStatus seedsStatus,string seedsNo="")
        {
           
            cmdParameters[0] = desk;
            cmdParameters[1] = seedsStatus;
            cmdParameters[2] = seedsNo;
            return CustQuery(820);
        }
        public DataSet getOutRequestDetail(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            return CustQuery(810);
        }
        public DataTable getSeedsGoods(string seedsNo)
        {
            cmdParameters[0] = seedsNo;
            return CustQuery(830).Tables[0];
        }
        /// 
        /// 生成波次后,保存相关出库单的明细到临时表 for 复核
        /// 
        /// 
        /// 
        /// 
        public int saveTempData4Validation(string waveNo)
        {
            cmdParameters[0] = waveNo;  
            return CustOper(900);
           // return 1;
        }
        public int saveTempData4Validation(string waveNo,string pickOrderNo)
        {
            cmdParameters[0] = waveNo;
            cmdParameters[1] = pickOrderNo;
            return CustOper(9001);
        }
        public List getRequest4StockOut(enumOutStockRequestStatus status = enumOutStockRequestStatus.待定位)
        {
            cmdParameters[0] = status;
            return getObjs(CustQuery(30001).Tables[0]);
        }
        /// 
        /// 生成分区波次后,保存相关出库单的明细到临时表 for 复核
        /// 
        /// 
        /// 
        /// 
        public int savePartionTempData4Validation(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            return CustOper(901);
        }
        /// 
        /// 
        /// 
        /// 
        /// 
        public DataTable getValidationDetail(string pickOrder)
        {
            cmdParameters[0] = pickOrder;
            return CustQuery(1000).Tables[0]; 
        }
        /// 
        /// pick details by pickOrderNo
        /// including batch and bulk
        /// 
        /// 
        /// 
        public DataSet getPickDetailByPickOrderNo(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            return CustQuery(1100);
        }
        public DataSet getPickDetailBySeedsPickOrderNo(string seedsPickNo,int skuId)
        {
            cmdParameters[0] = seedsPickNo;
            cmdParameters[1] = skuId;
            return CustQuery(11001);
        }
     /// 
        /// to light labels for pick orders by seedPickNo ,goodsId, batch 
     /// 
     /// 
     /// 
     /// 
     /// 
        public DataSet getSeedsLightData(string seedsPickNo,string goodsId,string batch)
        {
            cmdParameters[0] = seedsPickNo;
            cmdParameters[1] = goodsId;
            cmdParameters[2] = batch;
            return CustQuery(1101);
        }
 
        public int getUnSeedsCnt(string seedsPickNo, string goodsId, string batch)
        {
            cmdParameters[0] = seedsPickNo;
            cmdParameters[1] = goodsId;
            cmdParameters[2] = batch;
            string tmp = CustQuery(1102).Tables[0].Rows[0][0].ToString();
            return tmp != string.Empty
                       ? Convert.ToInt32(tmp)
                       : 0;
            
        }
        public int getUnSeedsCnt(string seedsPickNo,int labId )
        {
            cmdParameters[0] = seedsPickNo;
            cmdParameters[1] = labId;
            string tmp = CustQuery(1103).Tables[0].Rows[0][0].ToString();
            return tmp != string.Empty
                       ? Convert.ToInt32(tmp)
                       : 0;
        }
        public int getUnSeedsCnt(string seedsPickNo )
        {
            cmdParameters[0] = seedsPickNo;
            
            string tmp = CustQuery(1105).Tables[0].Rows[0][0].ToString();
            return tmp != string.Empty
                       ? Convert.ToInt32(tmp)
                       : 0;
        }
        public DataTable getNewSeedDetails(int groupMark)
        {
            cmdParameters[0] = groupMark;
            cmdParameters[1] = (int)enumOutStockRequestStatus.待定位;
            return CustQuery(2600).Tables[0];
        }
        public DataTable getSeedsData(string seedsPickNo, int labId )
        {
            cmdParameters[0] = seedsPickNo;
            cmdParameters[1] = labId; 
            return CustQuery(1104).Tables[0] ;
           
        }
        /// 
        /// delete the tmp data by pickOrderNo
        /// 
        /// 
        public void deleteTempValidationData(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            CustOper(1200); 
        }
        /// 
        /// 待处理零货复核异常
        /// 
        /// 
        /// 
        public DataSet getBulkValidationException(enumOutStockPickStatus status)
        {
            cmdParameters[0] = (int)status;
            return CustQuery(1300);
        }
        /// 
        ///已处理收货异常
        /// 
        /// 
        /// 
        public DataSet getBulkValidationExceptionSolutions(object desk =null)
        {
            cmdParameters[0] = desk;
            return CustQuery(1400);
        }
        /// 
        /// get batch pickorders
        /// 
        /// 
        /// 
        /// 
        public DataSet getBatchOutPickOrders(enumOutStockRequestStatus status,enumOutStockPickStatus batchPickStatus1 ,enumOutStockPickStatus batchPickStatus2)
        {
            cmdParameters[0] = (int)status;
            cmdParameters[1] = (int)batchPickStatus1;
            cmdParameters[2] = (int)batchPickStatus2;
            return CustQuery(1500);
        }
        /// 
        /// 查当日(未完成补货的)补库单
        /// 补货还未入零库(enumOutStockPickStatus.复核完成)
        /// 
        /// 
        /// 
        /// 
        public DataTable getRepRequestDetailsLessThan(enumOutStockPickStatus pickStatus = enumOutStockPickStatus.复核完成)
        {
            List requests = new List();
            cmdParameters[0] = (int)pickStatus;
            DataTable dt = CustQuery(1510).Tables[0];
            return dt;
            //foreach (DataRow dr in dt.Rows)
            //{
            //    requests.Add(new WmsOutPickDetail(dr));
            //}
            //return requests;
        }
        /// 
        /// get batch pickorder details
        /// 
        /// 
        /// 
        /// 
        /// 
        public DataSet getBatchOutPickOrderDetails(string pickOrderNo, enumOutStockDetailStatus status, enumOutStockPickStatus batchPickStatus)
        {
            cmdParameters[0] = (int)status;
            cmdParameters[1] = (int)batchPickStatus;
            cmdParameters[2] =  pickOrderNo;
            return CustQuery(1700);
        }
        /// 
        /// pick details for batch pick order
        /// 
        /// 
        /// 
        /// 
        /// 
        public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo, enumOutStockRequestStatus status, enumOutStockPickStatus batchPickStatus)
        {
            cmdParameters[0] = (int)status;
            cmdParameters[1] = (int)batchPickStatus;
            cmdParameters[2] = pickOrderNo;
            return CustQuery(1600);
        }
        /// 
        /// pick details for batch pick order by pickorderNo
        /// 
        /// 
        /// 
        public DataSet getBatchOutPickOrderPickDetails(string pickOrderNo)
        { 
            cmdParameters[0] = pickOrderNo;
            return CustQuery(1610);
        }
        public DataTable getPickOrderTmsInfo(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo; 
            return CustQuery(1620).Tables[0];
        }
        /// 
        /// 取出库货位、数量详细
        /// 
        /// 
        /// 
        public DataTable getPickDetail (int stockRecordId)
        {
            cmdParameters[0] = stockRecordId; 
            return CustQuery(1900).Tables[0];
        }
       /// 
       /// 根据捡货状态取捡货明细
       /// 
       /// 
       /// 
        public DataTable getBatchPickDetails(enumPickState state)
        {
            cmdParameters[0] = (int)state;
            return CustQuery(2000).Tables[0];
        }
        /// 
        /// pickorders that ready for validation 
        /// for wince Only
        /// 
        /// 
        /// 
        public DataTable getBatchPickOrders4Validation()
        {      
            return CustQuery(2100).Tables[0];
        }
        /// 
        /// batch pickorder detail 
        /// for wince Only
        /// 
        /// 
        /// 
        public DataTable getBatchPickOrderDetail4Wince(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            return CustQuery(2200).Tables[0];
        }
        /// 
        /// 取整货补货出库分拣明细
        /// 
        /// 
        /// 
        /// 默认当天和昨天两天的
        /// 
        public DataTable getBatchPickOrderRepDetail(string flowNo,enumOrderType orderType, enumPickState pickState,string orderDate = "",int operId=0)
        {
            cmdParameters[0] = (int)orderType;
            cmdParameters[1] = (int)pickState;
            cmdParameters[2] = orderDate;
            cmdParameters[3] = flowNo;
            cmdParameters[4] = operId;
            return CustQuery(2300).Tables[0];
        }
        public bool updatePriority(string orders, int priority,int operId)
        {
            cmdParameters[0] = orders;
            cmdParameters[1] = priority;
            cmdParameters[2] = operId;
            return CustOper(2400) > 0;
        }
        /// 
        /// 分区完成器id列表
        /// 
        /// 
        public DataTable getPartsFinishIds()
        { 
            return CustQuery(306).Tables[0];
        }
        /// 
        /// 所有可用分区列表
        /// 
        /// 
        public DataTable getLightPartions()
        {
            return CustQuery(307).Tables[0];
        }
        public DataTable getOrderPickList(string orderNo, int partion)
        {
            cmdParameters[0] = orderNo;
            cmdParameters[1] = partion; 
            return CustQuery(309).Tables[0];
        }
        public DataTable getBatchOnlyRequests(enumOutStockPickStatus batchPickState)
        {
            cmdParameters[0] = (int)batchPickState;
            return CustQuery(2500).Tables[0];
        }
        public void updateErpSale_deng(bool isOn)
        {
            cmdParameters[0] = pickOrderNo; 
            DataTable dt = CustQuery(2600).Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                int id = Convert.ToInt32(dr["id"].ToString());
                Erp_sale esd = new Erp_sale(id);
                if (isOn)
                {
                    esd.liangdeng = true;
                }
                esd.Update();
                break;
            }
        }
        public bool setSeedsNo(string seedsPickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = seedsPickOrderNo;
             return  CustOper(2700)>0;
        }
        public bool updateOrderStatus(string pickOrderNo, enumOutStockRequestStatus orderState, enumOutStockDetailStatus detailState, int operater)
        {
            cmdParameters[0] = pickOrderNo;
            cmdParameters[1] = (int)orderState;
            cmdParameters[2] = (int)detailState;
            cmdParameters[3] = operater;
            return CustOper(431)>0;
        }
        public List getRequestsReady4Validation()
        {
            return getObjs(CustQuery(2800).Tables[0]);
        }
        public List getRequestsByTransNo(string transNo)
        {
         
            return getObjs(getReqDtByTransNo(  transNo));
        }
        public DataTable getReqDtByTransNo( string transNo)
        {
            cmdParameters[0] = transNo;
            return  CustQuery(2900).Tables[0] ;
        }
        public string createLoadTruckJob(int operId)
        {
            if (!string.IsNullOrEmpty(loadTruckJob))
            {
                return loadTruckJob;
            }
            WmsFlow wmsflow = new WmsFlow(); 
            wmsflow.operater = operId;
            wmsflow.orderNo = pickOrderNo;
            wmsflow.flowNo = pickOrderNo;
            wmsflow.type = (int)EnumFlowTaskType.装车运输;
            wmsflow.typeName = EnumFlowTaskType.装车运输.ToString();
            wmsflow.task = Util.getOrderNo(enumCreateOrderType.pickJobNo, getNextSeq(enumCreateOrderType.pickJobNo));
            wmsflow.taskCnt = 0; 
            using (TransactionScope scope = new TransactionScope())
            {
                wmsflow.Add();
                loadTruckJob = wmsflow.task;
                operater = operId;
                Update();
                scope.Complete();
            }
            return wmsflow.task;
        }
        public void finishAllFlowTasks(string pickOrderNo)
        {
            cmdParameters[0] = pickOrderNo;
            CustOper(3000);
        }
    }
}