119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
|  |  | |||
|  | /// <summary> | |||
|  | ///INTERFACE CLASS FOR TABLE t_tmsStock | |||
|  | ///By wm   | |||
|  | ///on 07/27/2017 | |||
|  | /// </summary> | |||
|  | 
 | |||
|  | 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 TmsStock : TmsStock_base | |||
|  |     { | |||
|  |         public TmsStock() | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         public TmsStock(int id): base(id) | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  |         public TmsStock(DataRow dr): base(dr) | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  |       protected override void getImp() | |||
|  |         { | |||
|  |             model_imp = new TmsStock_Imp();   | |||
|  |         } | |||
|  | 
 | |||
|  |         //begin cust db operation, query, excute sql etc. | |||
|  |         public DataSet QueryByName(string name) | |||
|  |         { | |||
|  |             cmdParameters[0] = name; | |||
|  |             return  CustQuery(100); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public List<Wmslocation> getFreeLocation(int transLine,enumWhLocVol volType,  enumWhType whType, int count = 1) | |||
|  |         { | |||
|  |             List<Wmslocation> locations = new List<Wmslocation>();  | |||
|  | 
 | |||
|  |             cmdParameters[0] = transLine; | |||
|  |             cmdParameters[1] =(int)volType; | |||
|  |             cmdParameters[2] = count;  | |||
|  |             cmdParameters[3] = (int)whType; | |||
|  |             DataSet ds = CustQuery(200); | |||
|  |             int freeCnt = 0; | |||
|  |             foreach (DataTable dt in ds.Tables) | |||
|  |             { | |||
|  |                 freeCnt += dt.Rows.Count; | |||
|  |             } | |||
|  |              | |||
|  | 
 | |||
|  |             foreach (DataTable dt in ds.Tables) | |||
|  |             { | |||
|  |                 foreach (DataRow dr in dt.Rows) | |||
|  |                 { | |||
|  |                     locations.Add(new Wmslocation(dr)); | |||
|  |                     if (locations.Count == count) | |||
|  |                     { | |||
|  |                         return locations; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             if (locations.Count < count) //未找到足够空货位 | |||
|  |             {  | |||
|  |                 string error = string.Format("空货位不足,需要{0}个,找到{1}个。", count, locations.Count); | |||
|  |                 //throw new DeiNiuNoFreeLocationkException(error); | |||
|  |             } | |||
|  | 
 | |||
|  |             return locations; | |||
|  |         } | |||
|  | 
 | |||
|  |         public string getTranLocation(string custId) | |||
|  |         { | |||
|  |             string locationId = ""; | |||
|  |             cmdParameters[0] = custId; | |||
|  |           DataTable dt =  CustQuery(300).Tables[0]; | |||
|  | 
 | |||
|  |           if (dt.Rows.Count > 0) | |||
|  |           { | |||
|  |               return dt.Rows[0][0].ToString(); | |||
|  |           } | |||
|  |            | |||
|  |           dt = CustQuery(301).Tables[0]; | |||
|  |           if (dt.Rows.Count > 0) | |||
|  |           { | |||
|  |               return dt.Rows[0][0].ToString(); | |||
|  |           } | |||
|  |               | |||
|  | 
 | |||
|  |           return locationId; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 取零货集货明细 | |||
|  |         /// </summary> | |||
|  |         /// <param name="pickOrderNo"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getTmsStockBulkDetail(string pickOrderNo) | |||
|  |         {  | |||
|  |             cmdParameters[0] = pickOrderNo; | |||
|  |             return CustQuery(400).Tables[0];  | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |     } | |||
|  | } | |||
|  |   |