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