IQueryDataService.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.Data;
  5. using System.ServiceModel;
  6. using Aitex.Core.Common;
  7. using Aitex.Core.Common.DeviceData;
  8. using Aitex.Core.RT.Event;
  9. using Aitex.Core.RT.IOCore;
  10. using Aitex.Core.RT.SCCore;
  11. using Aitex.Core.UI.ControlDataContext;
  12. using Aitex.Core.Util;
  13. using Aitex.Sorter.Common;
  14. using MECF.Framework.Common.CommonData;
  15. using MECF.Framework.Common.CommonData.DeviceData;
  16. using MECF.Framework.Common.Communications;
  17. using MECF.Framework.Common.Equipment;
  18. using MECF.Framework.Common.Event;
  19. using MECF.Framework.Common.FAServices.E40s;
  20. using MECF.Framework.Common.FAServices.E94s;
  21. using MECF.Framework.Common.IOCore;
  22. using MECF.Framework.Common.Jobs;
  23. using MECF.Framework.Common.RecipeCenter;
  24. using MECF.Framework.Common.SubstrateTrackings;
  25. namespace MECF.Framework.Common.DataCenter
  26. {
  27. [ServiceContract]
  28. [ServiceKnownType(typeof(SignalTowerDataItem))]
  29. [ServiceKnownType(typeof(GateValveDataItem))]
  30. [ServiceKnownType(typeof(EventItem))]
  31. [ServiceKnownType(typeof(List<EventItem>))]
  32. [ServiceKnownType(typeof(AlarmEventItem))]
  33. [ServiceKnownType(typeof(List<AlarmEventItem>))]
  34. [ServiceKnownType(typeof(List<HistoryCarrierData>))]
  35. [ServiceKnownType(typeof(List<HistoryProcessData>))]
  36. [ServiceKnownType(typeof(List<HistoryWaferData>))]
  37. [ServiceKnownType(typeof(List<HistoryMoveData>))]
  38. [ServiceKnownType(typeof(ProcessJobInfo))]
  39. [ServiceKnownType(typeof(ControlJobInfo))]
  40. [ServiceKnownType(typeof(List<ProcessJobInfo>))]
  41. [ServiceKnownType(typeof(List<ControlJobInfo>))]
  42. [ServiceKnownType(typeof(List<NotifiableIoItem>))]
  43. [ServiceKnownType(typeof(NotifiableIoItem))]
  44. [ServiceKnownType(typeof(AITChillerData))]
  45. [ServiceKnownType(typeof(AITChillerData1))]
  46. [ServiceKnownType(typeof(AITTempratureHumidityData))]
  47. [ServiceKnownType(typeof(AITValveData))]
  48. [ServiceKnownType(typeof(AITMfcData))]
  49. [ServiceKnownType(typeof(List<AITMfcData>))]
  50. [ServiceKnownType(typeof(AITGasSplitterData))]
  51. [ServiceKnownType(typeof(AITHeaterData))]
  52. [ServiceKnownType(typeof(AITFFUData))]
  53. [ServiceKnownType(typeof(AITDeveloperCoupleData))]
  54. [ServiceKnownType(typeof(AITWaterFlowMeterData))]
  55. [ServiceKnownType(typeof(AITPressureMeterData))]
  56. [ServiceKnownType(typeof(AITRfData))]
  57. [ServiceKnownType(typeof(AITThrottleValveData))]
  58. [ServiceKnownType(typeof(AITAPCData))]
  59. [ServiceKnownType(typeof(AITAuxData))]
  60. [ServiceKnownType(typeof(List<AITAuxData>))]
  61. [ServiceKnownType(typeof(AITSensorData))]
  62. [ServiceKnownType(typeof(AITPumpData))]
  63. [ServiceKnownType(typeof(AITSignalTowerData))]
  64. [ServiceKnownType(typeof(AITEmoData))]
  65. [ServiceKnownType(typeof(AITStatisticsData))]
  66. [ServiceKnownType(typeof(AITBoostPumpData))]
  67. [ServiceKnownType(typeof(AITCylinderData))]
  68. [ServiceKnownType(typeof(AITWaterFlowSensorData))]
  69. [ServiceKnownType(typeof(AITServoMotorData))]
  70. [ServiceKnownType(typeof(AITLidData))]
  71. [ServiceKnownType(typeof(ServoState))]
  72. [ServiceKnownType(typeof(AITRfPowerData))]
  73. [ServiceKnownType(typeof(AITRfMatchData))]
  74. [ServiceKnownType(typeof(FlowMeterAlarmItem))]
  75. [ServiceKnownType(typeof(WaferInfo))]
  76. [ServiceKnownType(typeof(WaferInfo[]))]
  77. [ServiceKnownType(typeof(CarrierInfo))]
  78. [ServiceKnownType(typeof(CarrierInfo[]))]
  79. [ServiceKnownType(typeof(NotifiableIoItem))]
  80. [ServiceKnownType(typeof(RobotMoveInfo))]
  81. [ServiceKnownType(typeof(IndicatorState))]
  82. [ServiceKnownType(typeof(FoupClampState))]
  83. [ServiceKnownType(typeof(FoupDoorState))]
  84. [ServiceKnownType(typeof(LoadportCassetteState))]
  85. [ServiceKnownType(typeof(AITRfidReaderData))]
  86. [ServiceKnownType(typeof(AITAlignerData))]
  87. [ServiceKnownType(typeof(AITWaferIdReaderData))]
  88. [ServiceKnownType(typeof(ModuleName))]
  89. [ServiceKnownType(typeof(DeviceState))]
  90. [ServiceKnownType(typeof(SorterRecipeXml))]
  91. [ServiceKnownType(typeof(SorterRecipeType))]
  92. [ServiceKnownType(typeof(SorterRecipePlaceModeOrder))]
  93. [ServiceKnownType(typeof(SorterRecipePlaceModeTransfer1To1))]
  94. [ServiceKnownType(typeof(SorterRecipePlaceModePack))]
  95. [ServiceKnownType(typeof(ObservableCollection<SorterRecipeTransferTableItem>))]
  96. [ServiceKnownType(typeof(SorterRecipeTransferTableItem))]
  97. [ServiceKnownType(typeof(SlotTransferInfo))]
  98. [ServiceKnownType(typeof(SlotTransferInfo[]))]
  99. [ServiceKnownType(typeof(List<string>))]
  100. [ServiceKnownType(typeof(List<SCConfigItem>))]
  101. [ServiceKnownType(typeof(SerializableDictionary<string, bool>))]
  102. [ServiceKnownType(typeof(SerializableDictionary<string, string>))]
  103. [ServiceKnownType(typeof(AITWaterMappingData))]
  104. [ServiceKnownType(typeof(List<AITWaterMappingData>))]
  105. [ServiceKnownType(typeof(List<FAProcessJob>))]
  106. [ServiceKnownType(typeof(FAProcessJob))]
  107. [ServiceKnownType(typeof(List<FAControlJob>))]
  108. [ServiceKnownType(typeof(FAControlJob))]
  109. [ServiceKnownType(typeof(List<WCFProcessJobInterface>))]
  110. [ServiceKnownType(typeof(WCFProcessJobInterface))]
  111. [ServiceKnownType(typeof(List<WCFControlJobInterface>))]
  112. [ServiceKnownType(typeof(WCFControlJobInterface))]
  113. [ServiceKnownType(typeof(NotifiableConnectionItem))]
  114. [ServiceKnownType(typeof(List<NotifiableConnectionItem>))]
  115. [ServiceKnownType(typeof(WaferHistoryItemType))]
  116. [ServiceKnownType(typeof(RecipeStep))]
  117. [ServiceKnownType(typeof(List<RecipeStep>))]
  118. [ServiceKnownType(typeof(WaferHistoryItem))]
  119. [ServiceKnownType(typeof(WaferHistoryRecipe))]
  120. [ServiceKnownType(typeof(List<WaferHistoryWafer>))]
  121. [ServiceKnownType(typeof(List<WaferHistoryRecipe>))]
  122. [ServiceKnownType(typeof(List<WaferHistoryMovement>))]
  123. [ServiceKnownType(typeof(List<WaferHistoryLot>))]
  124. [ServiceKnownType(typeof(WaferSize))]
  125. [ServiceKnownType(typeof(AITDeviceData))]
  126. [ServiceKnownType(typeof(float[]))]
  127. [ServiceKnownType(typeof(bool[]))]
  128. [ServiceKnownType(typeof(int[]))]
  129. [ServiceKnownType(typeof(byte[]))]
  130. [ServiceKnownType(typeof(double[]))]
  131. [ServiceKnownType(typeof(Tuple<int,string>))]
  132. [ServiceKnownType(typeof(Tuple<int, string>[]))]
  133. [ServiceKnownType(typeof(ManualTransferTask))]
  134. [ServiceKnownType(typeof(ManualTransferTask[]))]
  135. [ServiceKnownType(typeof(Dictionary<string,string>))]
  136. [ServiceKnownType(typeof(RecipeFileNode))]
  137. [ServiceKnownType(typeof(List<RecipeFileNode>))]
  138. [ServiceKnownType(typeof(Dictionary<string, List<string>>))]
  139. [ServiceKnownType(typeof(Dictionary<string, Dictionary<string, string>>))]
  140. [ServiceKnownType(typeof(Dictionary<string, bool>))]
  141. public interface IQueryDataService
  142. {
  143. [OperationContract]
  144. object GetData(string key);
  145. [OperationContract]
  146. Dictionary<string, object> PollData(IEnumerable<string> keys);
  147. [OperationContract]
  148. Dictionary<string, object> PollConfig(IEnumerable<string> keys);
  149. [OperationContract]
  150. object GetConfig(string key);
  151. [OperationContract]
  152. List<NotifiableIoItem> GetDiList(string key);
  153. [OperationContract]
  154. List<NotifiableIoItem> GetDoList(string key);
  155. [OperationContract]
  156. List<NotifiableIoItem> GetAiList(string key);
  157. [OperationContract]
  158. List<NotifiableIoItem> GetAoList(string key);
  159. [OperationContract]
  160. string GetConfigFileContent();
  161. [OperationContract]
  162. string GetFileContent(string fileName);
  163. [OperationContract]
  164. string GetConfigFileDispenseByModule(string module);
  165. [OperationContract]
  166. List<string> GetFileListByFolderBrowser(string folderBrowser);
  167. [OperationContract]
  168. string GetConfigFileContentByModule(string module);
  169. [OperationContract]
  170. object GetConfigByModule(string module, string key);
  171. [OperationContract]
  172. List<SCConfigItem> GetConfigItemList();
  173. [OperationContract]
  174. List<WaferTypeInfo> GetConfigWaferTypes();
  175. [OperationContract]
  176. Dictionary<string, object> PollConfigByModule(string module, IEnumerable<string> keys);
  177. [OperationContract]
  178. List<EventItem> QueryDBEvent(string sql);
  179. [OperationContract]
  180. List<HistoryCarrierData> QueryDBCarrier(string sql);
  181. [OperationContract]
  182. List<HistoryStatisticsOCRData> QueryDBOCRStatistics(string sql);
  183. [OperationContract]
  184. List<HistoryFfuDiffPressureData> QueryDBFfuDiffPressureStatistics(string sql);
  185. [OperationContract]
  186. List<StatsStatisticsData> QueryStatsDBStatistics(string sql);
  187. [OperationContract]
  188. List<HistoryOCRData> QueryDBOCRHistory(string sql);
  189. [OperationContract]
  190. List<HistoryProcessData> QueryDBProcess(string sql);
  191. [OperationContract]
  192. List<HistoryWaferData> QueryDBWafer(string sql);
  193. [OperationContract]
  194. List<HistoryMoveData> QueryDBMovement(string sql);
  195. [OperationContract]
  196. List<HistoryJobMoveData> QueryDBJobMovementByJobGuid(string jobGuid);
  197. [OperationContract]
  198. List<HistoryJobMoveData> QueryDBJobMovementByJobGuidAndStationName(string jobGuid, string stationName);
  199. [OperationContract]
  200. List<HistoryDataItem> GetHistoryData(IEnumerable<string> keys, string recipeRunGuid, string module);
  201. [OperationContract]
  202. List<HistoryDataItem> GetOneDayHistoryData(IEnumerable<string> keys, DateTime begin, string module);
  203. [OperationContract]
  204. List<HistoryDataItem> GetHistoryDataFromStartToEnd(IEnumerable<string> keys, DateTime begin, DateTime end, string module);
  205. [OperationContract]
  206. DataTable QueryData(string sql);
  207. [OperationContract]
  208. WaferHistoryRecipe GetWaferHistoryRecipe(string id);
  209. [OperationContract]
  210. List<WaferHistoryWafer> GetWaferHistoryWafers(string id);
  211. [OperationContract]
  212. List<WaferHistoryRecipe> GetWaferHistoryRecipes(string id);
  213. [OperationContract]
  214. List<WaferHistoryMovement> GetWaferHistoryMovements(string id);
  215. [OperationContract]
  216. List<WaferHistorySecquence> GetWaferHistorySecquences(string id);
  217. [OperationContract]
  218. List<WaferHistoryLot> QueryWaferHistoryLotsBySql(string sql);
  219. [OperationContract]
  220. List<WaferHistoryLot> GetWaferHistoryLots(DateTime startTime, DateTime endTime,string keyWord);
  221. [OperationContract]
  222. string GetTypedConfigContent(string type, string contentPath);
  223. [OperationContract]
  224. void SetTypedConfigContent(string type, string contentPath, string content);
  225. [OperationContract]
  226. List<string> GetExpertLayoutRecipeContent(string chamberId, string recipeFile);
  227. [OperationContract]
  228. List<string> GetLayoutRecipeContent(/*string chamberId, */string recipeFile, string slotCount, string cassetteSlotCount);
  229. [OperationContract]
  230. List<string> GetLayoutExpertRecipeContent(/*string chamberId, */string recipeFile, string slotCount, string cassetteSlotCount);
  231. [OperationContract]
  232. string GetInterlockConfigContent();
  233. [OperationContract]
  234. string GetInterlockUserDefineConfigContent();
  235. [OperationContract]
  236. void SetInterlockConfigContent(string content);
  237. [OperationContract]
  238. List<RecipeHistory> QueryByRecipePathHistory(string RecipePath, int row = 20);
  239. [OperationContract]
  240. bool ClearByRecipePathHistory(string RecipePath);
  241. }
  242. }