服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2 天以前 3ab68d4877acffcb9677ecf369e15210e5db6981
Tiger.Controllers.WMS/Controllers/WMSController.Print_BIZ_U9_ASN.cs
@@ -13,7 +13,7 @@
    {
        /// <summary>
        /// GetTransaction(ApiAction(Data:UserId))
        /// 根据ApiAction的id返回一个(U9)来料打印上架事务
        /// 根据ApiAction的id返回一个(U9)来料打印清点事务
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
@@ -72,16 +72,16 @@
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.Close()); }
                        }
                        response.Message = $"(U9)来料打印上架事务[ID:{action.ID}]关闭{(response.IsSuccessed ? "成功" : "失败")}";
                        response.Message = $"(U9)来料打印清点事务[ID:{action.ID}]关闭{(response.IsSuccessed ? "成功" : "失败")}";
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: (U9)来料打印上架事务[ID:{action.ID}]已经关闭", false);
                        response = action.GetResponse($"Transaction Error: (U9)来料打印清点事务[ID:{action.ID}]已经关闭", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: (U9)来料打印上架事务[ID:{action.ID}]已经关闭", false);
                    response = action.GetResponse($"Transaction Error: (U9)来料打印清点事务[ID:{action.ID}]已经关闭", false);
                }
            }
            catch (System.Exception ex)
@@ -121,12 +121,12 @@
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: (U9)来料打印上架事务[ID:{action.ID}]已经关闭,请重新打开(U9)来料打印上架功能", false);
                        response = action.GetResponse($"Transaction Error: (U9)来料打印清点事务[ID:{action.ID}]已经关闭,请重新打开(U9)来料打印清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: (U9)来料打印上架事务[ID:{action.ID}]数据丢失,请重新打开(U9)来料打印上架功能", false);
                    response = action.GetResponse($"Transaction Error: (U9)来料打印清点事务[ID:{action.ID}]数据丢失,请重新打开(U9)来料打印清点功能", false);
                }
            }
            catch (System.Exception ex)
@@ -137,5 +137,90 @@
            return Ok(response);
        }
        [HttpPost]
        [Route("api/[controller]/Print_U9Asn/GetOrderList")]
        public async Task<IActionResult> Print_BIZ_U9_ASN_GetOrderListAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            IPrint_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IPrint_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.GetOrderList().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]/Print_U9Asn/GenerateReceipt")]
        public async Task<IActionResult> Print_BIZ_U9_ASN_GenerateReceiptAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            IPrint_BIZ_U9_ASN trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IPrint_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: 来料打印清点事务[ID:{action.ID}]已经关闭,请重新打开送货单(U9)清点功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: 来料打印清点事务[ID:{action.ID}]数据丢失,请重新打开送货单(U9)清点功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
    }
}