服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-12-17 738df70120209daecd85566d0c50dbf56d9e4453
一些更改
已修改11个文件
263 ■■■■ 文件已修改
Tiger.Business.MES/BIZ/BIZ_MES_WO.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/Position.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.TestNode.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.MES/BIZ/IMES_WO.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.MES/Transaction/IPosition.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -755,5 +755,28 @@
            }
            return result;
        }
        #region 提交前通用方法
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </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 Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == code).FirstAsync();
                action.Data.Defect = DbCache.Cache.Defect[code];
            }
            catch (Exception ex)
            {
                action.CatchExceptionWithLog(ex, $"检查条码{code}异常");
            }
            return action;
        }
        #endregion
    }
}
Tiger.Business.MES/Transaction/Position.cs
@@ -993,27 +993,6 @@
            return list;
        }
        #endregion
        #region 提交前通用方法
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </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)
            {
                action.CatchExceptionWithLog(ex, $"检查条码{code}异常");
            }
            return action;
        }
        #endregion
        #endregion Functions
        public override bool Close(bool needSaveHistoryLog = false)
Tiger.Controllers.MES/Controllers/MESController.BIZ_MES_WO.cs
@@ -302,5 +302,26 @@
            }
            return Ok(response);
        }
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> CheckCode([FromBody] ApiAction action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IBIZ_MES_WO>().CheckCode(action.Data?.ToString()));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
    }
}
Tiger.Controllers.MES/Controllers/MESController.CollectNode.cs
@@ -230,50 +230,5 @@
            trans?.AddHistory(Request, action);
            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);
        }
    }
}
Tiger.Controllers.MES/Controllers/MESController.PackingNode.cs
@@ -276,50 +276,5 @@
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </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);
        }
    }
}
Tiger.Controllers.MES/Controllers/MESController.TestNode.cs
@@ -269,50 +269,5 @@
            return Ok(response);
        }
        /// <summary>
        /// 提交前检查是否岗位、工单和不良代码
        /// </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
}
Tiger.Controllers.MES/Controllers/MESController.YadaPacking.cs
@@ -366,45 +366,5 @@
            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);
        }
    }
}
Tiger.IBusiness.MES/BIZ/IMES_WO.cs
@@ -25,5 +25,6 @@
        public Task<ApiAction> SavePrintLabelInAct(string code);
        public Task<ApiAction> UnbindWipSnFromWO(UnbindWipSnInput input);
        public Task<ApiAction<InStoreInfo>> GetErpProdInBth(string code);
        public Task<ApiAction<CheckCodeOutput>> CheckCode(string code);
    }
}
Tiger.IBusiness.MES/Transaction/IPosition.cs
@@ -87,7 +87,6 @@
        /// <param name="curAction"></param>
        /// <returns></returns>
        public string GenerateSN(string ruleCode, IWorkAction curAction);
        public Task<ApiAction<CheckCodeOutput>> CheckCode(string code);
        #endregion Functions
    }
}
Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
@@ -62,4 +62,15 @@
        public string BatchNo { get; set; }
        public string NodeName { 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; }
    }
}
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -335,14 +335,4 @@
        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; }
    }
}