| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |  | 
					
						
							|  |  |  |  | /// <summary> | 
					
						
							|  |  |  |  | ///LOGIC CLASS FOR TABLE t_wmsOrderRequest | 
					
						
							|  |  |  |  | ///By wm with codesmith.  | 
					
						
							|  |  |  |  | ///on 07/07/2020 | 
					
						
							|  |  |  |  | /// </summary> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | using DeiNiu.wms.Data.Model; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Transactions; | 
					
						
							|  |  |  |  | using DeiNiu.Wcf; | 
					
						
							|  |  |  |  | using DeiNiu.Utils; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace DeiNiu.wms.Logical | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     [Serializable] | 
					
						
							|  |  |  |  |     public class lWmsOrderRequest   :lbase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         WmsOrderRequest _obj; | 
					
						
							|  |  |  |  |         public lWmsOrderRequest() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |              initialize(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |         public  WmsOrderRequest getWmsOrderRequest | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             get | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |              if (_obj == null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     _obj = new WmsOrderRequest(); | 
					
						
							|  |  |  |  |                     | 
					
						
							|  |  |  |  |                 }  | 
					
						
							|  |  |  |  |                 _obj.operater = operId; | 
					
						
							|  |  |  |  |                 return _obj; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |        public lWmsOrderRequest(int operId) | 
					
						
							|  |  |  |  |             : base(operId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             initialize(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |    | 
					
						
							|  |  |  |  | 		/// <summary> | 
					
						
							|  |  |  |  | 		/// get all data | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public DataSet getAllData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |            return _obj.Query(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// get all data | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public DataSet getAllActiveData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return _obj.QueryActived(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		/// <summary> | 
					
						
							|  |  |  |  | 		/// get a record by id | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public void initialize(int id) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  |             _obj = id != 0 ? new WmsOrderRequest(id) : new WmsOrderRequest(); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  | 		/// get a record by id 0 | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public void initialize() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             initialize(0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          /// <summary> | 
					
						
							|  |  |  |  |         /// get a record by id | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public void initialize(DataRow dr) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             _obj =   new WmsOrderRequest(dr); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |         protected override DeiNiu.Data.BaseObject.BaseModel getModel() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return _obj; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |         //begin cust db operation, query, excute sql etc. | 
					
						
							|  |  |  |  |       | 
					
						
							|  |  |  |  |         internal int add(WmsOrderRequest wmsOrder) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             enumCreateOrderType type = enumCreateOrderType.obsolete; | 
					
						
							|  |  |  |  |            // enumWhType toWhtype = enumWhType.报废库; | 
					
						
							|  |  |  |  |             switch ((enumOrderType)wmsOrder.orderType) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 case enumOrderType.报废申请: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.obsolete; | 
					
						
							|  |  |  |  |                 //    toWhtype = enumWhType.报废库; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case enumOrderType.仓间调拨: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.transferInternal; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case enumOrderType.库区转移: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.transferOutside; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case enumOrderType.退供应商: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.returnVender; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                 case enumOrderType.内部领用: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.selfPickOrder; | 
					
						
							|  |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case enumOrderType.无单入库: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.stockInWithNoOrder; | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     break; | 
					
						
							|  |  |  |  |                 case enumOrderType.货位下架: | 
					
						
							|  |  |  |  |                     type = enumCreateOrderType.stockLocationDown; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     break; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             wmsOrder.orderNo = Util.getOrderNo(type, new WmsOrderRequest().getNextSeq(type)); | 
					
						
							| 
									
										
										
										
											2023-09-04 22:41:19 +08:00
										 |  |  |  |             //  wmsOrder.venderNo  | 
					
						
							|  |  |  |  |             wmsOrder.orderTypeName = ((enumOrderType)wmsOrder.orderType).ToString(); | 
					
						
							|  |  |  |  |             wmsOrder.venderName = new Erp_bussinessDoc(wmsOrder.venderNo).businessName; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |             wmsOrder.operater = operId; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |             return wmsOrder.Add(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       | 
					
						
							| 
									
										
										
										
											2023-09-04 22:41:19 +08:00
										 |  |  |  |         /// <summary | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |         /// update in a transaction scrop | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public void update() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (valid()) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     //Node tmp = new Node(); | 
					
						
							|  |  |  |  |                     //tmp.parentid = 1; | 
					
						
							|  |  |  |  |                     //tmp.name = "test trans" + DateTime.Now; | 
					
						
							|  |  |  |  |                     //tmp.description = "this is for transTest"; | 
					
						
							|  |  |  |  |                     //tmp.Add(); | 
					
						
							|  |  |  |  |                     _obj.Update(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     scope.Complete(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |          private bool valid() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal DataTable getDetail(string orderNo) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              return getWmsOrderRequest.getDetail(orderNo); | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal int addDetail( enumOrderType orderType,Wcf.WcfWmsOrderDetail[] wcfDetails) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              /* | 
					
						
							|  |  |  |  |              enumWhType whType = enumWhType.合格库, toWhType = enumWhType.报废库; | 
					
						
							|  |  |  |  |              if (wcfDetails.Length > 0) | 
					
						
							|  |  |  |  |              {  | 
					
						
							|  |  |  |  |                  switch (orderType) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                      case enumOrderType.报废申请: | 
					
						
							|  |  |  |  |                          whType = enumWhType.合格库; | 
					
						
							|  |  |  |  |                          toWhType = enumWhType.报废库; | 
					
						
							|  |  |  |  |                          break; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      case enumOrderType.库区转移: | 
					
						
							|  |  |  |  |                          whType = enumWhType.合格库; | 
					
						
							|  |  |  |  |                          toWhType = enumWhType.报废库; | 
					
						
							|  |  |  |  |                          break; | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              */ | 
					
						
							|  |  |  |  |              foreach (WcfWmsOrderDetail wd in wcfDetails) | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                 // wd.whtype = (int)whType; | 
					
						
							|  |  |  |  |                //  wd.toWhType =(int) toWhType; | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                  | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                  wd.state = 0; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                int id=  wd.getDbObject().Add(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 log.Debug("add orderDetail " + wd.getDbObject()); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 log.Debug("add orderDetail2 " + new WmsOutDetail(id)); | 
					
						
							|  |  |  |  |             } | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |              return wcfDetails.Length; | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal int deleteOrder(string orderNo) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              int rt = 0; | 
					
						
							|  |  |  |  |              WmsOrderRequest order = new WmsOrderRequest(orderNo); | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |              if( order.state ==(int)enumOrderStatus.创建) | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |              rt=  getWmsOrderRequest.DeleteOrder(orderNo); | 
					
						
							|  |  |  |  |               | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              return rt; | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal int approveOrder(string orderNo,int operId) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              int rt = 0; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |              WmsOrderRequest order = new WmsOrderRequest(orderNo);   | 
					
						
							|  |  |  |  |              DataTable dt= order.getDetail(order.orderNo); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |              // to create tasks. | 
					
						
							|  |  |  |  |              using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  order.state = (int)enumOrderStatus.已核准; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                  order.approvedBy = this.operId; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                  order.approveDate = order.getDateTime(); | 
					
						
							|  |  |  |  |                  order.Update(); | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                 if (order.orderType == (int)enumOrderType.无单入库)  //无单入库则生成入库通知单 | 
					
						
							|  |  |  |  |                 {  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     Erp_purch purch = new Erp_purch(); | 
					
						
							|  |  |  |  |                     purch.pur_order = orderNo; | 
					
						
							|  |  |  |  |                     purch.orderType = order.orderType; | 
					
						
							|  |  |  |  |                     purch.order_typeName = ((enumOrderType)order.orderType).ToString(); | 
					
						
							|  |  |  |  |                     purch.vender = order.requestBy + ""; | 
					
						
							|  |  |  |  |                     purch.venderName = WmsConstants.CURRENT_USER_ORG; | 
					
						
							|  |  |  |  |                     purch.orgid= WmsConstants.CURRENT_USER_ORGID; | 
					
						
							|  |  |  |  |                     purch.entid= WmsConstants.CURRENT_USER_ORGID; | 
					
						
							|  |  |  |  |                     int i = 0; | 
					
						
							|  |  |  |  |                     foreach (DataRow dr in dt.Rows) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                         WmsOrderDetail od = new WmsOrderDetail(dr); | 
					
						
							|  |  |  |  |                         Erp_purch_d pd = new Erp_purch_d(); | 
					
						
							|  |  |  |  |                         pd.pur_order = orderNo; | 
					
						
							|  |  |  |  |                         pd.pur_order_sn = ++i; | 
					
						
							|  |  |  |  |                         pd.goods_id = od.goodsId; | 
					
						
							|  |  |  |  |                         pd.count = od.count; | 
					
						
							|  |  |  |  |                         pd.add_date = pd.getDateTime(); | 
					
						
							|  |  |  |  |                         pd.entid = WmsConstants.CURRENT_USER_ORGID;  | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                         pd.Add(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     purch.Add(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     scope.Complete(); | 
					
						
							|  |  |  |  |                     return rt; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 enumOutStoreType outStoreType =Util.getOutStoreTypeByOrderType( order.orderType); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                  enumStockRecordType recType = Util.getStockRecordType((int)outStoreType); | 
					
						
							|  |  |  |  |                  | 
					
						
							|  |  |  |  |                  WmsWave ww = new WmsWave(); | 
					
						
							|  |  |  |  |                     ww.waveNo = Util.getOrderNo(enumCreateOrderType.waveOrder, _obj.getNextSeq(enumCreateOrderType.waveOrder)); ; | 
					
						
							|  |  |  |  |                     ww.operater = this.operId; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     ww.type = (int)recType;  | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     ww.Add(); | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                   | 
					
						
							|  |  |  |  |                 string locId = ""; | 
					
						
							|  |  |  |  |                 string taskId = Util.getOrderNo(enumCreateOrderType.pickJobNo, _obj.getNextSeq(enumCreateOrderType.pickJobNo)); | 
					
						
							|  |  |  |  |             | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 foreach (DataRow dr in dt.Rows) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                 | 
					
						
							|  |  |  |  |                     WmsOrderDetail od = new WmsOrderDetail(dr); | 
					
						
							|  |  |  |  |                     WmsLocation loc = new WmsLocation(od.locationId); | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                    | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     if (order.orderType == (int)enumOrderType.货位下架)  //无单货位下架,执行时直接减库存   countOut += count, 有单移库下架,则走正常拣货流程 | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         loc.state = (int)enumStockLocationStatus.入库受限; | 
					
						
							|  |  |  |  |                         loc.Update(); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                      | 
					
						
							|  |  |  |  |                     WmsStock stk = new WmsStock(od.locationId, od.skuId, od.goodsId); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     stk.countOuting += od.count; | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     stk.Update(); | 
					
						
							|  |  |  |  |                      | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                    // stk.state = (int)enumStockLocationStatus.不可用; | 
					
						
							|  |  |  |  |                   //  loc.state = (int)enumStockLocationStatus.不可用; | 
					
						
							| 
									
										
										
										
											2023-12-03 22:13:49 +08:00
										 |  |  |  |                     | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                   //  loc.Update(); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                     WmsStockRecord sr = new WmsStockRecord(dr); | 
					
						
							|  |  |  |  |                     sr.rectype =(int)recType; | 
					
						
							|  |  |  |  |                     sr.orderDetailId = od.ID; | 
					
						
							|  |  |  |  |                     sr.countOuting = od.count; | 
					
						
							|  |  |  |  |                     sr.count = 0; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     sr.description = ""; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     sr.Add(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     WmsOutPickPort wp = new WmsOutPickPort(dr); | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     wp.jobNo = taskId; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                     wp.pickOrderNo = order.orderNo; | 
					
						
							|  |  |  |  |                     wp.waveOrder = ww.waveNo; | 
					
						
							|  |  |  |  |                     wp.volType = loc.volType; | 
					
						
							|  |  |  |  |                     wp.tranArea = order.toWhType; | 
					
						
							|  |  |  |  |                     wp.recordId = sr.ID; | 
					
						
							|  |  |  |  |                     wp.recType = (int)recType; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     wp.pickDetailId = od.ID; | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |                     wp.Add(); | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                     locId = od.locationId; | 
					
						
							|  |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |                 WmsFlow wf = new WmsFlow(); | 
					
						
							|  |  |  |  |                 wf.orderNo = order.orderNo;// ww.waveNo; | 
					
						
							|  |  |  |  |                 wf.task = taskId; | 
					
						
							|  |  |  |  |                 wf.type = (int)Util.getTaskType((int)recType); ; | 
					
						
							|  |  |  |  |                 wf.typeName = recType.ToString(); | 
					
						
							|  |  |  |  |                 wf.taskCnt = dt.Rows.Count; | 
					
						
							|  |  |  |  |                 wf.taskPartion = new WmsLocation(locId).partion; | 
					
						
							|  |  |  |  |                wf.Add(); | 
					
						
							|  |  |  |  |                    | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                  scope.Complete(); | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              return rt; | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |      | 
					
						
							|  |  |  |  |      | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  |   |