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;
|
2023-12-03 22:13:49 +08:00
|
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
using DeiNiu.Utils;
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
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;
|
2024-11-15 23:52:43 +08:00
|
|
|
|
case 10: //by custId
|
|
|
|
|
_strSql = "SELECT * FROM v_tmsLineDetail WHERE custId = @custId";
|
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]);
|
|
|
|
|
break;
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
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
|
2024-11-15 23:52:43 +08:00
|
|
|
|
_strSql = "SELECT top 1 locationId FROM v_tmsLineLocation WHERE locationid is not null and custId = @custId and volType = @volType ";
|
2023-05-23 16:13:17 +08:00
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]);
|
2023-12-03 22:13:49 +08:00
|
|
|
|
sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
break;
|
2023-11-21 19:18:23 +08:00
|
|
|
|
case 301: //get public 集货货位
|
2023-12-03 22:13:49 +08:00
|
|
|
|
_strSql = " SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and volType = @volType ";
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.分拣集货);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
|
break;
|
2023-11-21 19:18:23 +08:00
|
|
|
|
case 302: //get public 集货货位
|
2023-12-03 22:13:49 +08:00
|
|
|
|
_strSql = " SELECT top 1 locationId FROM t_wmsLocation where isnull(transLine,0) =0 and volType = @volType ";
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.取总分播区);
|
2023-11-21 19:18:23 +08:00
|
|
|
|
sqlCmd.CommandText = _strSql;
|
|
|
|
|
break;
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
case 400: //get 零货集货信息
|
2023-12-03 22:13:49 +08:00
|
|
|
|
_strSql = " SELECT * from v_tmsPickRequestBulks where pickOrderNo =@pickOrderNo and (volType = @volType or volType = @volType2) ";
|
2023-05-23 16:13:17 +08:00
|
|
|
|
// _strSql = " SELECT * from v_tmsPickRequestBulksNoRealLocation where pickOrderNo =@pickOrderNo ";
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[0]);
|
2023-12-03 22:13:49 +08:00
|
|
|
|
sqlCmd.Parameters.AddWithValue("@volType", (int)enumWhLocVol.散货拼箱);
|
|
|
|
|
sqlCmd.Parameters.AddWithValue("@volType2", (int)enumWhLocVol.散货拼袋);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|