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); } } }