Track()返回值加workerId+重放验证通过:三页面总产量一致(2038)

main
haoliang 1 month ago
parent 0cbb829ebf
commit af774ba564

@ -481,12 +481,13 @@ namespace CncCollector.Core
records.Add(record); records.Add(record);
// 产量跟踪program_name为空时不触发分段逻辑 // 产量跟踪program_name为空时不触发分段逻辑
var (logText, changed, todayTotal) = _tracker.Track( var trackResult = _tracker.Track(
machine.Id, record.ProgramName, record.TotalPartCount, collectTime); machine.Id, record.ProgramName, record.TotalPartCount, collectTime);
record.WorkerId = trackResult.matchedWorkerId;
analysisLogs.Add("---机床:" + machine.Name + "---"); analysisLogs.Add("---机床:" + machine.Name + "---");
analysisLogs.Add("采集到:程序名=" + (record.ProgramName ?? "(空)") + ",加工零件总数=" + (record.TotalPartCount?.ToString() ?? "(空)")); analysisLogs.Add("采集到:程序名=" + (record.ProgramName ?? "(空)") + ",加工零件总数=" + (record.TotalPartCount?.ToString() ?? "(空)"));
analysisLogs.Add("处理结果:" + logText); analysisLogs.Add("处理结果:" + trackResult.logText);
analysisLogs.Add("当日该机床累计产量:" + todayTotal.ToString("F0") + "个"); analysisLogs.Add("当日该机床累计产量:" + trackResult.todayTotal.ToString("F0") + "个");
analysisLogs.Add(""); analysisLogs.Add("");
} }

@ -18,14 +18,14 @@ namespace CncCollector.Core
_connectionString = connectionString; _connectionString = connectionString;
} }
public (string logText, bool changed, decimal todayTotal) Track( public (string logText, bool changed, decimal todayTotal, int? matchedWorkerId) Track(
int machineId, string programName, decimal? totalPartCount, DateTime collectTime) int machineId, string programName, decimal? totalPartCount, DateTime collectTime)
{ {
if (string.IsNullOrEmpty(programName) || !totalPartCount.HasValue) if (string.IsNullOrEmpty(programName) || !totalPartCount.HasValue)
{ {
var skipReason = string.IsNullOrEmpty(programName) ? "程序名为空" : "加工零件总数为空"; var skipReason = string.IsNullOrEmpty(programName) ? "程序名为空" : "加工零件总数为空";
_log.Debug(string.Format("机床{0}: 跳过产量跟踪({1}", machineId, skipReason)); _log.Debug(string.Format("机床{0}: 跳过产量跟踪({1}", machineId, skipReason));
return ("跳过:" + skipReason, false, 0); return ("跳过:" + skipReason, false, 0, null);
} }
lock (_lock) lock (_lock)
@ -70,13 +70,13 @@ namespace CncCollector.Core
new { Mid = machineId, Date = effectiveDate, WorkerId = matchedWorkerId }); new { Mid = machineId, Date = effectiveDate, WorkerId = matchedWorkerId });
_log.Info(string.Format("机床{0}: {1}(当日累计产量={2}", machineId, logText, todayTotal)); _log.Info(string.Format("机床{0}: {1}(当日累计产量={2}", machineId, logText, todayTotal));
return (logText, changed, todayTotal); return (logText, changed, todayTotal, matchedWorkerId);
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
_log.Error(string.Format("产量跟踪处理失败machine_id={0}", machineId), ex); _log.Error(string.Format("产量跟踪处理失败machine_id={0}", machineId), ex);
return ("异常:" + ex.Message, false, 0); return ("异常:" + ex.Message, false, 0, null);
} }
} }
} }

@ -184,11 +184,12 @@ namespace CncReplay
records.Add(record); records.Add(record);
// 调用产量跟踪 // 调用产量跟踪
var (logText, changed, todayTotal) = tracker.Track( var trackResult = tracker.Track(
machine.Id, programName, totalPartCount, log.RequestTime); machine.Id, programName, totalPartCount, log.RequestTime);
record.WorkerId = trackResult.matchedWorkerId;
analysisLogs.Add("---机床:" + machine.Name + "---"); analysisLogs.Add("---机床:" + machine.Name + "---");
analysisLogs.Add("程序名=" + (programName ?? "空") + ",加工零件总数=" + (totalPartCount?.ToString() ?? "空")); analysisLogs.Add("程序名=" + (programName ?? "空") + ",加工零件总数=" + (totalPartCount?.ToString() ?? "空"));
analysisLogs.Add("结果:" + logText + ",当日产量=" + todayTotal.ToString("F0")); analysisLogs.Add("结果:" + trackResult.logText + ",当日产量=" + trackResult.todayTotal.ToString("F0"));
} }
// 写入采集记录 + 更新分析日志 // 写入采集记录 + 更新分析日志

Loading…
Cancel
Save