From 94f78e8c3fa502bc52eba2b88d45d5813609036c Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期五, 13 九月 2024 10:26:48 +0800 Subject: [PATCH] 优化工单缓存对象更新逻辑 --- Tiger.Api/Controllers/MES/MESController.PackingNode.cs | 87 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 86 insertions(+), 1 deletions(-) diff --git a/Tiger.Api/Controllers/MES/MESController.PackingNode.cs b/Tiger.Api/Controllers/MES/MESController.PackingNode.cs index 88dbd25..49fb4cd 100644 --- a/Tiger.Api/Controllers/MES/MESController.PackingNode.cs +++ b/Tiger.Api/Controllers/MES/MESController.PackingNode.cs @@ -102,6 +102,45 @@ /// <summary> + /// Reset(ApiAction) + /// 閲嶇疆宸ュ簭鎿嶄綔 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/PackingNode/Reset")] + public async Task<IActionResult> PackingNode_ResetAsync([FromBody] ApiAction action) + { + ApiAction response; + IPackingNode trans = null; + try + { + if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.MES.Context.GetTransDic()[action.ID] as IPackingNode; + if (!trans.IsFinished) + { + lock (trans.TransLock) { response = action.GetResponse(trans.Reset()); } + } + else + { + response = action.GetResponse($"Transaction Error: 宀椾綅[{trans.PostCode}]鐨勫寘瑁呭伐搴忎簨鍔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> /// SelectWO(ApiAction(Data:{WoInput})) /// 鍖呰宸ュ簭锛氶�夋嫨宸ュ崟 /// </summary> @@ -149,7 +188,7 @@ /// <summary> /// Submit(ApiAction(Data:{SubmitInput})) - /// 娴嬭瘯宸ュ簭锛氭彁浜ゆ搷浣滄暟鎹� + /// 鍖呰宸ュ簭锛氭彁浜ゆ搷浣滄暟鎹� /// </summary> /// <param name="action"></param> /// <returns></returns> @@ -193,5 +232,51 @@ return Ok(response); } + /// <summary> + /// CompletePkg(ApiAction) + /// 鍖呰宸ュ簭锛氭墜鍔ㄧ粨鏉熷寘瑁� + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/PackingNode/CompletePkg")] + public async Task<IActionResult> PackingNode_CompletePkgAsync([FromBody] ApiAction action) + { + ApiAction response; + IPackingNode trans = null; + try + { + if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.MES.Context.GetTransDic()[action.ID] as IPackingNode; + if (!trans.IsFinished) + { + if (action.IsAsync) + { + response = action.GetResponse(await trans.CompletePkg(action)); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.CompletePkg(action).Result); } + } + } + else + { + response = action.GetResponse($"Transaction Error: 宀椾綅[{trans.PostCode}]鐨勫寘瑁呭伐搴忎簨鍔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