123 lines
4.0 KiB
C#
123 lines
4.0 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 bool UpInOrderList(string id,string state,string data)
|
|
{
|
|
string upstr = string.Empty;
|
|
if (!string.IsNullOrEmpty(data))
|
|
{
|
|
upstr = ",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 根据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
|
|
}
|
|
}
|