From c75d6d3f5793b4d6018a62628ba6a0a80a94bb5d Mon Sep 17 00:00:00 2001 From: liangjunyu <13726812+shifang-tianhua_0@user.noreply.gitee.com> Date: Thu, 11 Sep 2025 15:36:29 +0800 Subject: [PATCH] 1 --- Controllers/EnpowerApiController.cs | 84 +++++++++++++++++++++++------ 1 file changed, 69 insertions(+), 15 deletions(-) diff --git a/Controllers/EnpowerApiController.cs b/Controllers/EnpowerApiController.cs index 6f26f5b..fb0bcad 100644 --- a/Controllers/EnpowerApiController.cs +++ b/Controllers/EnpowerApiController.cs @@ -17,6 +17,7 @@ using RB_MES_APICore.Models.Cloud; using RB_MES_APICore.Models.Pangu; using System.Data; using System.Data.Entity; +using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Text; @@ -200,7 +201,8 @@ namespace RB_MES_API.Controllers { string sform = string.Format(colname + "='{0}'", v); usql += usql == "" ? sform : "," + sform; - }; + } + ; } } if (usql != "") @@ -509,7 +511,7 @@ namespace RB_MES_API.Controllers //LogHelper.WriteLog(string.Format("UpdatePRDMO接口处理发生错误:\"{0}\"接收到的数据是:\"{1}", reason, data)); //throw; } - E: + E: result = JsonConvert.SerializeObject(breakData); _shareController._SqlloggerInvoke(2, DocType, !breakData.Status ? result : "", data, breakData.Status, guid); @@ -672,7 +674,7 @@ namespace RB_MES_API.Controllers //LogHelper.WriteLog(string.Format("UpdatePRDMO接口处理发生错误:\"{0}\"接收到的数据是:\"{1}", reason, data)); //throw; } - E: + E: result = JsonConvert.SerializeObject(breakData); _shareController._SqlloggerInvoke(2, DocType, !breakData.Status ? result : "", data, breakData.Status, guid); return result; @@ -1381,7 +1383,7 @@ namespace RB_MES_API.Controllers else { mess.AppendLine(reason); } breakData.Status = isok; breakData.Message = isok ? "" : mess.ToString(); - E: + E: result = JsonConvert.SerializeObject(breakData); _shareController._SqlloggerInvoke(2, DocType, !breakData.Status ? result : "", data, breakData.Status, guid); return result; @@ -1903,11 +1905,22 @@ namespace RB_MES_API.Controllers return JsonConvert.SerializeObject(breakData); } - //if (!CheckQUEUEIDHasPut(DocType, data, ref reason)) - //{ - // breakData.Message = reason; - // return JsonConvert.SerializeObject(breakData); - //} + Stopwatch checkQueueIdHasFlagWatch = new Stopwatch(); + // 开始计时 + checkQueueIdHasFlagWatch.Start(); + + var checkQueueIdHasFlag = !CheckQUEUEIDHasPut(DocType, data, ref reason); + + // 停止计时 + checkQueueIdHasFlagWatch.Stop(); + // 获取执行时间 + LogHelper.WriteLog($"检测是否已经推送过或者正在推送中 执行时间: {checkQueueIdHasFlagWatch.Elapsed.TotalMilliseconds} 毫秒"); + + if (checkQueueIdHasFlag) + { + breakData.Message = reason; + return JsonConvert.SerializeObject(breakData); + } //先固定好时间 string guid = Guid.NewGuid().ToString("B"); @@ -2193,9 +2206,9 @@ namespace RB_MES_API.Controllers string line = ex.StackTrace.Substring(ex.StackTrace.IndexOf("行号"), ex.StackTrace.Length - ex.StackTrace.IndexOf("行号")); breakData.Message = string.Format("错误在PostAsync{0}发生:{1}", line, ex.Message); } - //LogHelper.WriteLog(string.Format("完成ERP推送:{0}", parm.DocType)); + //LogHelper.WriteLog(string.Format("完成ERP推送:{0}", parm.DocType)); - E: + E: string result = JsonConvert.SerializeObject(breakData); _shareController._SqlloggerInvoke(2, DocType, !breakData.Status ? result : "", data, breakData.Status, guid); return result; @@ -7648,6 +7661,10 @@ namespace RB_MES_API.Controllers /// private async Task SaveBatchPickMtrlAsync(FormIDType formIDType, string data, int fid, int childtypeid) { + Stopwatch stopwatchAll = new Stopwatch(); + // 开始计时 + stopwatchAll.Start(); + BreakData breakData = new BreakData() { Status = false, DataSet = JsonConvert.DeserializeObject(data) }; string reason = string.Empty; //应当就ERP生产用料清单号、行号,查询源单,并校验 @@ -7659,8 +7676,17 @@ namespace RB_MES_API.Controllers if (mes_POInStocks != null) { breakData.Message = string.Empty; + + Stopwatch ExistsDoubleQueidWatch = new Stopwatch(); + // 开始计时 + ExistsDoubleQueidWatch.Start(); //校验是否有重复推单 breakData = ExistsDoubleQueid(mes_POInStocks, formIDType.FDocType); + // 停止计时 + ExistsDoubleQueidWatch.Stop(); + // 获取执行时间 + LogHelper.WriteLog($"校验是否有重复推单执行时间: {ExistsDoubleQueidWatch.Elapsed.TotalMilliseconds} 毫秒"); + if (breakData.Status || !string.IsNullOrEmpty(breakData.Message.ToString())) { return breakData; @@ -7684,12 +7710,23 @@ namespace RB_MES_API.Controllers breakData.Message = "此接口的请求条件未配置"; return breakData; } + + Stopwatch sourcebillsWatch = new Stopwatch(); + // 开始计时 + sourcebillsWatch.Start(); + //把源单信息都取出来 CloudBillQuery billQuery = questobj.FirstOrDefault(); string fk = billQuery.FFieldKeys.Replace("@defaultorgid", LocalStaticRequest.DefaultOrgID.ToString()).Replace("@defaultorgno", LocalStaticRequest.DefaultOrg); string fs = billQuery.FFiledString.Replace("@defaultorgid", LocalStaticRequest.DefaultOrgID.ToString()).Replace("@defaultorgno", LocalStaticRequest.DefaultOrg); //string sourcebills = await _chiledselect.GetCustomRequestTableAsync(billQuery.FFieldKeys, billQuery.FFiledString, billQuery.FOrderString, keyValues); string sourcebills = GetCustomRequestTableAsync(fk, fs, billQuery.FOrderString, keyValues, ref reason); + + // 停止计时 + sourcebillsWatch.Stop(); + // 获取执行时间 + LogHelper.WriteLog($"获取源单执行时间: {sourcebillsWatch.Elapsed.TotalMilliseconds} 毫秒"); + if (!string.IsNullOrWhiteSpace(reason)) { breakData.Message = reason; @@ -7698,9 +7735,19 @@ namespace RB_MES_API.Controllers { //推送数据 var dsb = await _shareController.GetAPIList(); - DataSaveBatch? dataSave = dsb.Where(s => s.GetForm.FFunctionID == fid && s.FDocTypeID == childtypeid) - .FirstOrDefault(); + DataSaveBatch? dataSave = dsb.Where(s => s.GetForm.FFunctionID == fid && s.FDocTypeID == childtypeid).FirstOrDefault(); + + Stopwatch dataConvertWatch = new Stopwatch(); + // 开始计时 + dataConvertWatch.Start(); + List purchaseOrders = _shareController.DataConvertClass(sourcebills, ref reason); + + // 停止计时 + dataConvertWatch.Stop(); + // 获取执行时间 + LogHelper.WriteLog($"数据转换执行时间: {dataConvertWatch.Elapsed.TotalMilliseconds} 毫秒"); + if (!string.IsNullOrWhiteSpace(reason)) { breakData.Message = reason; @@ -7765,6 +7812,13 @@ namespace RB_MES_API.Controllers { breakData.Message = string.IsNullOrEmpty(reason) ? "输入数据转换出错" : reason; } + + // 停止计时 + stopwatchAll.Stop(); + // 获取执行时间 + TimeSpan elapsed = stopwatchAll.Elapsed; + LogHelper.WriteLog($"总执行时间: {elapsed.TotalMilliseconds} 毫秒"); + return breakData; } @@ -8402,7 +8456,7 @@ namespace RB_MES_API.Controllers } list = _shareController.DataConvertClass(head, ref reason); } - E: + E: return list; }/// @@ -8454,7 +8508,7 @@ namespace RB_MES_API.Controllers } list = _shareController.DataConvertClass(head, ref reason); } - E: + E: return list; } ///