From 9556c5fc2168b71e5aba4bd5353fcd70e681ee46 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 09 十二月 2024 01:54:25 +0800
Subject: [PATCH] 调用U9C接口生成入库单更新

---
 Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 1 deletions(-)

diff --git a/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs b/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
index 16f3892..702d093 100644
--- a/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
+++ b/Tiger.Controllers.MES/Controllers/MESController.InStoreOrderNo.cs
@@ -10,6 +10,7 @@
 using Tiger.Model;
 using Tiger.Model.Entitys.MES.BizPrintInstoreDoc;
 using Tiger.Model.Entitys.MES.Position;
+using Tiger.Model.Entitys.MES.U9C;
 
 namespace Tiger.Api.Controllers.MES
 {
@@ -36,9 +37,10 @@
                 {
                     trans = AutoFacContainer.Instance.Resolve<IInStoreOrderNo>().Init(action.ID, Request.Host.Value,  action.Data);
                     iBiz.MES.Context.NewTransaction(HttpContext, trans);
+
                 }
 
-                response = action.GetResponse();
+                response = action.GetResponse(trans.GetInStoreInfos());
             }
             catch (System.IO.InvalidDataException ex)
             {
@@ -147,5 +149,94 @@
             return Ok(response);
         }
 
+        /// <summary>
+        /// 璋冪敤U9C鎺ュ彛鐢熸垚鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/InStoreOrderNo/GenerateInStoreOrder")]
+        public async Task<IActionResult> InStoreOrderNo_GenerateInStoreOrderAsync([FromBody] ApiAction<RcvRptDocCreateInput> action)
+        {
+            ApiAction response;
+            IInStoreOrderNo trans = null;
+            try
+            {
+                if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID))
+                {
+                    trans = iBiz.MES.Context.GetTransDic()[action.ID] as IInStoreOrderNo;
+                    if (!trans.IsFinished)
+                    {
+                        if (action.IsAsync)
+                        {
+                            response = action.GetResponse(await trans.GenerateInStoreOrder());
+                        }
+                        else
+                        {
+                            lock (trans.TransLock) { response = action.GetResponse(trans.GenerateInStoreOrder().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);
+        }
+
+        /// <summary>
+        /// 鏌ヨ瀵瑰簲鐨勬潯鐮�
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/[controller]/InStoreOrderNo/GetScannedList")]
+        public async Task<IActionResult> InStoreOrderNo_GetScannedListAsync([FromBody] ApiAction action)
+        {
+            ApiAction response;
+            IInStoreOrderNo trans = null;
+            try
+            {
+                if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID))
+                {
+                    trans = iBiz.MES.Context.GetTransDic()[action.ID] as IInStoreOrderNo;
+                    if (!trans.IsFinished)
+                    {
+                        if (action.IsAsync)
+                        {
+                            response = action.GetResponse(await trans.GetScannedList());
+                        }
+                        else
+                        {
+                            lock (trans.TransLock) { response = action.GetResponse(trans.GetScannedList().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);
+        }
     }
 }

--
Gitblit v1.9.3