/// ///INTERFACE CLASS FOR TABLE t_wmsOutRequest ///By wm with codesmith. ///on 05/18/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 WmsOutRequest : WmsOutRequest_base { public WmsOutRequest() { } public WmsOutRequest(int id): base(id) { } public WmsOutRequest(DataRow dr): base(dr) { } public WmsOutRequest(String orderNo) { cmdParameters[0] = orderNo; getModel(100); } protected override void getImp() { model_imp = new WmsOutRequest_Imp(); } //begin cust db operation, query, excute sql etc. public DataTable QueryByStateForPick( enumOutStockRequestStatus state ) { cmdParameters[0] = (int)state; cmdParameters[1] = new WaveRule().getCurrentActiveRule(enumWaveRuleType.普通波次); // cmdParameters[1] = (int)startOn; return CustQuery(201).Tables[0]; } public DataTable getByCustForPick(enumOutStockRequestStatus state,string custId) { cmdParameters[0] = (int)state; cmdParameters[1] = custId; // cmdParameters[1] = (int)startOn; return CustQuery(2011).Tables[0]; } //begin cust db operation, query, excute sql etc. public DataSet QueryByState(DeiNiu.Utils.enumOutStockRequestStatus state) { cmdParameters[0] = (int)state; return CustQuery(200); } /// /// 同步新销售订单前 /// 记录临时数据 /// 并删除临时数据 /// /// public int prepareSaleInTmpData() { return CustOper(202); } /// /// 出库请求原始单详情 /// /// public DataSet getRequestDetail() { cmdParameters[0] = this.orderNo; return CustQuery(300); } /// /// 出库单详情(根据货物id,批号合并原始单明细) /// /// public DataSet getOutDetail() { cmdParameters[0] = this.orderNo; return CustQuery(400); } /// /// 取订单详细,直接转换为拣货单明细 /// /// public DataTable getOutDetailForPick() { cmdParameters[0] = this.orderNo; return CustQuery(1400).Tables[0]; } /// /// 待出库新订单 /// /// public DataTable getNewOrders() { return CustQuery(600).Tables[0]; } /// /// 拉取erp订单 /// /// public int syncOutRequest() { return CustOper(500); } /// /// /// /// public DataTable getLastSyncOrders() { return CustQuery(504).Tables[0]; } /// /// 自动审核立即分拣类型的出库单,即刻进入订单合并分拣环节 /// 分店客户需集单出库的情况不适用,按订单约定日期出库的需要手动核准 /// /// /// public int autoApproveOutRequest(enumOutStockRequestStatus status ) { cmdParameters[0] = (int)status; cmdParameters[1] = this.operater; int r = CustOper(501); return r; } public DataTable getLastSynOrders() { return CustQuery(503).Tables[0]; } /// /// 根据客户拣货策略信息,分流待分拣新订单到不同拣货方式 /// public int autoPickPrepare() { return CustOper(502); } private List _outDetails; /// /// 查询订单出库详情 /// public List outDetails { get { if (_outDetails == null && !string.IsNullOrEmpty( _orderNo)) { // DeiNiu.Utils.LogHelper.WriteLog(this.GetType(), "start to get outDetails"); _outDetails = new List(); DataTable dt = getOutDetail().Tables[0]; foreach (DataRow dr in dt.Rows) { _outDetails.Add( new WmsOutDetail(dr)); } // DeiNiu.Utils.LogHelper.WriteLog(this.GetType(), "end get outDetails"); } return _outDetails; } } /// /// 获取订单,并按客户排序 /// /// 订单类型 /// 订单状态 /// public DataSet getRequests(DeiNiu.Utils.enumOrderType orderType,DeiNiu.Utils.enumOutStockRequestStatus orderStatus) { cmdParameters[0] =(int)orderType; cmdParameters[1] = (int)orderStatus; return CustQuery(800); } /// /// get new request for merged pre to pick request /// /// public DataSet getNewRequests() { return QueryByState(Utils.enumOutStockRequestStatus.待出库); } /// /// get merged view of new requests /// /// public DataSet getNewRequestPickDetails() { // cmdParameters[0] = (int)Utils.enumOutStockRequestStatus.待处理; return CustQuery(900); } /// /// get error pick details /// /// public DataSet getErroredPickDetails() { return CustQuery(1000); } /// /// get sales man list /// /// public DataTable getSalesMen() { return CustQuery(1100).Tables[0]; } /// /// 合并销售订单或取消合并 /// /// /// /// /// public void updatePickState(string custID, string custName, string custAddress, string pickOrderNo , Utils.enumOutStockRequestStatus stateNew,Utils.enumOutStockRequestStatus stateOld ) { cmdParameters[0] = custID; cmdParameters[1] = custName; cmdParameters[2] = custAddress; cmdParameters[3] = pickOrderNo; cmdParameters[4] = (int)stateNew; cmdParameters[5] = (int)stateOld; cmdParameters[6] = operater; CustOper(1200); } public int updateTmpPickState( string pickOrderNo , Utils.enumOutStockRequestStatus state ) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)state; cmdParameters[2] = operater; return CustOper(1210); } public DataTable getTemp() { return CustQuery(3000).Tables[0]; } public void updatePickState(string pickOrderNo, Utils.enumOutStockRequestStatus stateNew, Utils.enumOutStockRequestStatus stateOld) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)stateNew; cmdParameters[2] = (int)stateOld; cmdParameters[3] = operater; CustOper(1211); } public void updatePickState(string pickOrderNo, Utils.enumOutStockRequestStatus stateNew) { cmdParameters[0] = pickOrderNo; cmdParameters[1] = (int)stateNew; cmdParameters[2] = operater; CustOper(1212); } /// /// prepare the out request orders for pick /// /* public void preparePick() { cmdParameters[0] = (int)enumOutStockDetailStatus.库存不足; cmdParameters[1] = "库存不足"; cmdParameters[2] = (int)enumOutStockDetailStatus.待处理; cmdParameters[3] = (int)enumOutStockRequestStatus.准备分拣; cmdParameters[4] = operater; try { using (TransactionScope scope1 = new TransactionScope()) { CustOper(1300); scope1.Complete(); } } catch (Exception er) { LogHelper.WriteLog(typeof(WmsOutRequest), er); // throw er; } } */ /// /// 入库单自动核准,每次抓100个订单的情况下,出现部分待核准订单切明细为空的订单 /// 每次抓500个的情况下没发现此状况 /// public void deleteBadData() { CustOper(1500); } public DataTable getRequest4pick(int cnt, enumOutStockRequestStatus status) { cmdParameters[0] = cnt; cmdParameters[1] = (int)status; return CustQuery(1600).Tables[0]; } public void insertTmp(string orderNo) { cmdParameters[0] = orderNo; CustOper(1610); } public void deleteTmp(string orderNo) { LogHelper.debug(typeof(WmsOutRequest), " delete from temp......, orderNo is " + orderNo); cmdParameters[0] = orderNo; CustOper(1620); } public DataTable getOverStock() { //with skuId in sales detail DataTable dt = CustQuery(1640).Tables[0]; if (dt.Rows.Count > 0) { return dt; } //with batch in sales detail dt = CustQuery(1670).Tables[0]; if (dt.Rows.Count > 0) { return dt; } //only goodsId in sales detail dt = CustQuery(1680).Tables[0]; return dt; } public DataTable getStockLack4Out() { return CustQuery(1640).Tables[0] ; } public DataTable getSeedsSumDetail(int pickGroup, int pickStartOn, string dueDate, enumOutStockRequestStatus enOs, enumOutStockDetailStatus enOd) { cmdParameters[0] = pickGroup; cmdParameters[1] = pickStartOn; cmdParameters[2] = dueDate; cmdParameters[3] = (int)enOs; cmdParameters[4] = (int)enOd; return CustQuery(1700).Tables[0]; } public DataSet getSeedsSumDetail(string queryStr, int rownumStart, int rownumEnd) { if (rownumEnd > rownumStart && rownumStart > 0) { this.rownumStart = rownumStart; this.rownumEnd = rownumEnd; } cmdParameters[0] = queryStr; return CustQuery(1701) ; } public DataTable getSeedsDetail(int skuId) { cmdParameters[0] = skuId; return CustQuery(1702).Tables[0]; } public DataTable getSeedsDetailByGoods(string goodsId) { cmdParameters[0] = goodsId; return CustQuery(1703).Tables[0]; } /// /// 分店客户生成取总分拣单明细,更新原订单状态 /// /// /// /// /// /// public int groupPickStart(int pickGroup, int pickStartOn, string dueDate, string pickOrder,int operater) { cmdParameters[0] = pickGroup; cmdParameters[1] = pickStartOn; cmdParameters[2] = dueDate; cmdParameters[3] = enumOutStockRequestStatus.待审核; cmdParameters[4] = enumOutStockDetailStatus.待处理; cmdParameters[5] = pickOrder; cmdParameters[6] = operater; return CustOper(1800) ; } public DataTable getAvErpDetailNoSkuId() { return CustQuery(1910).Tables[0]; } public DataTable getRequestByPickOrder(string pickOrderNo) { cmdParameters[0] = pickOrderNo; return CustQuery(2000).Tables[0]; } public int updateDetailStockShortage(string orderno,int skuId, decimal lackCount) { cmdParameters[0] = orderno; cmdParameters[1] = skuId; cmdParameters[2] = "库存不足,缺货 " +lackCount; return CustOper(2100); } } }