服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2025-03-14 74f4d54e15111db46e15680cb47ba7bec847fc3b
增加送货单(U9)清点和收货单(U9)上架的Controller
已修改2个文件
已添加2个文件
595 ■■■■■ 文件已修改
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs 403 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -475,11 +475,11 @@
            return Orders;
        }
        /// <summary>
        ///  è®¾ç½®æ”¶è´§å•明细赠品数量
        /// </summary>
        /// <returns></returns>
        public async Task<ApiAction> SetGiftQty(BaseInput input)
        /// <summary>
        ///  ç”Ÿæˆæ”¶è´§å•:调用U9新增收货单接口
        /// </summary>
        /// <returns></returns>
        public async Task<ApiAction> SetGiftQty(BaseInput input)
        {
            var action = new ApiAction();
            try
Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,403 @@
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返回一个送货单(U9)清点事务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/GetTransaction")]
        public IActionResult Count_BIZ_U9_ASN_GetTransaction([FromBody] ApiAction<USER> action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                }
                else
                {
                    trans = AutoFacContainer.Instance.Resolve<ICount_BIZ_U9_ASN>().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]/Count_U9ASN/CloseTransaction")]
        public IActionResult Count_BIZ_U9_ASN_CloseTransaction([FromBody] ApiAction action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(trans.Close());
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.Close()); }
                        }
                        response.Message = $"送货单(U9)清点事务[ID:{action.ID}]关闭{(response.IsSuccessed ? "成功" : "失败")}";
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// Scan(ApiAction(BaseInput))
        /// æ‰«æå…¥å£
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/Scan")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_ScanAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    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: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// DeleteScannedList(ApiAction)
        /// åˆ é™¤å½“前所有已清点记录
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/DeleteScannedList")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_DeleteScannedListAsync([FromBody] ApiAction action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.DeleteScannedList());
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.DeleteScannedList().Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// DeleteScannedSn(ApiAction(BaseInput(SN:SN)))
        /// æ ¹æ®ä¼ å…¥è¦åˆ é™¤çš„SN,删除当前用户的已扫单个条码记录
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/DeleteScannedSn")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_DeleteScannedSnAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.DeleteScannedSn(action.Data));
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.DeleteScannedSn(action.Data).Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// GetScannedList(ApiAction)
        /// èŽ·å–æœ¬æ¬¡å·²æ¸…ç‚¹çš„ç‰©æ–™åˆ—è¡¨ï¼ˆå¸¦åˆ†é¡µï¼‰
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/GetScannedList")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_GetScannedListAsync([FromBody] ApiAction action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        response = action.GetResponse(await trans.GetScannedList());
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// GetOrderList(ApiAction)
        /// èŽ·å–å½“å‰æ‰€æœ‰å•æ®ä¿¡æ¯
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/GetOrderList")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_GetOrderListAsync([FromBody] ApiAction action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        response = action.GetResponse(await trans.GetOrderList());
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// SetGiftQty(ApiAction(BaseInput(Data:BIZ_U9_ASN_DTL)))
        /// è®¾ç½®æ”¶è´§å•明细赠品数量,根据传入明细实体,更新其中QTY_GIFT字段
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/SetGiftQty")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_SetGiftQtyAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.SetGiftQty(action.Data));
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.SetGiftQty(action.Data).Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// GenerateReceipt(ApiAction(BaseInput(Data:OrderNo)))
        /// æ ¹æ®ä¼ å…¥çš„单号生成收货单,并调用U9新增收货单接口
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Count_U9ASN/GenerateReceipt")]
        public async Task<IActionResult> Count_BIZ_U9_ASN_GenerateReceiptAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            ICount_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as ICount_BIZ_U9_ASN;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.GenerateReceipt(action.Data));
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.GenerateReceipt(action.Data).Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: é€è´§å•(U9)清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
    }
}
Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.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返回一个收货单(U9)上架事务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/In_U9Receipt/GetTransaction")]
        public IActionResult In_BIZ_U9_RECEIPT_GetTransaction([FromBody] ApiAction<USER> action)
        {
            ApiAction response;
            IIn_BIZ_U9_RECEIPT trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IIn_BIZ_U9_RECEIPT;
                }
                else
                {
                    trans = AutoFacContainer.Instance.Resolve<IIn_BIZ_U9_RECEIPT>().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]/In_U9Receipt/CloseTransaction")]
        public IActionResult In_BIZ_U9_RECEIPT_CloseTransaction([FromBody] ApiAction action)
        {
            ApiAction response;
            IIn_BIZ_U9_RECEIPT trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IIn_BIZ_U9_RECEIPT;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(trans.Close());
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.Close()); }
                        }
                        response.Message = $"收货单(U9)上架事务[ID:{action.ID}]关闭{(response.IsSuccessed ? "成功" : "失败")}";
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: æ”¶è´§å•(U9)上架事务[ID:{action.ID}]已经关闭", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: æ”¶è´§å•(U9)上架事务[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]/In_U9Receipt/Scan")]
        public async Task<IActionResult> In_BIZ_U9_RECEIPT_ScanAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            IIn_BIZ_U9_RECEIPT trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IIn_BIZ_U9_RECEIPT;
                    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: æ”¶è´§å•(U9)上架事务[ID:{action.ID}]已经关闭,请重新打开收货单(U9)上架功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: æ”¶è´§å•(U9)上架事务[ID:{action.ID}]数据丢失,请重新打开收货单(U9)上架功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
    }
}
Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
@@ -1,10 +1,14 @@
using Rhea.Common;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tiger.Model;
using static IronPython.Modules.xxsubtype;
using Tiger.Model.Entitys.MES.U9C;
using Tiger.Model.MES.Yada;
namespace Tiger.IBusiness
{
@@ -20,6 +24,43 @@
        /// </summary>
        public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
        /// <summary>
        /// åˆ é™¤å½“前所有已清点记录
        /// </summary>
        /// <returns></returns>
        public Task<ApiAction> DeleteScannedList();
        /// <summary>
        /// åˆ é™¤å½“前用户的已扫单个记录
        /// </summary>
        /// <returns></returns>
        public Task<ApiAction> DeleteScannedSn(BaseInput input);
        /// <summary>
        ///  èŽ·å–æœ¬æ¬¡å·²æ¸…ç‚¹çš„ç‰©æ–™åˆ—è¡¨ï¼ˆå¸¦åˆ†é¡µï¼‰
        /// </summary>
        /// <returns></returns>
        public Task<PageAble<BIZ_U9_ASN_SN>> GetScannedList();
        /// <summary>
        ///  èŽ·å–å½“å‰æ‰€æœ‰å•æ®ä¿¡æ¯
        /// </summary>
        /// <returns></returns>
        public Task<List<BIZ_U9_ASN>> GetOrderList();
        /// <summary>
        ///  è®¾ç½®æ”¶è´§å•明细赠品数量
        /// </summary>
        /// <returns></returns>
        public Task<ApiAction> SetGiftQty(BaseInput input);
        /// <summary>
        /// ç”Ÿæˆæ”¶è´§å•:调用U9新增收货单接口
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public Task<ApiAction> GenerateReceipt(BaseInput input);
        public bool Close(bool needSaveHistoryLog = false);
    }
}