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;
}
///