服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-12-08 006c12987d7dc7c2081fbf6715ebea98b93fdca0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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
    {
        /// <summary>
        /// GetWorkBatch(OrderOrBatch)
        /// 根据工单号或者工单批次号返回工单批次缓存对象列表
        /// </summary>
        /// <param name="OrderOrBatch"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/Get")]
        public async Task<IActionResult> 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);
        }
 
        /// <summary>
        /// AddWo(WorkOrder)
        /// 根据工单号,增加一个工单对象到工单批次字典中
        /// </summary>
        /// <param name="WorkOrder"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/AddWo")]
        public async Task<IActionResult> AddWo(string WorkOrder)
        {
            var wb = Cache.WorkBatch.AddWo(WorkOrder);
            return Ok(wb);
        }
 
        /// <summary>
        /// AddBatch(WorkOrder, LineCode)
        /// 根据工单号和产线,增加一个工单批次对象到工单批次字典中
        /// </summary>
        /// <param name="WorkOrder"></param>
        /// <param name="LineCode"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/AddBatch")]
        public async Task<IActionResult> AddBatch(string? WorkOrder, string? LineCode)
        {
            var wb = Cache.WorkBatch.AddBatch(WorkOrder, LineCode);
            return Ok(wb);
        }
 
        /// <summary>
        /// RemoveWo(WorkOrder)
        /// 从工单批次字典中删除一个工单的所有批次对象
        /// </summary>
        /// <param name="WorkOrder"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/RemoveWo")]
        public async Task<IActionResult> RemoveWo(string? WorkOrder)
        {
            var result = Cache.WorkBatch.RemoveWo(WorkOrder);
            return Ok(result);
        }
 
        /// <summary>
        /// RemoveBatch(BatchNo)
        /// 从工单批次字典中删除一个工单批次对象
        /// </summary>
        /// <param name="BatchNo"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/RemoveBatch")]
        public async Task<IActionResult> RemoveBatch(string? BatchNo)
        {
            var result = Cache.WorkBatch.RemoveBatch(BatchNo);
            return Ok(result);
        }
 
        /// <summary>
        /// Update(BatchNo)
        /// 从工单批次字典中删除一个工单批次对象
        /// </summary>
        /// <param name="BatchNo"></param>
        /// <returns></returns>
        [HttpGet("WorkBatch/Update")]
        public async Task<IActionResult> 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);
        }
    }
}