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 this.MesName;
}
}
/// 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;
}
}
}
}