ldj/Model/wms/data/WmsGoods_Imp.cs

134 lines
7.3 KiB
C#

/// <summary>
///INTERFACE IMPLIMENT FOR TABLE t_wmsGoods
///By wm with codesmith.
///on 05/04/2017
/// </summary>
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 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;
}
}
}
}