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);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								 
							 |