2023-05-23 16:13:17 +08:00
/// <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 ] ) ;
2023-05-23 23:33:56 +08:00
sqlCmd . Parameters . AddWithValue ( "@state1" , ( int ) enumStockLocationStatus . 养 护 异 常 ) ;
sqlCmd . Parameters . AddWithValue ( "@state2" , ( int ) enumStockLocationStatus . 不 可 用 ) ;
2023-05-23 16:13:17 +08:00
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
2023-06-04 12:58:50 +08:00
_strSql = " SELECT * FROM v_stockGoods a where exists(select 1 from v_erpGoodsBarcods where goodsId=a.goodsId and barcode =@barcode)" ;
2023-05-23 16:13:17 +08:00
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 : //养护异常停售/停售解除
2023-05-23 23:33:56 +08:00
string d = string . Format ( "\n养护异常操作:{0},操作人{1},时间{2}" , ( ( enumStockLocationStatus ) mObj . CmdParameters [ 1 ] ) . ToString ( ) , mObj . CmdParameters [ 2 ] , DateTime . Now . ToShortDateString ( ) ) ;
2023-05-23 16:13:17 +08:00
// _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 ;
}
}
}
}