服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-17 35afcfe07fef52f74a2079fdb5977a87f88ddbb6
Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs
@@ -231,5 +231,49 @@
            return Ok(response);
        }
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </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);
        }
    }
}