From 35afcfe07fef52f74a2079fdb5977a87f88ddbb6 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 17 十二月 2024 20:40:47 +0800 Subject: [PATCH] 提交前检查是否岗位、工单和不良代码 --- Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs | 2 Tiger.Business.MES/Transaction/Position.cs | 13 ++ Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs | 44 +++++++++++ Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs | 40 ++++++++++ Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs | 10 ++ Tiger.IBusiness.MES/Transaction/IPosition.cs | 1 Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs | 44 +++++++++++ Tiger.Controllers.MES/Controllers/MESController.TestNode.cs | 45 +++++++++++ 8 files changed, 195 insertions(+), 4 deletions(-) diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs index 37e3293..eeca62b 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs @@ -37,7 +37,7 @@ Logger.Scheduler.Info(context.Trigger.ConvertToMonitor()); try { - var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE; + var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE; var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-10) : Convert.ToDateTime(_lastRunTime); if ((DateTime.Now - LastRunTime).TotalMinutes > 10) { diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 83c2ad7..601f1a3 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -994,11 +994,18 @@ } #endregion #region 鎻愪氦鍓嶉�氱敤鏂规硶 - public async Task<ApiAction> CheckCode(string code) { - var action = new ApiAction(); + /// <summary> + /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜 + /// </summary> + /// <param name="code"></param> + /// <returns></returns> + public async Task<ApiAction<CheckCodeOutput>> CheckCode(string code) { + var action = new ApiAction<CheckCodeOutput>($"妫�鏌ユ潯鐮亄code}鎴愬姛", new CheckCodeOutput()); try { - + action.Data.Position = DbCache.Cache.Position[code]; + action.Data.WorkOrder = await MainDB.Queryable<BIZ_MES_WO>().Where(q=>q.ORDER_NO == code).FirstAsync(); + action.Data.Defect = DbCache.Cache.Defect[code]; } catch (Exception ex) { diff --git a/Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs b/Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs index 05ca13e..27a358d 100644 --- a/Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs +++ b/Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs @@ -231,5 +231,49 @@ return Ok(response); } + /// <summary> + /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/CollectNode/CheckCode")] + public async Task<IActionResult> CollectNode_CheckCodeAsync([FromBody] ApiAction action) + { + ApiAction response; + ICollectNode trans = null; + try + { + if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.MES.Context.GetTransDic()[action.ID] as ICollectNode; + if (!trans.IsFinished) + { + if (action.IsAsync) + { + response = action.GetResponse(await trans.CheckCode(action.Data?.ToString())); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.CheckCode(action.Data?.ToString()).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); + } } } diff --git a/Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs b/Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs index 82e7481..eab6535 100644 --- a/Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs +++ b/Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs @@ -277,5 +277,49 @@ return Ok(response); } + /// <summary> + /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/PackingNode/CheckCode")] + public async Task<IActionResult> PackingNode_CheckCodeAsync([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.CheckCode(action.Data?.ToString())); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.CheckCode(action.Data?.ToString()).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); + } } } diff --git a/Tiger.Controllers.MES/Controllers/MESController.TestNode.cs b/Tiger.Controllers.MES/Controllers/MESController.TestNode.cs index 2b29632..4899fc2 100644 --- a/Tiger.Controllers.MES/Controllers/MESController.TestNode.cs +++ b/Tiger.Controllers.MES/Controllers/MESController.TestNode.cs @@ -269,5 +269,50 @@ return Ok(response); } + /// <summary> + /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/TestNode/CheckCode")] + public async Task<IActionResult> TestNode_CheckCodeAsync([FromBody] ApiAction action) + { + ApiAction response; + ITestNode trans = null; + try + { + if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.MES.Context.GetTransDic()[action.ID] as ITestNode; + if (!trans.IsFinished) + { + if (action.IsAsync) + { + response = action.GetResponse(await trans.CheckCode(action.Data?.ToString())); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.CheckCode(action.Data?.ToString()).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); + } + }//endClass } diff --git a/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs b/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs index b55fbae..dc1176f 100644 --- a/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs +++ b/Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs @@ -366,5 +366,45 @@ trans?.AddHistory(Request, action); return Ok(response); } + + [HttpPost] + [Route("api/[controller]/YadaPacking/CheckCode")] + public async Task<IActionResult> YadaPacking_CheckCodeAsync([FromBody] ApiAction action) + { + ApiAction response; + IYadaPacking trans = null; + try + { + if (iBiz.MES.Context.GetTransDic().ContainsKey(action.ID)) + { + trans = iBiz.MES.Context.GetTransDic()[action.ID] as IYadaPacking; + if (!trans.IsFinished) + { + if (action.IsAsync) + { + response = action.GetResponse(await trans.CheckCode(action.Data?.ToString())); + } + else + { + lock (trans.TransLock) { response = action.GetResponse(trans.CheckCode(action.Data?.ToString()).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); + } } } diff --git a/Tiger.IBusiness.MES/Transaction/IPosition.cs b/Tiger.IBusiness.MES/Transaction/IPosition.cs index 75bc542..3ece515 100644 --- a/Tiger.IBusiness.MES/Transaction/IPosition.cs +++ b/Tiger.IBusiness.MES/Transaction/IPosition.cs @@ -87,6 +87,7 @@ /// <param name="curAction"></param> /// <returns></returns> public string GenerateSN(string ruleCode, IWorkAction curAction); + public Task<ApiAction<CheckCodeOutput>> CheckCode(string code); #endregion Functions } } diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs index d74c353..6f04db8 100644 --- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs +++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs @@ -335,4 +335,14 @@ public int ShipQty { get; set; } } + /// <summary> + /// 鎻愪氦鍓嶆鏌ヨ緭鍑哄弬鏁� + /// </summary> + public class CheckCodeOutput + { + public MES_POSITION Position { get; set; } + public BIZ_MES_WO WorkOrder { get; set; } + public BAS_DEFECT Defect { get; set; } + } + } -- Gitblit v1.9.3