/// ///INTERFACE IMPLIMENT FOR TABLE t_tmsStock ///By wm with codesmith. ///on 07/27/2017 /// using System; using System.Data.SqlClient; using DeiNiu.Utils; namespace DeiNiu.wms.Data.Model { [Serializable] class TmsStock_Imp : TmsStock_base_Imp { protected override void CmdPrepare(SqlCommand sqlCmd) { base.CmdPrepare(sqlCmd); TmsStock mObj = ( TmsStock)modelObj; switch (_cust_op_flag) { case 99: //query with dic _strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM t_tmsStock 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 t_tmsStock 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_tmsStock WHERE NAME = @NAME"; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@NAME", mObj.CmdParameters[0] ); break; case 200: //to find free location string locationId = mObj.CmdParameters[0].ToString(); _strSql = " SELECT TOP (@cnt) LOC.* FROM t_wmsLocation LOC WHERE LOC.STATE = " + (int)DeiNiu.Utils.enumStockLocationStatus.正常 + " AND (isnull(loc.transLine,0) =@transLine or isnull(loc.transLine,0) = 0)" + " AND LOC.VOLTYPE = @VOLTYPE AND LOC.WHTYPE =@WHTYPE AND NOT EXISTS (SELECT 1 FROM T_TMSSTOCK WHERE LOCATIONID = LOC.LOCATIONID) " ; /* if (!string.IsNullOrEmpty(locationId)) { _strSql = _strSql + " AND LOCATIONID < @LOCATIONID ORDER BY LOC.layer,LOC.locationId DESC;" //货位序号小优先 + _strSql + " AND LOCATIONID > @LOCATIONID ORDER BY LOC.layer,LOC.locationId ;"; }*/ _strSql += " ORDER BY loc.transLine, LOC.layer,LOC.locationId DESC;"; //线路货位不足,取公共货位 sqlCmd.Parameters.AddWithValue("@transLine", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@VOLTYPE", mObj.CmdParameters[1]); sqlCmd.Parameters.AddWithValue("@cnt", mObj.CmdParameters[2]); sqlCmd.Parameters.AddWithValue("@WHTYPE", mObj.CmdParameters[3]); sqlCmd.CommandText = _strSql; break; case 300: //get line 整货集货货位 where the cust in _strSql = "SELECT top 1 locationId FROM v_tmsLineLocation WHERE custId = @custId and volType = @volType "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货); break; case 301: //get public 集货货位 _strSql = " SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and volType = @volType "; sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货); sqlCmd.CommandText = _strSql; break; case 302: //get public 集货货位 _strSql = " SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and volType = @volType "; sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.取总分播区); sqlCmd.CommandText = _strSql; break; case 400: //get 零货集货信息 _strSql = " SELECT * from v_tmsPickRequestBulks where pickOrderNo =@pickOrderNo and (volType = @volType or volType = @volType2) "; // _strSql = " SELECT * from v_tmsPickRequestBulksNoRealLocation where pickOrderNo =@pickOrderNo "; sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]); sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.散货拼箱); sqlCmd.Parameters.AddWithValue("@volType2", (int)enumWhLocVol.散货拼袋); sqlCmd.CommandText = _strSql; break; case 500: //get line 整货集货货位 where the cust in _strSql = "delete from t_tmsstock where pickorderno=@pickorderno "; sqlCmd.CommandText = _strSql; sqlCmd.Parameters.AddWithValue("@pickorderno", mObj.CmdParameters[0]); break; } } } }