2026-06-05 13:44:39 +09:00

39 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
namespace VisionCommon {
public class ItemManagerBase {
private static readonly object _Lock = new object();
private static Dictionary<SubSysInfo, Dictionary<object, string>> _TimeStamps = new Dictionary<SubSysInfo, Dictionary<object, string>>();
/// <summary>
/// 특정 서브시스템에 대한 동기화된 공정 결과 시간을 저장
/// </summary>
/// <param name="subSysInfo">서브시스템 정보</param>
/// <param name="procResult">공정 결과</param>
/// <returns></returns>
public static string GetTimeStamp(SubSysInfo subSysInfo, object procResult) {
lock (_Lock) {
if (!_TimeStamps.ContainsKey(subSysInfo)) {
_TimeStamps.Add(subSysInfo, new Dictionary<object, string>());
}
if (!_TimeStamps[subSysInfo].ContainsKey(procResult)) {
_TimeStamps[subSysInfo][procResult] = DateTime.Now.ToString("HH:mm:ss:ff");
}
return _TimeStamps[subSysInfo][procResult];
}
}
/// <summary>
/// 특정 서브시스템에 대한 공정 결과 시간 초기화
/// </summary>
/// <param name="subSysInfo">서브시스템 정보</param>
public static void Clear(SubSysInfo subSysInfo) {
if (_TimeStamps.ContainsKey(subSysInfo)) {
_TimeStamps[subSysInfo].Clear();
}
}
}
}