using System; using System.Collections.Generic; using System.Data; using Aitex.Core.RT.Event; using Aitex.Core.RT.IOCore; using Aitex.Core.UI.ControlDataContext; using Aitex.Core.Util; using Aitex.Core.WCF; using Aitex.Sorter.Common; using MECF.Framework.Common.CommonData; using MECF.Framework.Common.ControlDataContext; using MECF.Framework.Common.DBCore; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.IOCore; using MECF.Framework.Common.SubstrateTrackings; using CyberX8_Core; using VenusCommon; namespace MECF.Framework.Common.DataCenter { public class QueryDataClient : Singleton<QueryDataClient> { public bool InProcess { get; set; } private IQueryDataService _service; public IQueryDataService Service { get { if (_service == null) { if (InProcess) _service = new QueryDataService(); else _service = new QueryDataServiceClient(); } return _service; } } } public class QueryDataServiceClient : ServiceClientWrapper<IQueryDataService>, IQueryDataService { public QueryDataServiceClient() : base("Client_IQueryDataService", "QueryDataService") { } public Dictionary<string, object> PollData(IEnumerable<string> keys) { Dictionary<string, object> result = null; Invoke(svc => { result = svc.PollData(keys); }); return result; } public Dictionary<string, object> PollConfig(IEnumerable<string> keys) { Dictionary<string, object> result = null; Invoke(svc => { result = svc.PollConfig(keys); }); return result; } public object GetData(string key) { object result = null; Invoke(svc => { result = svc.GetData(key); }); return result; } public object GetConfig(string key) { object result = null; try { Invoke(svc => { result = svc.GetConfig(key); }); } catch(Exception ex) { } return result; } public string GetConfigFileContent( ) { string result = null; Invoke(svc => { result = svc.GetConfigFileContent(); }); return result; } public List<EventItem> QueryDBEvent(string sql) { List<EventItem> result = null; Invoke(svc => { result = svc.QueryDBEvent(sql); }); return result; } public List<HistoryCarrierData> QueryDBCarrier(string sql) { List<HistoryCarrierData> result = null; Invoke(svc => { result = svc.QueryDBCarrier(sql); }); return result; } public List<HistoryProcessData> QueryDBProcess(string sql) { List<HistoryProcessData> result = null; Invoke(svc => { result = svc.QueryDBProcess(sql); }); return result; } public List<HistoryWaferData> QueryDBWafer(string sql) { List<HistoryWaferData> result = null; Invoke(svc => { result = svc.QueryDBWafer(sql); }); return result; } public List<HistoryMoveData> QueryDBMovement(string sql) { List<HistoryMoveData> result = null; Invoke(svc => { result = svc.QueryDBMovement(sql); }); return result; } public List<HistoryJobMoveData> QueryDBJobMovementByJobGuid(string jobGuid) { List<HistoryJobMoveData> result = null; Invoke(svc => { result = svc.QueryDBJobMovementByJobGuid( jobGuid); }); return result; } public List<HistoryJobMoveData> QueryDBJobMovementByJobGuidAndStationName(string jobGuid, string stationName) { List<HistoryJobMoveData> result = null; Invoke(svc => { result = svc.QueryDBJobMovementByJobGuidAndStationName( jobGuid, stationName); }); return result; } public List<HistoryDataItem> GetOneDayHistoryData(IEnumerable<string> keys, DateTime begin, string module) { List<HistoryDataItem> result = null; Invoke(svc => { result = svc.GetOneDayHistoryData(keys,begin, module); }); return result; } public List<HistoryDataItem> GetHistoryDataFromStartToEnd(IEnumerable<string> keys, DateTime begin,DateTime end, string module) { List<HistoryDataItem> result = null; Invoke(svc => { result = svc.GetHistoryDataFromStartToEnd(keys, begin, end,module); }); return result; } public DataTable QueryData(string sql) { DataTable result = null; Invoke(svc => { result = svc.QueryData(sql); }); return result; } public List<HistoryDataItem> GetHistoryData(IEnumerable<string> keys, string recipeRunGuid, string module) { List<HistoryDataItem> result = null; Invoke(svc => { result = svc.GetHistoryData(keys, recipeRunGuid, module); }); return result; } public List<NotifiableIoItem> GetDiList(string key) { List<NotifiableIoItem> result = null; Invoke(svc => { result = svc.GetDiList(key); }); return result; } public List<NotifiableIoItem> GetDoList(string key) { List<NotifiableIoItem> result = null; Invoke(svc => { result = svc.GetDoList(key); }); return result; } public List<NotifiableIoItem> GetAiList(string key) { List<NotifiableIoItem> result = null; Invoke(svc => { result = svc.GetAiList(key); }); return result; } public List<NotifiableIoItem> GetAoList(string key) { List<NotifiableIoItem> result = null; Invoke(svc => { result = svc.GetAoList(key); }); return result; } public List<LeakCheckResultItem> GetHistoryLeakCheck(string Module) { List<LeakCheckResultItem> result = null; Invoke(svc => { result = svc.GetHistoryLeakCheck(Module); }); return result; } public List<PMLeakCheckResult> GetPMLeakCheckResult(string Module) { List<PMLeakCheckResult> result = null; Invoke(svc => { result = svc.GetPMLeakCheckResult(Module); }); return result; } public List<MFCVerificationData> GetMFCVerificationData(DateTime begin, DateTime end) { List<MFCVerificationData> result = null; Invoke(svc => { result = svc.GetMFCVerificationData(begin,end); }); return result; } public List<MFCVerificationOnePointData> GetMFCVerificationOnePointData() { List<MFCVerificationOnePointData> result = null; Invoke(svc => { result = svc.GetMFCVerificationOnePointData(); }); return result; } public List<MFCVerificationTenPointsData> GetMFCVerificationTenPointsData() { List<MFCVerificationTenPointsData> result = null; Invoke(svc => { result = svc.GetMFCVerificationTenPointsData(); }); return result; } public List<HistoryStepItem> GetHistorySteps(DateTime begin, DateTime end) { List<HistoryStepItem> result = null; Invoke(svc => { result = svc.GetHistorySteps(begin,end); }); return result; } public List<OffsetItem> QueryOffsetDataByTime(string moduleName, DateTime from_time, DateTime to_time) { List<OffsetItem> result = null; Invoke(svc => { result = svc.QueryOffsetDataByTime(moduleName, from_time, to_time); }); return result; } public List<UserItem> QueryAllUsers() { List<UserItem> result = new List<UserItem>(); Invoke(svc => { result = svc.QueryAllUsers(); }); return result; } public void InserUser(UserItem userItem) { Invoke(svc => { svc.InserUser(userItem); }); } public void DeleteUser(string userName) { Invoke(svc => { svc.DeleteUser(userName); }); } public void EditUser(UserItem userItem) { Invoke(svc => { svc.EditUser(userItem); }); } public string GetTypedConfigContent(string type, string contentPath) { string result = ""; Invoke(svc => { result = svc.GetTypedConfigContent(type, contentPath); }); return result; } public void SetTypedConfigContent(string type, string contentPath, string content) { Invoke(svc => { svc.SetTypedConfigContent(type, contentPath, content); }); } } }