IQueryDataService.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.Collections.Generic;
  4. using System.Collections.ObjectModel;
  5. using System.Data;
  6. using System.ServiceModel;
  7. using Aitex.Core.Common;
  8. using Aitex.Core.Common.DeviceData;
  9. using Aitex.Core.RT.Event;
  10. using Aitex.Core.UI.ControlDataContext;
  11. using Aitex.Core.Util;
  12. using Aitex.Sorter.Common;
  13. using MECF.Framework.Common.Beckhoff.AxisProvider;
  14. using MECF.Framework.Common.Beckhoff.IOAxis;
  15. using MECF.Framework.Common.Beckhoff.Station;
  16. using MECF.Framework.Common.CommonData;
  17. using MECF.Framework.Common.CommonData.DeviceData;
  18. using MECF.Framework.Common.CommonData.Dryer;
  19. using MECF.Framework.Common.CommonData.Loader;
  20. using MECF.Framework.Common.CommonData.Metal;
  21. using MECF.Framework.Common.CommonData.PowerSupplier;
  22. using MECF.Framework.Common.CommonData.Prewet;
  23. using MECF.Framework.Common.CommonData.PUF;
  24. using MECF.Framework.Common.CommonData.Reservoir;
  25. using MECF.Framework.Common.CommonData.SRD;
  26. using MECF.Framework.Common.CommonData.TemperatureControl;
  27. using MECF.Framework.Common.CommonData.Transporter;
  28. using MECF.Framework.Common.ControlDataContext;
  29. using MECF.Framework.Common.DBCore;
  30. using MECF.Framework.Common.Device.LinMot;
  31. using MECF.Framework.Common.Device.PowerSupplier;
  32. using MECF.Framework.Common.Device.ResistivityProbe;
  33. using MECF.Framework.Common.Device.Rinse;
  34. using MECF.Framework.Common.Device.Safety;
  35. using MECF.Framework.Common.Device.TemperatureController;
  36. using MECF.Framework.Common.Equipment;
  37. using MECF.Framework.Common.IOCore;
  38. using MECF.Framework.Common.Jobs;
  39. using MECF.Framework.Common.Layout;
  40. using MECF.Framework.Common.Persistent.Dryer;
  41. using MECF.Framework.Common.Persistent.Prewet;
  42. using MECF.Framework.Common.Persistent.Reservoirs;
  43. using MECF.Framework.Common.Persistent.Rinse;
  44. using MECF.Framework.Common.Persistent.SRD;
  45. using MECF.Framework.Common.Persistent.Temperature;
  46. using MECF.Framework.Common.Schedulers;
  47. using MECF.Framework.Common.SubstrateTrackings;
  48. using MECF.Framework.Common.ToolLayout;
  49. using MECF.Framework.Common.WaferHolder;
  50. using CyberX8_Core;
  51. using VenusCommon;
  52. using MECF.Framework.Common.RecipeCenter;
  53. using MECF.Framework.Common.ProcessCell;
  54. namespace MECF.Framework.Common.DataCenter
  55. {
  56. [ServiceContract]
  57. [ServiceKnownType(typeof(SignalTowerDataItem))]
  58. [ServiceKnownType(typeof(ControlJobInfo))]
  59. [ServiceKnownType(typeof(GateValveDataItem))]
  60. [ServiceKnownType(typeof(List<EventItem>))]
  61. [ServiceKnownType(typeof(List<HistoryCarrierData>))]
  62. [ServiceKnownType(typeof(List<HistoryProcessData>))]
  63. [ServiceKnownType(typeof(List<HistoryWaferData>))]
  64. [ServiceKnownType(typeof(List<HistoryMoveData>))]
  65. [ServiceKnownType(typeof(List<LeakCheckResultItem>))]
  66. [ServiceKnownType(typeof(List<NotifiableIoItem>))]
  67. [ServiceKnownType(typeof(NotifiableIoItem))]
  68. [ServiceKnownType(typeof(AITValveData))]
  69. [ServiceKnownType(typeof(AITMfcData))]
  70. [ServiceKnownType(typeof(AITHeaterData))]
  71. [ServiceKnownType(typeof(AITChillerData))]
  72. [ServiceKnownType(typeof(AITThermalCoupleData))]
  73. [ServiceKnownType(typeof(AITWaterFlowMeterData))]
  74. [ServiceKnownType(typeof(AITPressureMeterData))]
  75. [ServiceKnownType(typeof(AITRfData))]
  76. [ServiceKnownType(typeof(AITThrottleValveData))]
  77. [ServiceKnownType(typeof(AITSensorData))]
  78. [ServiceKnownType(typeof(AITPumpData))]
  79. [ServiceKnownType(typeof(AITSignalTowerData))]
  80. [ServiceKnownType(typeof(AITEmoData))]
  81. [ServiceKnownType(typeof(AITStatisticsData))]
  82. [ServiceKnownType(typeof(AITBoostPumpData))]
  83. [ServiceKnownType(typeof(AITCylinderData))]
  84. [ServiceKnownType(typeof(AITWaterFlowSensorData))]
  85. [ServiceKnownType(typeof(AITServoMotorData))]
  86. [ServiceKnownType(typeof(AITLidData))]
  87. [ServiceKnownType(typeof(ServoState))]
  88. [ServiceKnownType(typeof(AITRfPowerData))]
  89. [ServiceKnownType(typeof(AITRfMatchData))]
  90. [ServiceKnownType(typeof(AITHVData))]
  91. [ServiceKnownType(typeof(FlowMeterAlarmItem))]
  92. [ServiceKnownType(typeof(WaferInfo))]
  93. [ServiceKnownType(typeof(WaferInfo[]))]
  94. [ServiceKnownType(typeof(CarrierInfo))]
  95. [ServiceKnownType(typeof(CarrierInfo[]))]
  96. [ServiceKnownType(typeof(NotifiableIoItem))]
  97. [ServiceKnownType(typeof(IndicatorState))]
  98. [ServiceKnownType(typeof(FoupClampState))]
  99. [ServiceKnownType(typeof(FoupDoorState))]
  100. [ServiceKnownType(typeof(LoadportCassetteState))]
  101. [ServiceKnownType(typeof(AITRfidReaderData))]
  102. [ServiceKnownType(typeof(AITAlignerData))]
  103. [ServiceKnownType(typeof(AITWaferIdReaderData))]
  104. [ServiceKnownType(typeof(AITHighTemperatureHeaterData))]
  105. [ServiceKnownType(typeof(ResRecipe))]
  106. [ServiceKnownType(typeof(DepRecipe))]
  107. [ServiceKnownType(typeof(PwtRecipe))]
  108. [ServiceKnownType(typeof(HvdRecipe))]
  109. [ServiceKnownType(typeof(SrdRecipe))]
  110. [ServiceKnownType(typeof(QdrRecipe))]
  111. [ServiceKnownType(typeof(ModuleName))]
  112. [ServiceKnownType(typeof(LidState))]
  113. [ServiceKnownType(typeof(DeviceState))]
  114. [ServiceKnownType(typeof(SorterRecipeXml))]
  115. [ServiceKnownType(typeof(SorterRecipeType))]
  116. [ServiceKnownType(typeof(SorterRecipePlaceModeOrder))]
  117. [ServiceKnownType(typeof(SorterRecipePlaceModeTransfer1To1))]
  118. [ServiceKnownType(typeof(SorterRecipePlaceModePack))]
  119. [ServiceKnownType(typeof(ObservableCollection<SorterRecipeTransferTableItem>))]
  120. [ServiceKnownType(typeof(SorterRecipeTransferTableItem))]
  121. [ServiceKnownType(typeof(SlotTransferInfo))]
  122. [ServiceKnownType(typeof(SlotTransferInfo[]))]
  123. [ServiceKnownType(typeof(List<string>))]
  124. [ServiceKnownType(typeof(SerializableDictionary<string, bool>))]
  125. [ServiceKnownType(typeof(SerializableDictionary<string, string>))]
  126. [ServiceKnownType(typeof(ConcurrentDictionary<string, bool>))]
  127. [ServiceKnownType(typeof(SerializableDictionary<string, List<string>>))]
  128. [ServiceKnownType(typeof(MoveItem))]
  129. [ServiceKnownType(typeof(RobotMoveInfo))]
  130. [ServiceKnownType(typeof(RecipeResult))]
  131. [ServiceKnownType(typeof(AITPendulumValveData))]
  132. [ServiceKnownType(typeof(ObservableCollection<MFCCalibrationData>))]
  133. [ServiceKnownType(typeof(List<PMLeakCheckResult>))]
  134. [ServiceKnownType(typeof(BeckhoffStationAxis))]
  135. [ServiceKnownType(typeof(BeckhoffAxis))]
  136. [ServiceKnownType(typeof(BeckhoffProviderAxis))]
  137. [ServiceKnownType(typeof(LinmotDeviceConfig))]
  138. [ServiceKnownType(typeof(CommandMotionData))]
  139. [ServiceKnownType(typeof(PowerSupplierData))]
  140. [ServiceKnownType(typeof(ThorntonDeviceConfig))]
  141. [ServiceKnownType(typeof(TemperatureDeviceConfig))]
  142. [ServiceKnownType(typeof(TemperatureControllerData))]
  143. [ServiceKnownType(typeof(LoaderSideData))]
  144. [ServiceKnownType(typeof(LoaderCommonData))]
  145. [ServiceKnownType(typeof(ProcessLayout))]
  146. [ServiceKnownType(typeof(PowerSupplierDevice))]
  147. [ServiceKnownType(typeof(List<CommonLimitData>))]
  148. [ServiceKnownType(typeof(TransporterData))]
  149. [ServiceKnownType(typeof(SrdCommonData))]
  150. [ServiceKnownType(typeof(SRDPersistentValue))]
  151. [ServiceKnownType(typeof(WaferHolderInfo))]
  152. [ServiceKnownType(typeof(PrewetPumpData))]
  153. [ServiceKnownType(typeof(PrewetPersistentValue))]
  154. [ServiceKnownType(typeof(SafetyData))]
  155. [ServiceKnownType(typeof(RinseData))]
  156. [ServiceKnownType(typeof(RinsePersistentValue))]
  157. [ServiceKnownType(typeof(ReservoirsPersistentValue))]
  158. [ServiceKnownType(typeof(DryerPersistentValue))]
  159. [ServiceKnownType(typeof(DryerCommonData))]
  160. [ServiceKnownType(typeof(CommonLimitData))]
  161. [ServiceKnownType(typeof(RinseItem))]
  162. [ServiceKnownType(typeof(LinMotDeviceData))]
  163. [ServiceKnownType(typeof(StandardHotReservoirData))]
  164. [ServiceKnownType(typeof(CompactMembranReservoirData))]
  165. [ServiceKnownType(typeof(StandardHotMetalDeviceData))]
  166. [ServiceKnownType(typeof(CompactMembranMetalDeviceData))]
  167. [ServiceKnownType(typeof(StandardHotMetalDeviceData))]
  168. [ServiceKnownType(typeof(MetalPersistentValue))]
  169. [ServiceKnownType(typeof(TCPersistentValue))]
  170. [ServiceKnownType(typeof(ReplenData[]))]
  171. [ServiceKnownType(typeof(List<ModuleMaterial>))]
  172. [ServiceKnownType(typeof(MetalUsage))]
  173. [ServiceKnownType(typeof(ReservoirUsage))]
  174. [ServiceKnownType(typeof(Dictionary<string, ReplenPersistentValue>))]
  175. [ServiceKnownType(typeof(List<AlarmList>))]
  176. [ServiceKnownType(typeof(ObservableCollection<SignalTowerItem>))]
  177. public interface IQueryDataService
  178. {
  179. [OperationContract]
  180. object GetData(string key);
  181. [OperationContract]
  182. Dictionary<string, object> PollData(IEnumerable<string> keys);
  183. [OperationContract]
  184. Dictionary<string, object> PollConfig(IEnumerable<string> keys);
  185. [OperationContract]
  186. object GetConfig(string key);
  187. [OperationContract]
  188. List<NotifiableIoItem> GetDiList(string key);
  189. [OperationContract]
  190. List<NotifiableIoItem> GetDoList(string key);
  191. [OperationContract]
  192. List<NotifiableIoItem> GetAiList(string key);
  193. [OperationContract]
  194. List<NotifiableIoItem> GetAoList(string key);
  195. [OperationContract]
  196. string GetConfigFileContent();
  197. [OperationContract]
  198. List<EventItem> QueryDBEvent(string sql);
  199. [OperationContract]
  200. List<HistoryCarrierData> QueryDBCarrier(string sql);
  201. [OperationContract]
  202. List<HistoryProcessData> QueryDBProcess(string sql);
  203. [OperationContract]
  204. List<HistoryWaferData> QueryDBWafer(string sql);
  205. [OperationContract]
  206. List<HistoryMoveData> QueryDBMovement(string sql);
  207. [OperationContract]
  208. List<HistoryJobMoveData> QueryDBJobMovementByJobGuid(string jobGuid);
  209. [OperationContract]
  210. List<HistoryJobMoveData> QueryDBJobMovementByJobGuidAndStationName(string jobGuid,string stationName);
  211. [OperationContract]
  212. List<HistoryDataItem> GetHistoryData(IEnumerable<string> keys, string recipeRunGuid, string module);
  213. [OperationContract]
  214. List<HistoryDataItem> GetOneDayHistoryData(IEnumerable<string> keys,DateTime begin,string module);
  215. [OperationContract]
  216. List<HistoryDataItem> GetHistoryDataFromStartToEnd(IEnumerable<string> keys, DateTime begin,DateTime end, string module);
  217. [OperationContract]
  218. DataTable QueryData(string sql);
  219. [OperationContract]
  220. List<LeakCheckResultItem> GetHistoryLeakCheck(string Module);
  221. [OperationContract]
  222. List<PMLeakCheckResult> GetPMLeakCheckResult(string moduleName);
  223. [OperationContract]
  224. List<MFCVerificationData> GetMFCVerificationData(DateTime begin, DateTime end);
  225. [OperationContract]
  226. List<MFCVerificationOnePointData> GetMFCVerificationOnePointData();
  227. [OperationContract]
  228. List<MFCVerificationTenPointsData> GetMFCVerificationTenPointsData();
  229. [OperationContract]
  230. List<HistoryStepItem> GetHistorySteps(DateTime begin, DateTime end);
  231. [OperationContract]
  232. List<OffsetItem> QueryOffsetDataByTime(string moduleName, DateTime from_time, DateTime to_time);
  233. [OperationContract]
  234. string GetTypedConfigContent(string type, string contentPath);
  235. [OperationContract]
  236. void SetTypedConfigContent(string type, string contentPath, string content);
  237. [OperationContract]
  238. List<UserItem> QueryAllUsers();
  239. [OperationContract]
  240. void InserUser(UserItem userItem);
  241. [OperationContract]
  242. void DeleteUser(string userName);
  243. [OperationContract]
  244. void EditUser(UserItem userName);
  245. }
  246. }