/// ///INTERFACE IMPLIMENT FOR TABLE t_wmsStockPandian ///By wm with codesmith. ///on 07/27/2018 /// using System; using System.Data.SqlClient; using DeiNiu.Utils; namespace DeiNiu.wms.Data.Model { [Serializable] class WmsStockPandian_Imp : WmsStockPandian_base_Imp { protected override void CmdPrepare(SqlCommand sqlCmd) { base.CmdPrepare(sqlCmd); WmsStockPandian mObj = ( WmsStockPandian)modelObj; switch (_cust_op_flag) { case 99: //query with dic _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM v_pandian WHERE DR = 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_pandian WHERE DR = 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: //by name _strSql = "SELECT * FROM t_wmsStockPandian WHERE [orderNo] = @orderNo"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); break; case 200: string cols = "[locationId] ,[skuId] ,[skuCode] ,[goodsId],[batch],[productDate],[validDate],[shelfCount],[state] "; _strSql = string.Format( " insert into t_wmsStockPandianStockMirror([orderNo],{0},[operater]) " + "select '{1}',{2}, {3} from v_stockGoods where 1=1 {4} " , cols, mObj.CmdParameters[1].ToString(),cols,mObj.CmdParameters[2].ToString(), mObj.CmdParameters[0].ToString()); //to update stock set loctation to be disabled // _strSql += "; update v_stockGoods set locState =@status where 1=1 " + mObj.CmdParameters[0].ToString(); // _strSql += "; update v_stockGoods set state =@status where 1=1 " + mObj.CmdParameters[0].ToString(); // sqlCmd.Parameters.AddWithValue("@status", enumStockLocationStatus.盘点锁定); LogHelper.debug(GetType()," to create mirror: " + _strSql + ""); sqlCmd.CommandText = _strSql; break; case 300: _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY GOODSID DESC) as sortNo FROM [v_PandianStockBalance_running] WHERE [orderNo] = @orderNo"; _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY GOODSID DESC"; _strSql += ";SELECT COUNT(*) FROM v_PandianStockBalance_running WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@START", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@END", mObj.CmdParameters[2]); sqlCmd.CommandText = _strSql; break; case 400: _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY LOCATIONID DESC) as sortNo FROM [v_PandianStockDiff_running] WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); string goodsId = mObj.CmdParameters[1].ToString(); if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; sqlCmd.Parameters.AddWithValue("@goodsId", goodsId); } _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY LOCATIONID DESC"; _strSql += ";SELECT COUNT(*) FROM v_PandianStockDiff_running WHERE [orderNo] = @orderNo"; if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; } _strSql += "; SELECT * FROM t_wmsStockPandian WHERE [orderNo] = @orderNo"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@START", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@END", mObj.CmdParameters[3]); sqlCmd.CommandText = _strSql; break; case 410: _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY LOCATIONID DESC) as sortNo FROM [v_pandianReuslt] WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); goodsId = mObj.CmdParameters[1].ToString(); if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; sqlCmd.Parameters.AddWithValue("@goodsId", goodsId); } _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY LOCATIONID DESC"; _strSql += ";SELECT COUNT(*) FROM v_pandianReuslt WHERE [orderNo] = @orderNo"; if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; } sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@START", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@END", mObj.CmdParameters[3]); sqlCmd.CommandText = _strSql; break; case 420: _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY GOODSID DESC) as sortNo FROM [v_pandianResultSum] WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); goodsId = mObj.CmdParameters[1].ToString(); if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; sqlCmd.Parameters.AddWithValue("@goodsId", goodsId); } _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY GOODSID DESC"; _strSql += ";SELECT COUNT(*) FROM v_pandianResultSum WHERE [orderNo] = @orderNo"; if (!string.IsNullOrEmpty(goodsId)) { _strSql += " and goodsId =@goodsId"; } sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@START", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@END", mObj.CmdParameters[3]); sqlCmd.CommandText = _strSql; break; case 500: _strSql = "SELECT * FROM t_wmsStockPandian WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 600: _strSql = "SELECT * FROM [v_PandianStockDiff_running] WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 700: _strSql = "DELETE FROM T_WMSSTOCKPANDIANADJUST WHERE [orderNo] = @orderNo"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 800: _strSql = "SELECT * FROM [t_wmsStockPandian] WHERE [ownerId] = @ownerId and status =@status"; sqlCmd.Parameters.AddWithValue("@ownerId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@status", mObj.CmdParameters[1]); sqlCmd.CommandText = _strSql; break; case 810: _strSql = "SELECT top 1 * FROM [t_wmsStockPandian] WHERE status >=@status1 and status < @status2"; sqlCmd.Parameters.AddWithValue("@status1", (int)enumPandianStatus.开始采集); sqlCmd.Parameters.AddWithValue("@status2", (int)enumPandianStatus.盘点结束); sqlCmd.CommandText = _strSql; break; case 900: _strSql = " update v_stockGoods set locState =@status where 1=1 " + mObj.CmdParameters[0].ToString(); _strSql += "; update v_stockGoods set state =@status where 1=1 " + mObj.CmdParameters[0].ToString(); sqlCmd.Parameters.AddWithValue("@status", mObj.CmdParameters[1]); sqlCmd.CommandText = _strSql; break; case 1000: _strSql = "SELECT * FROM [v_pandianTarget] WHERE [orderNo] = @orderNo and locationId =@locationId"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@locationId", mObj.CmdParameters[1]); sqlCmd.CommandText = _strSql; break; case 1100: _strSql = "SELECT * FROM [v_pandianMirror] WHERE [orderNo] = @orderNo order by locationId"; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 1200: _strSql = "insert into [t_wmsOrderDetail] (orderNo,goodsId,goodsName,unit,count,whtype)" + " select orderNo,goodsId,goodsName,unit,avcount,0 from [v_pandianResultSum] " + " where orderno =@orderNo "; sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; case 1300: _strSql = " TRUNCATE TABLE t_wmsStockPandianStockMirror;" + " TRUNCATE TABLE t_wmsStockPandianResult; "; sqlCmd.CommandText = _strSql; break; case 1400: //取当前货位所在的货架的同区的盘点任务 _strSql = "SELECT * FROM [v_pandianTarget] WHERE part =@part and channel =@channel and shelf=@shelf " + // " and state =@state" + " order by layer,col "; sqlCmd.Parameters.AddWithValue("@part", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@channel", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@shelf", mObj.CmdParameters[2]); sqlCmd.CommandText = _strSql; break; case 1500: _strSql = " select * from t_wmsStockPandian p where exists (select 1 from t_wmsStockPandianStockMirror where orderno = p.orderNo)"; sqlCmd.CommandText = _strSql; break; case 1600: _strSql = " select top 100 * from v_PandianStockDiff_target where part = @part order by locationid "; sqlCmd.Parameters.AddWithValue("@part", mObj.CmdParameters[0]); sqlCmd.CommandText = _strSql; break; } } } }