HistoryDataItem.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.Serialization;
  5. using System.Text;
  6. using SciChart.Core.Extensions;
  7. namespace Aitex.Sorter.Common
  8. {
  9. [DataContract]
  10. [Serializable]
  11. public class HistoryCarrierData
  12. {
  13. [DataMember]
  14. public string Guid { get; set; }
  15. [DataMember]
  16. public string Rfid { get; set; }
  17. [DataMember]
  18. public string Station { get; set; }
  19. [DataMember]
  20. public string LoadTime { get; set; }
  21. [DataMember]
  22. public string UnloadTime { get; set; }
  23. [DataMember]
  24. public string LotId { get; set; }
  25. [DataMember]
  26. public string ProductCategory { get; set; }
  27. }
  28. [DataContract]
  29. [Serializable]
  30. public class HistoryProcessData
  31. {
  32. [DataMember]
  33. public string Guid { get; set; }
  34. [DataMember]
  35. public string StartTime { get; set; }
  36. [DataMember]
  37. public string EndTime { get; set; }
  38. [DataMember]
  39. public string RecipeName { get; set; }
  40. [DataMember]
  41. public string Result { get; set; }
  42. }
  43. [DataContract]
  44. [Serializable]
  45. public class HistoryStatisticsOCRData
  46. {
  47. [DataMember]
  48. public string Date { get; set; }
  49. [DataMember]
  50. public string Totaltimes { get; set; }
  51. [DataMember]
  52. public string Successfueltimes { get; set; }
  53. [DataMember]
  54. public string Failuretimes { get; set; }
  55. [DataMember]
  56. public string Result { get; set; }
  57. }
  58. [DataContract]
  59. [Serializable]
  60. public class StatsStatisticsData
  61. {
  62. [DataMember]
  63. public string Date { get; set; }
  64. [DataMember]
  65. public string Unknown { get; set; }
  66. [DataMember]
  67. public string Setup { get; set; }
  68. [DataMember]
  69. public string Idle { get; set; }
  70. [DataMember]
  71. public string Ready { get; set; }
  72. [DataMember]
  73. public string Executing { get; set; }
  74. [DataMember]
  75. public string Pause { get; set; }
  76. }
  77. [DataContract]
  78. [Serializable]
  79. public class HistoryOCRData
  80. {
  81. [DataMember]
  82. public string Guid { get; set; }
  83. [DataMember]
  84. public string wafer_id { get; set; }
  85. [DataMember]
  86. public string read_time { get; set; }
  87. [DataMember]
  88. public string source_lp { get; set; }
  89. [DataMember]
  90. public string source_carrier { get; set; }
  91. [DataMember]
  92. public string source_slot { get; set; }
  93. [DataMember]
  94. public string ocr_no { get; set; }
  95. [DataMember]
  96. public string ocr_job { get; set; }
  97. [DataMember]
  98. public string read_result { get; set; }
  99. [DataMember]
  100. public string lasermark { get; set; }
  101. [DataMember]
  102. public string ocr_score { get; set; }
  103. [DataMember]
  104. public string read_period { get; set; }
  105. }
  106. [DataContract]
  107. [Serializable]
  108. public class HistoryWaferData
  109. {
  110. [DataMember]
  111. public string Guid { get; set; }
  112. [DataMember]
  113. public string CreateTime { get; set; }
  114. [DataMember]
  115. public string DeleteTime { get; set; }
  116. [DataMember]
  117. public string Station { get; set; }
  118. [DataMember]
  119. public string Slot { get; set; }
  120. [DataMember]
  121. public string LaserMarker { get; set; }
  122. [DataMember]
  123. public string LaserMarkerScore { get; set; }
  124. [DataMember]
  125. public string T7Code { get; set; }
  126. [DataMember]
  127. public string T7CodeScore { get; set; }
  128. [DataMember]
  129. public string CarrierGuid { get; set; }
  130. [DataMember]
  131. public string WaferId { get; set; }
  132. [DataMember]
  133. public string ImageFileName { get; set; }
  134. [DataMember]
  135. public string ImageFilePath { get; set; }
  136. }
  137. [DataContract]
  138. [Serializable]
  139. public class HistoryMoveData
  140. {
  141. [DataMember]
  142. public string WaferGuid { get; set; }
  143. [DataMember]
  144. public string ArriveTime { get; set; }
  145. [DataMember]
  146. public string Station { get; set; }
  147. [DataMember]
  148. public string Slot { get; set; }
  149. [DataMember]
  150. public string Result { get; set; }
  151. }
  152. [DataContract]
  153. [Serializable]
  154. public class HistoryJobMoveData
  155. {
  156. [DataMember]
  157. public string JobGuid { get; set; }
  158. [DataMember]
  159. public string Station { get; set; }
  160. [DataMember]
  161. public string ProcessTime { get; set; }
  162. [DataMember]
  163. public string ArriveTime { get; set; }
  164. [DataMember]
  165. public string LeaveTime { get; set; }
  166. }
  167. [DataContract]
  168. [Serializable]
  169. public class HistoryBatData
  170. {
  171. [DataMember]
  172. public string Guid { get; set; }
  173. [DataMember]
  174. public string StartTime { get; set; }
  175. [DataMember]
  176. public string EndTime { get; set; }
  177. [DataMember]
  178. public string RecipeName { get; set; }
  179. [DataMember]
  180. public string Result { get; set; }
  181. }
  182. [DataContract]
  183. [Serializable]
  184. public class HistoryFfuDiffPressureData
  185. {
  186. [DataMember]
  187. public string Time { get; set; }
  188. [DataMember]
  189. public string FFU1Speed { get; set; }
  190. [DataMember]
  191. public string FFU2Speed { get; set; }
  192. [DataMember]
  193. public string DiffPressure1 { get; set; }
  194. [DataMember]
  195. public string DiffPressure2 { get; set; }
  196. }
  197. public interface ITreeItem<T> where T : ITreeItem<T>, new()
  198. {
  199. string ID { set; get; }
  200. }
  201. [DataContract]
  202. [Serializable]
  203. public enum WaferHistoryItemType
  204. {
  205. [EnumMember]
  206. None,
  207. [EnumMember]
  208. Lot,
  209. [EnumMember]
  210. Wafer,
  211. [EnumMember]
  212. Recipe,
  213. [EnumMember]
  214. Cj,
  215. [EnumMember]
  216. Pj
  217. }
  218. [DataContract]
  219. [Serializable]
  220. public class WaferHistoryMovement
  221. {
  222. [DataMember]
  223. public string Source { get; set; }
  224. [DataMember]
  225. public string Destination { get; set; }
  226. [DataMember]
  227. public string RecipeName { get; set; }
  228. [DataMember]
  229. public string InTime { get; set; }
  230. }
  231. [DataContract]
  232. [Serializable]
  233. public class WaferHistoryWafer : WaferHistoryItem
  234. {
  235. [DataMember]
  236. public string ProcessJob { get; set; }
  237. [DataMember]
  238. public string Sequence { get; set; }
  239. [DataMember]
  240. public string Status { get; set; }
  241. public DateTime? ProcessStartTime { get; set; }
  242. [DataMember]
  243. public DateTime? ProcessEndTime { get; set; }
  244. public string ProcessDuration
  245. {
  246. get
  247. {
  248. if (!ProcessStartTime.HasValue || !ProcessEndTime.HasValue) return string.Empty;
  249. return ProcessEndTime.Value.Subtract(ProcessStartTime.Value).ToString(@"hh\:mm\:ss");
  250. }
  251. }
  252. }
  253. [DataContract]
  254. [Serializable]
  255. public class RecipeStep
  256. {
  257. [DataMember]
  258. public int No { get; set; }
  259. [DataMember]
  260. public string Name { get; set; }
  261. [DataMember]
  262. public DateTime StartTime { get; set; }
  263. [DataMember]
  264. public DateTime EndTime { get; set; }
  265. [DataMember]
  266. public string ActualTime { get; set; }
  267. [DataMember]
  268. public string SettingTime { get; set; }
  269. }
  270. [DataContract]
  271. [Serializable]
  272. public class RecipeStepFdcData
  273. {
  274. [DataMember]
  275. public int StepNumber { get; set; }
  276. [DataMember]
  277. public string Name { get; set; }
  278. [DataMember]
  279. public float SetPoint { get; set; }
  280. [DataMember]
  281. public int SampleCount { get; set; }
  282. [DataMember]
  283. public float MinValue { get; set; }
  284. [DataMember]
  285. public float MaxValue { get; set; }
  286. [DataMember]
  287. public float StdValue { get; set; }
  288. [DataMember]
  289. public float MeanValue { get; set; }
  290. }
  291. [DataContract]
  292. [Serializable]
  293. public class WaferHistoryRecipe : WaferHistoryItem
  294. {
  295. [DataMember]
  296. public string Chamber { get; set; }
  297. [DataMember]
  298. public string Recipe { get; set; }
  299. [DataMember]
  300. public string SettingTime { get; set; }
  301. [DataMember]
  302. public string ActualTime { get; set; }
  303. [DataMember]
  304. public List<RecipeStep> Steps { get; set; }
  305. [DataMember]
  306. public List<RecipeStepFdcData> Fdcs { get; set; }
  307. }
  308. public class WaferHistoryRecipe2 : WaferHistoryItem
  309. {
  310. [DataMember]
  311. public string Chamber { get; set; }
  312. [DataMember]
  313. public string Recipe { get; set; }
  314. [DataMember]
  315. public string SettingTime { get; set; }
  316. [DataMember]
  317. public string ActualTime { get; set; }
  318. [DataMember]
  319. public List<RecipeStep> Steps { get; set; }
  320. public object SelectedLot { get; set; }
  321. public object SelectedWafer { get; set; }
  322. public object SelectedProcess { get; set; }
  323. public bool IsToCompare { get; set; } = false;
  324. public object Cache { get; set; }// 临时的
  325. }
  326. [DataContract]
  327. [Serializable]
  328. public class WaferHistoryLot : WaferHistoryItem
  329. {
  330. [DataMember]
  331. public string CarrierID { get; set; }
  332. [DataMember]
  333. public string Rfid { get; set; }
  334. [DataMember]
  335. public int WaferCount { get; set; }
  336. [DataMember]
  337. public int FaultWaferCount { get; set; }
  338. [DataMember]
  339. public string SecquenceName { get; set; }
  340. }
  341. [DataContract]
  342. [Serializable]
  343. public class WaferHistorySecquence : WaferHistoryItem
  344. {
  345. [DataMember]
  346. public string SecquenceName { get; set; }
  347. [DataMember]
  348. public string Recipe { get; set; }
  349. [DataMember]
  350. public string SecQuenceStartTime { get; set; }
  351. [DataMember]
  352. public string SecQuenceEndTime { get; set; }
  353. [DataMember]
  354. public string ActualTime { get; set; }
  355. }
  356. [DataContract]
  357. [Serializable]
  358. public class WaferHistoryItem : ITreeItem<WaferHistoryItem>
  359. {
  360. [DataMember]
  361. public WaferHistoryItemType Type { get; set; }
  362. [DataMember]
  363. public string Name { get; set; }
  364. [DataMember]
  365. public string ID { get; set; }
  366. [DataMember]
  367. public DateTime StartTime { get; set; }
  368. [DataMember]
  369. public DateTime EndTime { get; set; }
  370. public string Duration => EndTime.CompareTo(StartTime) < 0 ? "" : EndTime.Subtract(StartTime).ToString(@"hh\:mm\:ss");
  371. public string ItemInfo => Name.IsNullOrEmpty() ? "" : Name;
  372. [DataMember]
  373. public ITreeItem<WaferHistoryItem> SubItems { get; set; }
  374. [DataMember]
  375. public string RfID { get; set; }
  376. }
  377. [DataContract]
  378. [Serializable]
  379. public class WaferHistoryMetrology
  380. {
  381. [DataMember]
  382. public string dataname { get; set; }
  383. [DataMember]
  384. public string datavalue { get; set; }
  385. [DataMember]
  386. public string processtime { get; set; }
  387. [DataMember]
  388. public string stationname { get; set; }
  389. }
  390. }