39 lines
1.5 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
} |