WaferHolderDataRecorder.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. using Aitex.Core.Common;
  2. using Aitex.Core.RT.DBCore;
  3. using DocumentFormat.OpenXml.EMMA;
  4. using MECF.Framework.Common.Equipment;
  5. using MECF.Framework.Common.SubstrateTrackings;
  6. using MECF.Framework.Common.WaferHolder;
  7. using CyberX8_Core;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. namespace MECF.Framework.Common.DBCore
  15. {
  16. public class WaferHolderDataRecorder
  17. {
  18. /// <summary>
  19. /// 加载所有载具
  20. /// </summary>
  21. /// <returns></returns>
  22. public static List<WaferHolderInfo> GetAllWaferHolderDatas()
  23. {
  24. List<WaferHolderInfo> result = new List<WaferHolderInfo>();
  25. string sql = $"SELECT * FROM wafer_holder";
  26. DataSet ds = DB.ExecuteDataset(sql);
  27. if (ds == null)
  28. return result;
  29. if (ds.Tables.Count == 0)
  30. return result;
  31. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  32. {
  33. WaferHolderInfo data = new WaferHolderInfo();
  34. data.Id = ds.Tables[0].Rows[i]["id"].ToString();
  35. data.TotalUses = int.Parse(ds.Tables[0].Rows[i]["total_uses"].ToString());
  36. data.BufferId = int.Parse(ds.Tables[0].Rows[i]["buffer_id"].ToString());
  37. data.CrsType = ds.Tables[0].Rows[i]["crs_type"].ToString();
  38. data.Enabled = bool.Parse(ds.Tables[0].Rows[i]["enabled"].ToString());
  39. data.WaferSize = int.Parse(ds.Tables[0].Rows[i]["wafer_size"].ToString());
  40. data.Chemistry = ds.Tables[0].Rows[i]["chemistry"].ToString();
  41. data.CrsAId = ds.Tables[0].Rows[i]["crsa_id"].ToString();
  42. data.CrsATotalUses = int.Parse(ds.Tables[0].Rows[i]["crsa_total_uses"].ToString());
  43. data.CrsAUsesSincePadClean =int.Parse(ds.Tables[0].Rows[i]["crsa_pad_uses"].ToString());
  44. data.CrsAUsesSinceSealClean =int.Parse(ds.Tables[0].Rows[i]["crsa_seal_uses"].ToString());
  45. data.CrsBId = ds.Tables[0].Rows[i]["crsb_id"].ToString();
  46. data.CrsBTotalUses = int.Parse(ds.Tables[0].Rows[i]["crsb_total_uses"].ToString());
  47. data.CrsBUsesSincePadClean = int.Parse(ds.Tables[0].Rows[i]["crsb_pad_uses"].ToString());
  48. data.CrsBUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[i]["crsb_seal_uses"].ToString());
  49. data.TotalDummyWafers = int.Parse(ds.Tables[0].Rows[i]["total_dummy_wafers"].ToString());
  50. data.TotalProductWafers = int.Parse(ds.Tables[0].Rows[i]["total_product_wafers"].ToString());
  51. data.CurrentLocation = ds.Tables[0].Rows[i]["current_location"].ToString();
  52. data.Status = (WaferHolderStatus)int.Parse(ds.Tables[0].Rows[i]["status"].ToString());
  53. data.WaferAId = ds.Tables[0].Rows[i]["wafera_id"].ToString();
  54. data.WaferBId = ds.Tables[0].Rows[i]["waferb_id"].ToString();
  55. data.WaferAType = int.Parse(ds.Tables[0].Rows[i]["wafera_type"].ToString());
  56. data.WaferBType = int.Parse(ds.Tables[0].Rows[i]["waferb_type"].ToString());
  57. result.Add(data);
  58. }
  59. ds.Clear();
  60. return result;
  61. }
  62. /// <summary>
  63. /// 根据Location加载WaferHolder信息
  64. /// </summary>
  65. /// <returns></returns>
  66. public static WaferHolderInfo GetWaferHolderDataByLocation(string location)
  67. {
  68. WaferHolderInfo data = new WaferHolderInfo();
  69. string sql = $"SELECT * FROM wafer_holder WHERE current_location='{location}'";
  70. DataSet ds = DB.ExecuteDataset(sql);
  71. if (ds == null)
  72. return null;
  73. if (ds.Tables[0].Rows.Count == 0)
  74. return null;
  75. data.Id = ds.Tables[0].Rows[0]["id"].ToString();
  76. data.BufferId = int.Parse(ds.Tables[0].Rows[0]["buffer_id"].ToString());
  77. data.TotalUses = int.Parse(ds.Tables[0].Rows[0]["total_uses"].ToString());
  78. data.CrsType = ds.Tables[0].Rows[0]["crs_type"].ToString();
  79. data.Enabled = bool.Parse(ds.Tables[0].Rows[0]["enabled"].ToString());
  80. data.WaferSize = int.Parse(ds.Tables[0].Rows[0]["wafer_size"].ToString());
  81. data.Chemistry = ds.Tables[0].Rows[0]["chemistry"].ToString();
  82. data.CrsAId = ds.Tables[0].Rows[0]["crsa_id"].ToString();
  83. data.CrsATotalUses = int.Parse(ds.Tables[0].Rows[0]["crsa_total_uses"].ToString());
  84. data.CrsAUsesSincePadClean = int.Parse(ds.Tables[0].Rows[0]["crsa_pad_uses"].ToString());
  85. data.CrsAUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[0]["crsa_seal_uses"].ToString());
  86. data.CrsBId = ds.Tables[0].Rows[0]["crsb_id"].ToString();
  87. data.CrsBTotalUses = int.Parse(ds.Tables[0].Rows[0]["crsb_total_uses"].ToString());
  88. data.CrsBUsesSincePadClean = int.Parse(ds.Tables[0].Rows[0]["crsb_pad_uses"].ToString());
  89. data.CrsBUsesSinceSealClean = int.Parse(ds.Tables[0].Rows[0]["crsb_seal_uses"].ToString());
  90. data.TotalDummyWafers = int.Parse(ds.Tables[0].Rows[0]["total_dummy_wafers"].ToString());
  91. data.TotalProductWafers = int.Parse(ds.Tables[0].Rows[0]["total_product_wafers"].ToString());
  92. data.CurrentLocation = ds.Tables[0].Rows[0]["current_location"].ToString();
  93. data.Status = (WaferHolderStatus)int.Parse(ds.Tables[0].Rows[0]["status"].ToString());
  94. data.WaferAId = ds.Tables[0].Rows[0]["wafera_id"].ToString();
  95. data.WaferBId = ds.Tables[0].Rows[0]["waferb_id"].ToString();
  96. data.WaferAType = int.Parse(ds.Tables[0].Rows[0]["wafera_type"].ToString());
  97. data.WaferBType = int.Parse(ds.Tables[0].Rows[0]["waferb_type"].ToString());
  98. ds.Clear();
  99. return data;
  100. }
  101. /// <summary>
  102. ///
  103. /// </summary>
  104. /// <param name="waferHodlerId"></param>
  105. /// <param name="enable"></param>
  106. public static int UpdateWaferHolderEnable(string waferHodlerId,bool enable)
  107. {
  108. string sql = string.Format("UPDATE wafer_holder SET enabled={0},Status={3},update_time='{2}' WHERE id='{1}';",
  109. enable,
  110. waferHodlerId,
  111. DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),enable?(int)WaferHolderStatus.Normal:(int)WaferHolderStatus.Disabled);
  112. return DB.SyncUpdate(sql);
  113. }
  114. /// <summary>301
  115. /// 新增
  116. /// </summary>
  117. /// <param name="bufferId"></param>
  118. /// <param name="info"></param>
  119. /// <returns></returns>
  120. public static int AddWaferHolderData(int bufferId, WaferHolderInfo info)
  121. {
  122. string sql =string.Format(@"Insert into wafer_holder(id, buffer_id, crs_type, wafer_size, enabled, chemistry, crsa_id, crsa_total_uses, crsa_pad_uses, crsa_seal_uses,
  123. crsb_id, crsb_total_uses, crsb_pad_uses, crsb_seal_uses, total_dummy_wafers, total_product_wafers,current_location,status, create_time, update_time,wafera_id,waferb_id,
  124. wafera_type,waferb_type,total_uses)
  125. Values('{0}',{1},'{2}',{3},{4},'{5}','{6}',{7},{8},{9},
  126. '{10}',{11},{12},{13},{14},{15},'{16}',{17},'{18}','{19}','{20}','{21}',{22},{23},{24});",
  127. info.Id,bufferId,info.CrsType,info.WaferSize,info.Enabled,info.Chemistry,info.CrsAId,info.CrsATotalUses,info.CrsAUsesSincePadClean,
  128. info.CrsAUsesSinceSealClean,info.CrsBId,info.CrsBTotalUses,info.CrsBUsesSincePadClean,info.CrsBUsesSinceSealClean,info.TotalDummyWafers,info.TotalProductWafers,
  129. info.CurrentLocation, (int)info.Status,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),info.WaferAId,info.WaferBId,
  130. info.WaferAType,info.WaferBType,info.TotalUses);
  131. return DB.SyncInsert(sql);
  132. }
  133. /// <summary>
  134. /// 更新
  135. /// </summary>
  136. /// <param name="waferHolderId"></param>
  137. /// <param name="info"></param>
  138. /// <returns></returns>
  139. public static void UpdateWaferHolderData(string waferHolderId, WaferHolderInfo info)
  140. {
  141. string sql = string.Format(@"update wafer_holder set crs_type='{0}', wafer_size={1},chemistry='{2}', crsa_id='{3}', crsa_total_uses={4}, crsa_pad_uses={5},
  142. crsa_seal_uses={6},crsb_id='{7}', crsb_total_uses={8}, crsb_pad_uses={9}, crsb_seal_uses={10}, total_dummy_wafers={11},
  143. total_product_wafers={12}, update_time='{13}',current_location='{14}',buffer_id={15},
  144. wafera_id='{16}',waferb_id='{17}',wafera_type={18},waferb_type={19},id='{21}',total_uses={22} where id='{20}';",
  145. info.CrsType, info.WaferSize,info.Chemistry, info.CrsAId, info.CrsATotalUses, info.CrsAUsesSincePadClean,
  146. info.CrsAUsesSinceSealClean, info.CrsBId, info.CrsBTotalUses, info.CrsBUsesSincePadClean, info.CrsBUsesSinceSealClean, info.TotalDummyWafers,
  147. info.TotalProductWafers,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),info.CurrentLocation,info.BufferId,
  148. info.WaferAId, info.WaferBId,info.WaferAType, info.WaferBType,waferHolderId,info.Id,info.TotalUses);
  149. DB.Update(sql);
  150. }
  151. /// <summary>
  152. /// 更新
  153. /// </summary>
  154. /// <param name="waferHolderId"></param>
  155. /// <param name="info"></param>
  156. /// <returns></returns>
  157. public static int SyncUpdateWaferHolderData(string waferHolderId, WaferHolderInfo info)
  158. {
  159. string sql = string.Format(@"update wafer_holder set id='{0}',crs_type='{1}', wafer_size={2},chemistry='{3}', crsa_id='{4}', crsa_total_uses={5}, crsa_pad_uses={6},
  160. crsa_seal_uses={7},crsb_id='{8}', crsb_total_uses={9}, crsb_pad_uses={10}, crsb_seal_uses={11}, total_dummy_wafers={12},
  161. total_product_wafers={13}, update_time='{14}',current_location='{15}',buffer_id={16},
  162. wafera_id='{17}',waferb_id='{18}',wafera_type={19},waferb_type={20},total_uses={22} where id='{21}';",
  163. info.Id, info.CrsType, info.WaferSize, info.Chemistry, info.CrsAId, info.CrsATotalUses, info.CrsAUsesSincePadClean,
  164. info.CrsAUsesSinceSealClean, info.CrsBId, info.CrsBTotalUses, info.CrsBUsesSincePadClean, info.CrsBUsesSinceSealClean, info.TotalDummyWafers,
  165. info.TotalProductWafers, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), info.CurrentLocation, info.BufferId,
  166. info.WaferAId, info.WaferBId, info.WaferAType, info.WaferBType, waferHolderId,info.TotalUses);
  167. return DB.SyncUpdate(sql);
  168. }
  169. /// <summary>
  170. /// 删除
  171. /// </summary>
  172. /// <param name="waferHolderId"></param>
  173. /// <returns></returns>
  174. public static int DeleteWaferHolderData(string waferHolderId)
  175. {
  176. string sql = string.Format(@"delete from wafer_holder where id='{0}'", waferHolderId);
  177. return DB.SyncUpdate(sql);
  178. }
  179. }
  180. }