using Microsoft.AspNetCore.Http;
|
using Rhea.Common;
|
using SqlSugar;
|
using Swifter.Tools;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Net.WebSockets;
|
using System.Text;
|
using System.Threading.Tasks;
|
using Tiger.IBusiness;
|
using Tiger.IBusiness.WMS;
|
using Tiger.Model;
|
using Tiger.Model.Base;
|
using Tiger.Model.Entitys.MES.Position;
|
|
namespace Tiger.Business
|
{
|
/// <summary>
|
/// 业务单据 上下文
|
/// </summary>
|
public class OrderContext : IOrderContext
|
{
|
#region 业务单据管理
|
/// <summary>
|
/// 业务单据缓存字典
|
/// </summary>
|
public static Dictionary<string, IWmsOrder<iBizOrder>> OrderDic { get; set; } = new Dictionary<string, IWmsOrder<iBizOrder>>();
|
public Dictionary<string, IWmsOrder<iBizOrder>> GetOrderDic() => OrderDic;
|
|
/// <summary>
|
/// 从业务单据字典中获取一个业务单据对象
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static IWmsOrder<iBizOrder> Get(string order)
|
{
|
if (OrderDic.ContainsKey(order))
|
{
|
return OrderDic[order];
|
}
|
return null;
|
}
|
|
/// <summary>
|
/// 从业务单据字典中获取一个业务单据对象
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public IWmsOrder<iBizOrder> GetOrder(string order)
|
{
|
return Get(order);
|
}
|
|
/// <summary>
|
/// 判断业务单据是否存在于业务单据字典中
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static bool Exists(string order)
|
{
|
return OrderDic.ContainsKey(order);
|
}
|
|
/// <summary>
|
/// 判断业务单据是否存在于业务单据字典中
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public bool ExistsOrder(string order)
|
{
|
return Exists(order);
|
}
|
|
/// <summary>
|
/// 增加一个业务单据对象到业务单据字典中
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static bool Add(IWmsOrder<iBizOrder> order)
|
{
|
try
|
{
|
if (OrderDic.ContainsKey(order.OrderNo))
|
{
|
OrderDic[order.OrderNo] = order;
|
}
|
else
|
{
|
OrderDic.Add(order.OrderNo, order);
|
}
|
return true;
|
}
|
catch (Exception ex)
|
{
|
Logger.Default.Fatal(ex, $"从业务单据字典中删除业务单据[{order}]对象异常");
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 增加一个业务单据对象到业务单据字典中
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static bool Add(string type, string order)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 增加一个业务单据对象到业务单据字典中
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public bool AddOrder(string type, string order)
|
{
|
return Add(type, order);
|
}
|
|
/// <summary>
|
/// 从业务单据字典中删除一个业务单据对象
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static bool Remove(string order)
|
{
|
try
|
{
|
if (OrderDic.ContainsKey(order))
|
{
|
OrderDic.Remove(order);
|
}
|
return true;
|
}
|
catch (Exception ex)
|
{
|
Logger.Default.Fatal(ex, $"从业务单据字典中删除业务单据[{order}]对象异常");
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 从业务单据字典中删除一个业务单据对象
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public bool RemoveOrder(string order)
|
{
|
return Remove(order);
|
}
|
|
/// <summary>
|
/// 清空业务单据字典
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public static bool Clear()
|
{
|
try
|
{
|
OrderDic.Clear();
|
return true;
|
}
|
catch (Exception ex)
|
{
|
Logger.Default.Fatal(ex, $"清空业务单据字典异常");
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 清空业务单据字典
|
/// </summary>
|
/// <param name="order"></param>
|
/// <returns></returns>
|
public bool ClearOrder()
|
{
|
return Clear();
|
}
|
|
#endregion
|
}
|
}
|