411 lines
25 KiB
C#
411 lines
25 KiB
C#
|
||
/// <summary>
|
||
///INTERFACE IMPLIMENT FOR TABLE t_wmsStock
|
||
///By wm with codesmith.
|
||
///on 05/14/2017
|
||
/// </summary>
|
||
|
||
using System;
|
||
using System.Data.SqlClient;
|
||
using DeiNiu.Utils;
|
||
namespace DeiNiu.wms.Data.Model
|
||
{
|
||
[Serializable] class WmsStock_Imp : WmsStock_base_Imp
|
||
{
|
||
protected override void CmdPrepare(SqlCommand sqlCmd)
|
||
{
|
||
string locStatusWhere = " and locState =0 and state =0";
|
||
base.CmdPrepare(sqlCmd);
|
||
WmsStock mObj = ( WmsStock)modelObj;
|
||
switch (_cust_op_flag)
|
||
{
|
||
case 99: //query with dic
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID) as sortNo FROM v_stockGoods WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + ")AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY goodsID,batch";
|
||
_strSql += ";SELECT COUNT(*) FROM v_stockGoods WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
case 98: //query stock sum no batch
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY goodsID) as sortNo FROM v_stockGoodsSumNoBatchAlert WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + ")AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY goodsID";
|
||
_strSql += ";SELECT COUNT(*) FROM v_stockGoodsSumNoBatchAlert WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
case 100: //initial by goodsid,batch,locationid
|
||
_strSql = "SELECT * FROM t_wmsStock WHERE GOODSID = @GOODSID AND BATCH = @BATCH AND LOCATIONID =@LOCATIONID";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0] );
|
||
sqlCmd.Parameters.AddWithValue("@BATCH", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@LOCATIONID", mObj.CmdParameters[2]);
|
||
break;
|
||
|
||
case 101: //库存汇总查询
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY goodsID) as sortNo FROM [v_stockGoodsSumDesc] WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + ")AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY goodsID,batch";
|
||
_strSql += ";SELECT COUNT(*) FROM [v_stockGoodsSumDesc] WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
case 102: //零库库存补货查询
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY avCount) as sortNo FROM v_stockGoodsBulkBatchAlert WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + ")AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY avCount";
|
||
_strSql += ";SELECT COUNT(*) FROM v_stockGoodsBulkBatchAlert WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
case 103: //initial by skuId,locationid
|
||
_strSql = "SELECT * FROM t_wmsStock WHERE LOCATIONID =@LOCATIONID and skuId =@skuId";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@LOCATIONID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[1]);
|
||
|
||
break;
|
||
|
||
case 110: //initial by locationid
|
||
_strSql = "SELECT * FROM t_wmsStock WHERE LOCATIONID =@LOCATIONID";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@LOCATIONID", mObj.CmdParameters[0]);
|
||
break;
|
||
case 199: //query orders with free parameters
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY GOODSID DESC) as sortNo FROM v_wmsStockVSerp WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END";
|
||
_strSql += ";SELECT COUNT(*) FROM v_wmsStockVSerp WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
break;
|
||
//200-202 包含该商品的记录,同品存储
|
||
case 200: //query by goodsid,bath
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE whType=@whType and /*( VOLTYPE=0 OR STORETYPE =0 ) AND*/ GOODSID = @GOODSID AND BATCH = @BATCH ";
|
||
_strSql += locStatusWhere;
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@BATCH", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[2]);
|
||
break;
|
||
case 201: //query by sku
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE whType=@whType and /*( VOLTYPE=0 OR STORETYPE =0 ) AND*/ SKUID= @SKUID ";
|
||
_strSql += locStatusWhere;
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@SKUID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[1]);
|
||
break;
|
||
case 2011: //query by sku
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE SKUID= @SKUID ";
|
||
// _strSql += locStatusWhere;
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@SKUID", mObj.CmdParameters[0]);
|
||
|
||
break;
|
||
|
||
|
||
case 202: //query by skucode
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE whType=@whType and /*( VOLTYPE=0 OR STORETYPE =0 ) AND*/ SKUCODE = @SKUCODE ";
|
||
_strSql += locStatusWhere;
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@SKUCODE", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[1]);
|
||
break;
|
||
case 203: //query by GOODSID
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE whType=@whType and /*( VOLTYPE=0 OR STORETYPE =0 ) AND*/ GOODSID = @GOODSID ";
|
||
_strSql += locStatusWhere;
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[1]);
|
||
break;
|
||
|
||
// 204 不包含200,201,202 ,只取不包含该商品的其它商品共享货位的情况,混品存储
|
||
case 204: //query sharing locations,不包括该商品
|
||
_strSql = " SELECT top(@cnt) * FROM [v_stockGoodsLocationStat]"
|
||
+ " where whType=@whType and (storetype =1 or storetype=3) and goodsid !=@goodsId "
|
||
+ " and usedPercent <1 and voltype=@volType and goodsType=@goodsType "
|
||
+ " and ownercode =@ownercode and (goodsABC is null or goodsABC=@goodsABC) "
|
||
;
|
||
_strSql += locStatusWhere;
|
||
|
||
/* +" and ("
|
||
// +" (storetype =0 and skuid =@skuId or goodsid =@goodsId and batch=@batch) or " //同品同批
|
||
+ "(storetype =1 and ( goodsid !=@goodsId or( goodsid =@goodsId and (skuid!=@skuId or batch !=@batch))))" //混品同批
|
||
+ " or (storetype=2 and goodsId =@goodsId )" //同品混批
|
||
+ " or (storetype=3 ) "//混品混批
|
||
+" )"*/
|
||
|
||
_strSql += " order by usedpercent";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
WmsGoods goods = (WmsGoods)mObj.CmdParameters[1];
|
||
sqlCmd.Parameters.AddWithValue("@goodsType", goods.goodsType);
|
||
sqlCmd.Parameters.AddWithValue("@ownercode", goods.ownerCode);
|
||
sqlCmd.Parameters.AddWithValue("@goodsABC", goods.ABC);
|
||
sqlCmd.Parameters.AddWithValue("@goodsId", goods.goodsId);
|
||
// sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[0]);
|
||
// sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
|
||
sqlCmd.Parameters.AddWithValue("@volType", mObj.CmdParameters[3]);
|
||
sqlCmd.Parameters.AddWithValue("@cnt", mObj.CmdParameters[4]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[5]);
|
||
break;
|
||
case 300: //query by goodsname like
|
||
//_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM t_wmslocation LOC WHERE 1=1 AND ";
|
||
//_strSql += " EXISTS (SELECT 1 FROM V_WMSGOODS WHERE GOODSID = LOC.GOODSID AND GOODSNAME LIKE @GOODSNAME)";
|
||
string _strSql1 = "SELECT V.*,LOC.COUNT - LOC.COUNTLOCK - LOC.COUNTOUT AS AVAILABLECOUNT ,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo "
|
||
+ " FROM t_wmslocation LOC INNER JOIN V_WMSGOODS V "
|
||
+" ON LOC.GOODSID = V.GOODSID WHERE 1=1 "
|
||
+ " AND LOC.WHTYPE =@WHTYPE "
|
||
+ " AND V.GOODSNAME LIKE @GOODSNAME ";
|
||
_strSql = " SELECT * FROM (" + _strSql1 + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END";
|
||
_strSql += ";SELECT COUNT(*) FROM (" + _strSql1 + ")";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@GOODSNAME", "%" + mObj.CmdParameters[0] + "%");
|
||
sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
|
||
break;
|
||
case 400: //query by goodsid
|
||
_strSql = "SELECT * FROM v_reportStockRecord WHERE ORDERNO = @ORDERNO";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@ORDERNO", mObj.CmdParameters[0]);
|
||
break;
|
||
|
||
case 401: //by skuId to get stock info
|
||
_strSql = "SELECT * FROM v_stockGoods s WHERE goodsId = @goodsId ";
|
||
int skuId = Convert.ToInt32(mObj.CmdParameters[1].ToString());
|
||
if ((enumWhType)mObj.CmdParameters[3] == enumWhType.合格库)
|
||
{
|
||
_strSql += " and validdate>getdate()+ " + WmsConstants.OUT_MIN_DAYS_VALIDTION_LEFT;
|
||
}
|
||
if (skuId > 0)
|
||
{
|
||
_strSql += " and skuId = @skuId ";
|
||
sqlCmd.Parameters.AddWithValue("@skuId", skuId);
|
||
|
||
}
|
||
else if (!String.IsNullOrEmpty(mObj.CmdParameters[2].ToString()))
|
||
{
|
||
_strSql += " and batch = @batch ";
|
||
sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
|
||
}
|
||
|
||
_strSql += " and avCount > 0 and (state !=@state1 or state !=@state2)"
|
||
+ " and whType =@whType "
|
||
+ " ORDER BY productDate,batch,createtime";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@whType", mObj.CmdParameters[3]);
|
||
sqlCmd.Parameters.AddWithValue("@state1", (int)enumStockLocationStatus.养护异常);
|
||
sqlCmd.Parameters.AddWithValue("@state2", (int)enumStockLocationStatus.不可用);
|
||
break;
|
||
|
||
case 500: //query by goodsId, string batch, enumWhLocVol locVolType, enumWhType whType
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE GOODSID = @GOODSID AND BATCH = @BATCH AND VOLTYPE =@VOLTYPE AND WHTYPE =@WHTYPE ORDER BY VALIDATIONTERM ASC";
|
||
// _strSql += " ; SELECT SUM( AS CNT FROM v_stockGoods WHERE GOODSID = @GOODSID AND VOLTYPE =@VOLTYPE ";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@VOLTYPE", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@BATCH", mObj.CmdParameters[2]);
|
||
sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[3]);
|
||
break;
|
||
case 501: //query by skuId
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE SKUID =@SKUID AND VOLTYPE =@VOLTYPE AND WHTYPE =@WHTYPE ORDER BY VALIDATIONTERM ASC";
|
||
// _strSql += " ; SELECT SUM( AS CNT FROM v_stockGoods WHERE GOODSID = @GOODSID AND VOLTYPE =@VOLTYPE ";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@SKUID", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@VOLTYPE", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[2]);
|
||
break;
|
||
case 502: //query by skuCode
|
||
_strSql = "SELECT * FROM v_stockGoods WHERE SKUCODE=@SKUCODE AND VOLTYPE =@VOLTYPE AND WHTYPE =@WHTYPE ORDER BY VALIDATIONTERM ASC";
|
||
// _strSql += " ; SELECT SUM( AS CNT FROM v_stockGoods WHERE GOODSID = @GOODSID AND VOLTYPE =@VOLTYPE ";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@SKUCODE", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@VOLTYPE", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[3]);
|
||
break;
|
||
|
||
case 600: //get stock detail by location id
|
||
|
||
_strSql = " SELECT * FROM v_stockGoods where locationid =@locId";
|
||
sqlCmd.Parameters.AddWithValue("@locId", mObj.CmdParameters[0]);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
case 605: //get stock detail by barcode
|
||
|
||
_strSql = " SELECT * FROM v_stockGoods a where exists(select 1 from v_erpGoodsBarcods where goodsId=a.goodsId and barcode =@barcode)";
|
||
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[0]);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
case 610: //get stock detail by location id for wince with ZH title
|
||
|
||
_strSql = " SELECT * FROM v_stockGoods4Wince where 条码 =@barcode";
|
||
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[0]);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
case 620: //get stock detail by location id
|
||
|
||
_strSql = " SELECT * FROM t_wmsStock where locationid =@locId";
|
||
sqlCmd.Parameters.AddWithValue("@locId", mObj.CmdParameters[0]);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
case 700: //根据货位比较 erp wms库存
|
||
string barcode = mObj.CmdParameters[1].ToString();
|
||
string goodsId = mObj.CmdParameters[0].ToString();
|
||
_strSql = " SELECT 'WMS' as 来源,sum(avcount ) as 数量,locationId as 货位, min(batch) as 批号,max(productdate) as 生产日期,max(validdate) as 有效期至"
|
||
+ " FROM v_stockGoods where {0} group by goodsid,locationid "
|
||
+ " union all "
|
||
+ " SELECT 'ERP' as 来源,count AS 数量,'' AS 货位,batch as 批号,productdate as 生产日期,validDate AS 有效期至 "
|
||
+ " FROM v_erpGoodsBalance e where exists(select 1 from v_stockGoods where goodsId = e.goodsId and {1}) ";
|
||
if(!string.IsNullOrEmpty(barcode)){
|
||
|
||
_strSql = string.Format(_strSql, " barcode=@barcode ", " barcode=@barcode ");
|
||
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
|
||
|
||
}
|
||
else if (!string.IsNullOrEmpty(goodsId))
|
||
{
|
||
_strSql = string.Format(_strSql, " goodsId=@goodsId ", " goodsId=@goodsId ");
|
||
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[0]);
|
||
}
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
|
||
case 800: //已下架商品待上架商品列表
|
||
|
||
int operId = Convert.ToInt16( mObj.CmdParameters[0]) ; //operId ==-1 means all records
|
||
|
||
|
||
_strSql = " select * from v_reportStockRecordDownList4Up4winCE ";
|
||
|
||
if (operId > 0)
|
||
{
|
||
_strSql +=" where operater =@operaterId ";
|
||
sqlCmd.Parameters.AddWithValue("@operaterId", operId);
|
||
}
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
|
||
case 900: //erp 库存 by barcode
|
||
|
||
_strSql = " SELECT w.*, e.count,e.batch,e.productDate,e.validdate from v_erpGoodsBalance e left outer join v_wmsGoods w "
|
||
+" on e.goodsId = w.GoodsId "
|
||
+ " where w.barcode=@barcode and e.count > 0 ";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[0]);
|
||
break;
|
||
|
||
case 1000: //养护异常停售/停售解除
|
||
|
||
string d = string.Format("\n养护异常操作:{0},操作人{1},时间{2}", ((enumStockLocationStatus)mObj.CmdParameters[1]).ToString(), mObj.CmdParameters[2], DateTime.Now.ToShortDateString());
|
||
|
||
// _strSql = " update v_stockGoods set state =@state,locState=@state, operater = @operId , lastmodified = getdate(), description +=@desc "
|
||
// +" where skuId=@skuId";
|
||
_strSql = " update t_wmsStock set state =@state, operater = @operId , lastmodified = getdate(), description +=@desc "
|
||
+ " where skuId=@skuId ;";
|
||
_strSql += "; update t_wmsLocation set state =@state, operater = @operId , lastmodified = getdate() "
|
||
+ " where exists(select 1 from t_wmsStock where skuId=@skuId and locationId =t_wmsLocation.locationId) ;";
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[1]);
|
||
sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[2]);
|
||
sqlCmd.Parameters.AddWithValue("@desc", d);
|
||
break;
|
||
|
||
case 1100:// 记录养护记录
|
||
|
||
|
||
//_strSql = "update a set maintaindate =dateadd( DAY,b.curCycle,maintainDate),operater =@operId,lastmodified =getdate() from t_wmsStock as a,v_erpGoods as b "
|
||
// + " where a.goodsid=b.goodsid and Locationid=@locId";
|
||
|
||
|
||
_strSql = " update a set maintaindate = getdate(),operater =@operId,lastmodified =getdate() from t_wmsStock as a "
|
||
+ " where Locationid=@locId";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@locId", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[1]);
|
||
|
||
break;
|
||
|
||
|
||
|
||
case 1200:// 根据goodsid,batch取货位存储详细
|
||
|
||
|
||
_strSql = "select * from v_stockGoods "
|
||
// + " where goodsid=@goodsid and batch=@batch "
|
||
+ " where skuId =@skuId "
|
||
+ mObj.CmdParameters[1];
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[0]);
|
||
|
||
// sqlCmd.Parameters.AddWithValue("@goodsid", mObj.CmdParameters[0]);
|
||
// sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[1]);
|
||
|
||
break;
|
||
|
||
case 1300:// 根据goodsid 取10个自由货位
|
||
string strABC = "";
|
||
if (WmsConstants.IN_STOCK_ABC)
|
||
{
|
||
strABC = " and f.ABC = g.ABC ";
|
||
}
|
||
_strSql = "select top (@cnt/2) f.* ,'零货位' as locType,g.bulkMax as volume from v_freelocations f inner join v_wmsgoods g on f.goodstype = g.goodstype and volType =0 " + strABC
|
||
+ " where g.goodsid=@goodsid ";
|
||
_strSql += "union all select top (@cnt/4) f.* ,'小整货位' as locType ,g.batchMax1 as volume from v_freelocations f inner join v_wmsgoods g on f.goodstype = g.goodstype and volType =1" + strABC
|
||
+ " where g.goodsid=@goodsid ";
|
||
_strSql += "union all select top (@cnt/4) f.* ,'大整货位' as locType,g.batchMax2 as volume from v_freelocations f inner join v_wmsgoods g on f.goodstype = g.goodstype and volType =2" + strABC
|
||
+ " where g.goodsid=@goodsid ";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@goodsid", mObj.CmdParameters[0]);
|
||
sqlCmd.Parameters.AddWithValue("@cnt", mObj.CmdParameters[1]);
|
||
|
||
break;
|
||
|
||
case 1400: //query stock record
|
||
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM [v_reportStockRecord] WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
_strSql = "SELECT * FROM (" + _strSql + ")AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID DESC";
|
||
_strSql += ";SELECT COUNT(*) FROM v_reportStockRecord WHERE 1=1 " + mObj.CmdParameters[0].ToString();
|
||
sqlCmd.CommandText = _strSql;
|
||
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
||
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
||
sqlCmd.CommandText = _strSql;
|
||
break;
|
||
|
||
|
||
case 1500: //query stock used percent
|
||
_strSql = "SELECT top (1) usedPercent from v_stockGoodsLocationStat where locationId =@locationid";
|
||
|
||
sqlCmd.CommandText = _strSql;
|
||
|
||
sqlCmd.Parameters.AddWithValue("@locationid", mObj.CmdParameters[0]);
|
||
|
||
break;
|
||
|
||
}
|
||
}
|
||
}
|
||
} |