ldj/Model/wms/data/TmsStock_Imp.cs

83 lines
4.4 KiB
C#
Raw Normal View History

2023-05-23 16:13:17 +08:00

/// <summary>
///INTERFACE IMPLIMENT FOR TABLE t_tmsStock
///By wm with codesmith.
///on 07/27/2017
/// </summary>
using System;
using System.Data.SqlClient;
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();
2023-05-23 23:33:56 +08:00
_strSql = " SELECT TOP (@cnt) LOC.* FROM t_wmsLocation LOC WHERE LOC.STATE = " + (int)DeiNiu.Utils.enumStockLocationStatus.
2023-05-23 16:13:17 +08:00
+ " 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 = 6";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]);
break;
case 301: //get public 整货集货货位
_strSql = " SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and volType = 6 ";
sqlCmd.CommandText = _strSql;
break;
case 400: //get 零货集货信息
_strSql = " SELECT * from v_tmsPickRequestBulks where pickOrderNo =@pickOrderNo and (volType = 4 or volType =5) ";
// _strSql = " SELECT * from v_tmsPickRequestBulksNoRealLocation where pickOrderNo =@pickOrderNo ";
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]);
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;
}
}
}
}