using System; using System.ComponentModel; using DDUtilityApp.DATA; using JWH; using JWH.DATA; namespace DDUtilityApp.LOGPARSER.DATA { /// /// EIS 설비 정보 /// public class EisEquipment : DataTableBase { /// LogServer Information public LogServer Server { get; set; } /// MES.FacilityName public string Facility { get; set; } /// MES.FacilityName public string OrderByKey { get { return string.IsNullOrEmpty(this.Facility) ? "" : this.Facility.Substring(0, 2); } } /// EIS.Line public string Line { get; set; } /// MES.ProcessSegmentID public string ProcessSegmentID { get; set; } /// MES.ProcessSegmentName public string ProcessSegmentName { get; set; } /// EIS.ModelID public string ModelID { get; set; } /// MES.Maker public string Maker { get; set; } /// EIS.ModelVersion (From EIS.EquipmentModelDetails) public string ModelVersion { get; set; } /// EIS.Version public string Version { get; set; } /// EIS.RunningVersion public string RunningVersion { get; set; } /// Empty public string CusLibVersion { get; set; } /// EIS.EquipmentID public string EquipmentID { get; set; } /// Name is Select(MES, EIS) [ReadOnly(true)] public string DisplayName { get { string value = string.Empty; foreach(string name in this.DisplayNameOrder.Split(';')) { value = this.PropertyGet(name).ToString(); if (!string.IsNullOrEmpty(value)) break; } return value; } } /// EIS.Description public string Description { get; set; } /// EIS.GemSettingID (From DriverParameter) public string GemSettingID { get; set; } /// EIS.DriverFileName (From DriverParameter) public string DriverFileName { get; set; } /// EIS.EquipmentIP (From DriverParameter) public string EquipmentIP { get; set; } /// EIS.Port (From DriverParameter) public int Port { get; set; } /// Empty public string ServerName { get; set; } /// EIS.ServerIP public string ServerIP { get; set; } /// EIS.OriginServerIP public string OriginServerIP { get; set; } /// LogServerIP public string LogServerIP { get; set; } private string m_LogPath = string.Empty; /// EIS.LogPath public string LogPath { get { return this.m_LogPath; } set { this.m_LogPath = this.SetLogPath(value); } } /// MES.Description public string MesName { get; set; } /// MES.OperationMode public string OperationMode { get; set; } private string m_ControlMode = string.Empty; /// MES.ControlMode public string ControlMode { get { return this.m_ControlMode; } set { this.m_ControlMode = value.ToTitleCase(); } } private string m_EquipmentState = string.Empty; /// MES.EqpState public string State { get { return this.m_EquipmentState; } set { this.m_EquipmentState = value.ToTitleCase(); } } /// MES.LastTrackInLotID public string LastTrackInLotID { get; set; } /// MES.LastTrackOutLotID public string LastTrackOutLotID { get; set; } /// DisplayName OrderBy public string DisplayNameOrder { get; set; } = "MesName;Description;"; /// MES 기준등록 존재여부 public bool MesRegistration { get; set; } = true; /// MES Daemon public string MesDaemon { get; set; } /// MES Service public string MesService { get; set; } /// MES Subject public string MesSubject { get; set; } /// PLC_TYPE public string PlcType { get; set; } /// PM Date public DateTime PMDate { get; set; } private string SetLogPath(string value) { try { if (value.StartsWith(@"\")) { string[] values = value.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries); this.LogServerIP = values[0]; } else { if (value.StartsWith("X:")) this.LogServerIP = "192.168.7.150"; else this.LogServerIP = this.ServerIP; } return value; } catch { return value; } } } }