Files
T-DAS/Epost.DAL/InboundOrdersDAL.cs
2024-12-02 13:53:56 +08:00

150 lines
4.9 KiB
C#

using Epost.Common;
using Epost.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Epost.DAL
{
public class InboundOrdersDAL
{
DataBaseOpration.OprationSqlDAL db = DB_DLL.GetInstance();
#region
public List<InboundOrdersModel> GetOrdersListByPage(string strWhere, string orderby, int startIndex, int endIndex, out int recordCount)
{
try
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by id desc");
}
strSql.Append(")AS Row, T.* from inboundorders T WITH(NOLOCK) ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE 1=1 " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
List<InboundOrdersModel> list = ModelConvertHelper<InboundOrdersModel>.ConvertToList(db.GetsqlForDT(strSql.ToString()));
strSql.Remove(0, strSql.Length);
strSql.Append("SELECT COUNT(*) FROM inboundorders AS T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.AppendFormat(" WHERE 1=1 {0}", strWhere);
}
object obj = db.GetsqlForDT(strSql.ToString()).Rows[0][0];
if (obj != null)
recordCount = Convert.ToInt32(obj);
else
recordCount = 0;
return list;
}
catch (Exception ex)
{
LogHelper.WriteLog(GetType(), ex.Message);
recordCount = 0;
return new List<InboundOrdersModel>();
}
}
#endregion
#region
public DataTable GetOrdersList(string wmsDocNo)
{
string sql = string.Format("select top 1 * from InboundOrders where wmsDocNo = '{0}'",
wmsDocNo);
return db.GetsqlForDT(sql);
}
#endregion
#region
public bool InsertOrders(DataTable dt, Dictionary<string, string> diclist)
{
return db.UpdateData(dt, "InboundOrders", diclist);
}
#endregion
#region
public DataTable GetInOrderList(string strwhere)
{
string sql = string.Format("select * from InboundOrders where 1=1 "+strwhere);
return db.GetsqlForDT(sql);
}
#endregion
#region
public DataTable GetV_InOrders(string strwhere)
{
string sql = string.Format("select * from v_InboundOrders where 1=1 " + strwhere);
return db.GetsqlForDT(sql);
}
#endregion
#region
public DataTable GetLocation(string strwhere)
{
string sql = string.Format("select * from locationInfo where 1=1 " + strwhere);
return db.GetsqlForDT(sql);
}
#endregion
#region
public bool UpInOrderList(string id,string state,string data)
{
string upstr = string.Empty;
if (!string.IsNullOrEmpty(data))
{
upstr = ",agvmsg='',agvid='" + data+"'";
}
string sql = string.Format("update InboundOrders set state ='{0}'"+ upstr + " where id ='{1}'",
state,id);
long x= db.UpdateSql(sql);
if (x > 0)
return true;
return false;
}
#endregion
#region
public bool UpInOrder(string id,string errormsg)
{
string sql = string.Format("update InboundOrders set agvmsg='{0}' where id ='{1}'",
errormsg, id);
long x = db.UpdateSql(sql);
if (x > 0)
return true;
return false;
}
#endregion
#region agv单号更新订单状态
public bool UpInOrderListByAgvid(string agvid, string state)
{
string sql = string.Format("update InboundOrders set state ='{0}' where agvid = '{1}'",
state, agvid);
long x = db.UpdateSql(sql);
LogHelper.WriteLogInfo(x+"更新agv状态"+sql);
if (x > 0)
return true;
return false;
}
#endregion
}
}