316 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			316 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  |  | |||
|  | /// <summary> | |||
|  | ///INTERFACE CLASS FOR TABLE t_wmsStock | |||
|  | ///By wm with codesmith.  | |||
|  | ///on 05/14/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 WmsStock : WmsStock_base | |||
|  |     { | |||
|  |         public WmsStock() | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         public WmsStock(int id): base(id) | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  |          public WmsStock(DataRow dr): base(dr) | |||
|  |         { | |||
|  |            | |||
|  |         } | |||
|  |          public WmsStock(string goodsId, string batch, string locationId)  | |||
|  |          { | |||
|  |              cmdParameters[0] = goodsId; | |||
|  |              cmdParameters[1] = batch; | |||
|  |              cmdParameters[2] = locationId; | |||
|  |              this._goodsId = goodsId; | |||
|  |              this._batch = batch; | |||
|  |              this._locationId = locationId; | |||
|  |              getModel(100); | |||
|  |          } | |||
|  | 
 | |||
|  |          public WmsStock( string locationId) | |||
|  |          { | |||
|  |              cmdParameters[0] = locationId; | |||
|  |              getModel(110); | |||
|  |          } | |||
|  |          protected override void getImp() | |||
|  |          { | |||
|  |              model_imp = new WmsStock_Imp(); | |||
|  | 
 | |||
|  |          } | |||
|  |         | |||
|  |         //begin cust db operation, query, excute sql etc. | |||
|  |         public DataSet queryByGoodsId(string goodsId,string batch) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = batch; | |||
|  |             return  CustQuery(200); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据商品编号和货位容量类别查询 | |||
|  |         /// </summary> | |||
|  |         /// <param name="goodsId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet queryByGoodsIdVolType(string goodsId, string batch, enumWhLocVol locVolType, enumWhType whType) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = (int)locVolType; | |||
|  |             cmdParameters[2] = batch; | |||
|  |             cmdParameters[3] = (int)whType; | |||
|  |             return CustQuery(500); | |||
|  |         } | |||
|  | 
 | |||
|  |         public DataSet QueryByName(string namelike,enumWhType whType) | |||
|  |         { | |||
|  |             cmdParameters[0] = namelike; | |||
|  |             cmdParameters[1] = (int)whType; | |||
|  |             | |||
|  |             return CustQuery(300); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         public DataTable getStockRecord(string orderNo) | |||
|  |         { | |||
|  |             cmdParameters[0] = orderNo; | |||
|  |             return CustQuery(400).Tables[0]; | |||
|  |         } | |||
|  | 
 | |||
|  |         private Wmslocation _location; | |||
|  | 
 | |||
|  |         public Wmslocation location | |||
|  |         { | |||
|  |             get { | |||
|  | 
 | |||
|  |                 if (_location == null || _location.locationId != _locationId) | |||
|  |                 { | |||
|  |                     _location = new Wmslocation(locationId); | |||
|  |                 } | |||
|  |                 return _location; | |||
|  |              | |||
|  |             } | |||
|  |               | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// // 更新库存出库信息,库存扣完,则删除记录 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public int updateCountOut() | |||
|  |         { | |||
|  | 
 | |||
|  |             if ( countIn <= 0 &&  count -  countOut <= 0 &&  countOuting <= 0) | |||
|  |             { | |||
|  |                 | |||
|  |                 LogHelper.debug(typeof(WmsStock), | |||
|  |                     string.Format("{0} 库存扣完删除库存记录,countIn: {1} ,count: {2},countOut: {3} ,countIn: {4}", | |||
|  |                     goodsId,  countIn,  count, countOut, countIn) | |||
|  |                     ); | |||
|  |                 return Delete(); // 库存扣完,删除记录 | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return base.Update(); | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// get location data by locid | |||
|  |         /// for wince | |||
|  |         /// </summary> | |||
|  |         /// <param name="locId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getStockLocation(string locId) | |||
|  |         { | |||
|  |             cmdParameters[0] = locId; | |||
|  | 
 | |||
|  |             return CustQuery(600).Tables[0]; | |||
|  |         } | |||
|  | 
 | |||
|  |          | |||
|  |         public DataSet queryByGoodsBarcode(string barcode) | |||
|  |         { | |||
|  |             cmdParameters[0] = barcode;            | |||
|  |             return CustQuery(605); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// get locations by goodsid | |||
|  |         /// for wince with ch title | |||
|  |         /// </summary> | |||
|  |         /// <param name="locId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getGoodsStockLocations(string barcode) | |||
|  |         { | |||
|  |             cmdParameters[0] = barcode; | |||
|  | 
 | |||
|  |             return CustQuery(610).Tables[0]; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据商品比较wms和erp库存 | |||
|  |         /// </summary> | |||
|  |         /// <param name="locId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getStockLocationCompareErp(string goodsId,string barcode) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = barcode; | |||
|  | 
 | |||
|  |             return CustQuery(700).Tables[0]; | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 已下架商品待上架商品列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="operId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataTable getLocationDownList4Up(int operId) | |||
|  |         { | |||
|  |             cmdParameters[0] = operId; | |||
|  | 
 | |||
|  |             return CustQuery(800).Tables[0]; | |||
|  |         } | |||
|  | 
 | |||
|  |         public DataTable getGoodsERPStoreByBarcode(string barcode) | |||
|  |         { | |||
|  |             cmdParameters[0] = barcode; | |||
|  | 
 | |||
|  |             return CustQuery(900).Tables[0]; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="goodsId"></param> | |||
|  |         /// <param name="batch"></param> | |||
|  |         /// <param name="operId"></param> | |||
|  | 
 | |||
|  |         public int maintainIssue(string goodsId, string batch ,enumStockLocationState state, int operId) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = batch; | |||
|  |             cmdParameters[2] = (int)state;   | |||
|  |             cmdParameters[3] = operId; | |||
|  | 
 | |||
|  |           return  CustOper(1000) ; | |||
|  |         } | |||
|  | 
 | |||
|  |         public void recordMaintain(string locId, int operId) | |||
|  |         { | |||
|  |             cmdParameters[0] = locId; | |||
|  |             cmdParameters[1] = operId;         | |||
|  |             CustOper(1100); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 比较wms erp库存 | |||
|  |         /// </summary> | |||
|  |         /// <param name="querystr"></param> | |||
|  |         /// <param name="rownumStart"></param> | |||
|  |         /// <param name="rownumEnd"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet getStockDiff(string querystr, int rownumStart, int rownumEnd) | |||
|  |         {              | |||
|  |             if (rownumEnd > rownumStart && rownumStart > 0) | |||
|  |             { | |||
|  |                 this.rownumStart = rownumStart; | |||
|  |                this.rownumEnd = rownumEnd; | |||
|  |             } | |||
|  |             //  DataSet ds = string.IsNullOrEmpty(querystr) ? _obj.Query() : _obj.Query(querystr); | |||
|  |         | |||
|  |             if (string.IsNullOrEmpty(querystr)) | |||
|  |             { | |||
|  |                 cmdParameters[0] = querystr; | |||
|  |                 return CustQuery(199) ; | |||
|  |             } | |||
|  |               | |||
|  |             cmdParameters[0] = getCondition(querystr);  | |||
|  |             return CustQuery(199) ; | |||
|  |             | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |        | |||
|  | 
 | |||
|  | 
 | |||
|  |         public DataTable getWmsStockDetails(string goodsId, string batch,string extrQuery) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = batch; | |||
|  |             cmdParameters[2] = getCondition(extrQuery);  | |||
|  |             return CustQuery(1200).Tables[0]; | |||
|  | 
 | |||
|  |         } | |||
|  |           | |||
|  |         public DataTable getFreeStockLocations(string goodsId, int count) | |||
|  |         { | |||
|  |             cmdParameters[0] = goodsId; | |||
|  |             cmdParameters[1] = count; | |||
|  |           | |||
|  |             return CustQuery(1300).Tables[0]; | |||
|  | 
 | |||
|  |         } | |||
|  |           | |||
|  |         /// <summary> | |||
|  |         /// 库存汇总  | |||
|  |         /// sum by goodsId, batch | |||
|  |         /// </summary> | |||
|  |         /// <param name="queryStr"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet QuerySum(string querystr, int rownumStart, int rownumEnd) | |||
|  |         {  | |||
|  |             cmdParameters[0] = getCondition(querystr, rownumStart, rownumEnd);  | |||
|  |             return CustQuery(101) ; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 库存汇总  | |||
|  |         /// sum by goodsId  | |||
|  |         /// </summary> | |||
|  |         /// <param name="queryStr"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet QuerySumNoBatch(string querystr, int rownumStart, int rownumEnd) | |||
|  |         { | |||
|  |             cmdParameters[0] = getCondition(querystr, rownumStart, rownumEnd); | |||
|  |             return CustQuery(98); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 零库查询,补货参考 | |||
|  |         /// </summary> | |||
|  |         /// <param name="queryStr"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public DataSet QueryBulkRep(string querystr, int rownumStart, int rownumEnd) | |||
|  |         { | |||
|  |             cmdParameters[0] = getCondition(querystr, rownumStart, rownumEnd);  | |||
|  |             return CustQuery(102); | |||
|  |         } | |||
|  | 
 | |||
|  |       /// <summary> | |||
|  |       /// 查询库存变动记录 | |||
|  |       /// </summary> | |||
|  |       /// <param name="querystr"></param> | |||
|  |       /// <param name="rownumStart"></param> | |||
|  |       /// <param name="rownumEnd"></param> | |||
|  |       /// <returns></returns> | |||
|  |         public DataSet queryStockRecords(string querystr, int rownumStart, int rownumEnd) | |||
|  |         { | |||
|  |             cmdParameters[0] = getCondition(querystr, rownumStart, rownumEnd); | |||
|  |             return CustQuery(1400); | |||
|  |         } | |||
|  | 
 | |||
|  |     } | |||
|  | } | |||
|  |   |