using Microsoft.AspNetCore.Http;
using Rhea.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tiger.IBusiness;
using static Tiger.Business.Biz;
namespace Tiger.Business.MES
{
///
/// 工单 上下文
///
public class WoContext
{
#region 工单管理
///
///
///
public static Dictionary WoBatchDic { get; set; } = new Dictionary();
///
/// 从工单批次字典中获取一个工单批次对象
///
///
///
///
public static WorkBatch GetBatch(string workorder, string lineCode)
{
return WoBatchDic.FirstOrDefault(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode).Value;
}
///
/// 判断工单批次是否存在于工单批次字典中
///
///
///
///
public static bool ExistsBatch(string workorder, string lineCode)
{
return WoBatchDic.Any(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode);
}
/// 从工单批次字典中删除一个工单批次对象
///
///
///
///
public static bool RemoveWo(string workorder)
{
try
{
var list = WoBatchDic.Keys.ToList().Where(q => q.Contains(workorder));
foreach (var batch in list)
{
WoBatchDic.Remove(batch);
}
return true;
}
catch (Exception ex)
{
Logger.Default.Fatal(ex, $"从工单批次字典中删除一个工单[{workorder}]对象异常");
return false;
}
}
/// 从工单批次字典中删除一个工单批次对象
///
///
///
///
public static bool RemoveBatch(string batchNo)
{
try
{
if (WoBatchDic.ContainsKey(batchNo))
{
WoBatchDic.Remove(batchNo);
}
return true;
}
catch (Exception ex)
{
Logger.Default.Fatal(ex, $"从工单批次字典中删除一个工单批次[{batchNo}]对象异常");
return false;
}
}
#endregion
}
}