From 74f4d54e15111db46e15680cb47ba7bec847fc3b Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期五, 14 三月 2025 15:47:45 +0800
Subject: [PATCH] 增加送货单(U9)清点和收货单(U9)上架的Controller

---
 Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs                 |   41 ++++
 Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs  |  403 ++++++++++++++++++++++++++++++++++++++++
 Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs              |   10 
 Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs |  141 ++++++++++++++
 4 files changed, 590 insertions(+), 5 deletions(-)

diff --git a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
index 69f11c8..255dfb3 100644
--- a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
+++ b/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
diff --git a/Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs b/Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs
new file mode 100644
index 0000000..88d4b60
--- /dev/null
+++ b/Tiger.Controllers.WMS/Controllers/WMSController.Count_BIZ_U9_ASN.cs
@@ -0,0 +1,403 @@
+锘縰sing 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鐨刬d杩斿洖涓�涓�佽揣鍗�(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)))
+        /// 璁剧疆鏀惰揣鍗曟槑缁嗚禒鍝佹暟閲忥紝鏍规嵁浼犲叆鏄庣粏瀹炰綋锛屾洿鏂板叾涓璔TY_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);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs b/Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs
new file mode 100644
index 0000000..e3abe37
--- /dev/null
+++ b/Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs
@@ -0,0 +1,141 @@
+锘縰sing 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鐨刬d杩斿洖涓�涓敹璐у崟(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);
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs b/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
index 43241ca..97291d2 100644
--- a/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
+++ b/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
@@ -1,10 +1,14 @@
 锘縰sing 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);
     }
 }

--
Gitblit v1.9.3