服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-01-10 0aa630ac8c349b35da1f87c4cf1af7151d13d5c5
重命名类和接口,新增API端点

在 `ReprintLabel.cs` 文件中,将类名 `ReprintBarcode` 修改为 `RePrintLabel`,并且实现的接口从 `IReprintBarcode` 改为 `IRePrintLabel`。同时,`Init` 方法的返回类型也相应地从 `IReprintBarcode` 改为 `IRePrintLabel`。

在 `WMSController.RePrintLabel.cs` 文件中,新增了一个 `WMSController` 部分类,并添加了三个新的 API 端点:
* `RePrintLabel_GetTransaction`:根据 `ApiAction` 的 `id` 返回一个查询储位补印条码事务。
* `RePrintLabel_CloseTransaction`:关闭事务。
* `RePrintLabel_ScanItemAsync`:扫描入库。

在 `IRePrintLabel.cs` 文件中,将接口名 `IReprintBarcode` 修改为 `IRePrintLabel`,并且 `Init` 方法的返回类型也相应地从 `IReprintBarcode` 改为 `IRePrintLabel`。

这些更改主要是为了重命名类和接口,以更好地反映其功能,并添加了新的 API 端点以支持新的功能。
已重命名2个文件
已添加1个文件
149 ■■■■■ 文件已修改
Tiger.Business.WMS/Transaction/ReprintLabel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.WMS/Controllers/WMSController.RePrintLabel.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.WMS/Transaction/IRePrintLabel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/ReprintLabel.cs
ÎļþÃû´Ó Tiger.Business.WMS/Transaction/ReprintBarcode.cs ÐÞ¸Ä
@@ -20,9 +20,9 @@
    /// <summary>
    /// æŸ¥å‚¨ä½è¡¥å°æ¡ç äº‹åŠ¡
    /// </summary>
    public class ReprintBarcode : WMSTransactionBase, IReprintBarcode
    public class RePrintLabel : WMSTransactionBase, IRePrintLabel
    {
        public IReprintBarcode Init(string id, string userCode, string apiHost, string orgCode)
        public IRePrintLabel Init(string id, string userCode, string apiHost, string orgCode)
        {
            TransID = id;
            UserCode = userCode;
Tiger.Controllers.WMS/Controllers/WMSController.RePrintLabel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
using System;
using System.Threading.Tasks;
using Rhea.Common;
using Tiger.Model;
using Tiger.IBusiness;
using Microsoft.AspNetCore.Mvc;
using Tiger.Model.Minsun;
using Autofac;
namespace Tiger.Api.Controllers.WMS
{
    public partial class WMSController : ControllerBase
    {
        /// <summary>
        /// GetTransaction(ApiAction(Data:UserId))
        /// æ ¹æ®ApiAction的id返回一个查询储位补印条码事务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/RePrintLabel/GetTransaction")]
        public IActionResult RePrintLabel_GetTransaction([FromBody] ApiAction<USER> action)
        {
            ApiAction response;
            IRePrintLabel trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IRePrintLabel;
                }
                else
                {
                    trans = AutoFacContainer.Instance.Resolve<IRePrintLabel>().Init(action.ID, action.Data?.USER_CODE, Request.Host.Value, action.Data?.ORG_CODE);
                    iBiz.WMS.Context.NewTransaction(HttpContext, trans);
                }
                response = action.GetResponse();
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// CloseTransaction(ApiAction)
        /// å…³é—­äº‹åŠ¡
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/RePrintLabel/CloseTransaction")]
        public IActionResult RePrintLabel_CloseTransaction([FromBody] ApiAction action)
        {
            ApiAction response;
            IRePrintLabel trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IRePrintLabel;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(trans.Close());
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.Close()); }
                        }
                        response.Message = $"查询储位补印条码事务[ID:{action.ID}]关闭{(response.IsSuccessed ? "成功" : "失败")}";
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: æŸ¥è¯¢å‚¨ä½è¡¥å°æ¡ç äº‹åŠ¡[ID:{action.ID}]已经关闭", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: æŸ¥è¯¢å‚¨ä½è¡¥å°æ¡ç äº‹åŠ¡[ID:{action.ID}]已经关闭", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// æ‰«æå…¥åº“
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/RePrintLabel/ScanItem")]
        public async Task<IActionResult> RePrintLabel_ScanItemAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            IRePrintLabel trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IRePrintLabel;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.Scan(action.Data));
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.Scan(action.Data).Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: æŸ¥è¯¢å‚¨ä½è¡¥å°æ¡ç äº‹åŠ¡[ID:{action.ID}]已经关闭,请重新打开查询储位补印条码功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: æŸ¥è¯¢å‚¨ä½è¡¥å°æ¡ç äº‹åŠ¡[ID:{action.ID}]数据丢失,请重新打开查询储位补印条码功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
    }
}
Tiger.IBusiness.WMS/Transaction/IRePrintLabel.cs
ÎļþÃû´Ó Tiger.IBusiness.WMS/Transaction/IReprintBarcode.cs ÐÞ¸Ä
@@ -11,9 +11,9 @@
namespace Tiger.IBusiness
{
    public interface IReprintBarcode : IWMSTransaction
    public interface IRePrintLabel : IWMSTransaction
    {
        public IReprintBarcode Init(string id, string userCode, string apiHost, string orgCode);
        public IRePrintLabel Init(string id, string userCode, string apiHost, string orgCode);
        public Task<ApiAction<ScanOutput>> Scan(BaseInput input);