From beca28ecb3a730ffb33c21e0c55c729774725faf Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期五, 25 四月 2025 16:51:28 +0800 Subject: [PATCH] 优化备料单发料逻辑 --- Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) diff --git a/Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs b/Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs index 4ffdf1e..dbed44a 100644 --- a/Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs +++ b/Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs @@ -215,5 +215,51 @@ trans?.AddHistory(Request, action); return Ok(response); } + + /// <summary> + /// GenerateDlvyBatch(ApiAction(BaseInput)) + /// 鍒涘缓鍙戞枡鎵规浠ュ畬鎴愭湰娆″彂鏂欙紝璋冪敤鍙戞枡鍗曟嵁鐨凟RP鎺ュ彛 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/Out_PREP/GenerateDlvyBatch")] + public async Task<IActionResult> Out_BIZ_WMS_PREP_GenerateDlvyBatchAsync([FromBody] ApiAction<BaseInput> action) + { + ApiAction response; + IOut_BIZ_WMS_PREP trans = null; + try + { + if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IOut_BIZ_WMS_PREP; + if (!trans.IsFinished) + { + if (action.IsAsync) + { + response = action.GetResponse(await trans.GenerateDlvyBatch(action.Data)); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.GenerateDlvyBatch(action.Data).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); + } }//endClass } \ No newline at end of file -- Gitblit v1.9.3