using Rhea.Common;
using Microsoft.AspNetCore.Mvc;
using System;
using Tiger.IBusiness;
using System.Linq;
using System.Threading.Tasks;
using Tiger.Api.DbCache;
namespace Tiger.Api.Controllers.Base
{
public partial class CacheController : ControllerBase
{
///
/// GetWorkBatch(OrderOrBatch)
/// 根据工单号或者工单批次号返回工单批次缓存对象列表
///
///
///
[HttpGet("WorkBatch/Get")]
public async Task GetWorkBatch(string? OrderOrBatch)
{
var wbs = Cache.WorkBatch.GetWoBatchDic().Where(q => OrderOrBatch.IsNullOrEmpty() || q.Value.WO?.ORDER_NO == OrderOrBatch || q.Value.Batch?.BATCH_NO == OrderOrBatch).Select(q => q.Value).ToList();
return Ok(wbs);
}
///
/// AddWo(WorkOrder)
/// 根据工单号,增加一个工单对象到工单批次字典中
///
///
///
[HttpGet("WorkBatch/AddWo")]
public async Task AddWo(string WorkOrder)
{
var wb = Cache.WorkBatch.AddWo(WorkOrder);
return Ok(wb);
}
///
/// AddBatch(WorkOrder, LineCode)
/// 根据工单号和产线,增加一个工单批次对象到工单批次字典中
///
///
///
///
[HttpGet("WorkBatch/AddBatch")]
public async Task AddBatch(string? WorkOrder, string? LineCode)
{
var wb = Cache.WorkBatch.AddBatch(WorkOrder, LineCode);
return Ok(wb);
}
///
/// RemoveWo(WorkOrder)
/// 从工单批次字典中删除一个工单的所有批次对象
///
///
///
[HttpGet("WorkBatch/RemoveWo")]
public async Task RemoveWo(string? WorkOrder)
{
var result = Cache.WorkBatch.RemoveWo(WorkOrder);
return Ok(result);
}
///
/// RemoveBatch(BatchNo)
/// 从工单批次字典中删除一个工单批次对象
///
///
///
[HttpGet("WorkBatch/RemoveBatch")]
public async Task RemoveBatch(string? BatchNo)
{
var result = Cache.WorkBatch.RemoveBatch(BatchNo);
return Ok(result);
}
///
/// Update(BatchNo)
/// 从工单批次字典中删除一个工单批次对象
///
///
///
[HttpGet("WorkBatch/Update")]
public async Task UpdateWorkBatch(string? BatchNo)
{
var wb = Cache.WorkBatch.GetWoBatchDic().Where(q => q.Value.Batch?.BATCH_NO == (BatchNo ?? "")).FirstOrDefault().Value;
if (!wb.IsNullOrEmpty())
{
wb.Update(true);
}
return Ok(wb);
}
}
}