/// ///INTERFACE IMPLIMENT FOR TABLE t_wmsGoods ///By wm with codesmith. ///on 05/04/2017 /// using System; using System.Data.SqlClient; using DeiNiu.Utils; namespace DeiNiu.wms.Data.Model { [Serializable] class WmsGoods_Imp : WmsGoods_base_Imp { protected override void CmdPrepare(SqlCommand sqlCmd) { base.CmdPrepare(sqlCmd); WmsGoods mObj = ( WmsGoods)modelObj; switch (_cust_op_flag) { case 99: //query with dic _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM V_WMSGOODS WHERE DR = 1 " + mObj.CmdParameters[0].ToString(); _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END"; _strSql += ";SELECT COUNT(*) FROM V_WMSGOODS 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_wmsGoods WHERE NAME = @NAME"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@NAME", mObj.CmdParameters[0] ); break; case 110: // initial by goodsId _strSql = "SELECT * FROM v_wmsGoods WHERE GOODSID = @GOODSID"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]); break; case 120: // initial by goodsId _strSql = "SELECT * FROM v_wmsGoods WHERE GOODSID = @GOODSID"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]); break; case 300: //initial goods from erp _strSql = " insert into [t_wmsGoods] (goodsid,ownercode,length,width,height,weight,bigCount,goodsType)" + " select goodsid,entid,chang,kuan,gao,weight,bigCount,locType from v_erpGoodLocType v where not exists(select 1 from t_wmsGoods where goodsId = v.goodsId ) ;"; sqlCmd.CommandText = _strSql; break; case 400: _strSql = " SELECT * FROM [t_SkuValue] where skuid = @skuId " + " and exists(select 1 from t_LotAtt where lotid =@lotId and attname =@attName " + " and [t_SkuValue].attID =id)"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@attName", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@lotId", mObj.CmdParameters[2]); break; case 500: // select packing _strSql = "SELECT * FROM v_erpGoodsPacking WHERE GOODSID = @GOODSID"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@GOODSID", mObj.CmdParameters[0]); break; case 600: // select goods packing by barcode _strSql = "SELECT distinct * FROM v_erpGoodsBarcods WHERE barcode = @barcode"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[0]); break; case 610: // select goods packing by barcode _strSql = "select * from v_wmsgoods g where ( barcode = @barcode or goodsid =@barcode) or exists ( SELECT 1 FROM v_erpGoodsBarcods WHERE goodsId =g.goodsId and barcode = @barcode)"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[0]); break; case 700: // 取没有对应货位类别字典的分类 _strSql = "SELECT distinct [drug_code] ,[locType] ,[locTypeName] FROM [v_erpGoodLocType] where loctype is null"; sqlCmd.CommandText = _strSql; break; case 800: // 取没有对应货位类别字典的分类 _strSql = "select * from [v_erpGoodLocType] where drug_code =@drugCode;"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@drugCode", mObj.CmdParameters[0]); break; case 810: // 取没有对应货位类别字典的分类 _strSql = "update t_wmsgoods set goodstype =@goodsType where " + " exists ( select * from [v_erpGoodLocType] where goodsid = t_wmsgoods.goodsId and drug_code =@drugCode) ;"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@drugCode", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@goodsType", mObj.CmdParameters[1]); break; case 900: _strSql ="SELECT isnull(sum(count),0) as repCnt FROM [t_wmsOutPickDetail] a where createtime +1>GETDATE() and skuid =@skuId and exists (select 1 from t_wmsoutpickrequest where pickorderno =a.pickorderno and ordertype=3) and state<5 " +";" + "SELECT isnull(sum(bulkCount),0) as bulkCnt FROM [t_wmsOutPickDetail] a where createtime +1>GETDATE() and skuid =@skuId and customerId >0 and not exists(select 1 from t_wmsOutPickPort where pickDetailId =a.id)"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@skuId", mObj.CmdParameters[0]); break; case 1000: // 取没有对应货位类别字典的分类 // _strSql = "SELECT * FROM [t_wmsOutPickDetail] a where state =2 and not exists(select 1 from [t_wmsOutPickDetail] where skuid =a.skuid and customerid is null and state <3 and createtime +1 >getdate());"; _strSql = " SELECT goodsId,skuId,batch,sum(bulkCount) as count" + " FROM [t_wmsOutPickDetail] a where state =2 and createtime +1 >getdate()" + " and not exists(select 1 from [t_wmsOutPickDetail] where skuid =a.skuid and customerid is null and state <3 and createtime +1 >getdate())" + " group by goodsId,skuId,batch;"; sqlCmd.CommandText = _strSql; break; // case 1100: // 取没有对应货位类别字典的分类 _strSql = "SELECT * FROM [wmsuzhou2].[dbo].[v_wmsGoods] where goodsName like '%'+ @keywords +'%' " + " or goodsid like '%' + @keywords +'%' " + " or barcode like '%'+ @keywords +'%' ;"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@keywords", mObj.CmdParameters[0]); break; } } } }