LeakCheckDataRecorder.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using Aitex.Core.RT.DBCore;
  5. using Aitex.Core.RT.SCCore;
  6. using MECF.Framework.Common.Equipment;
  7. using Venus_Core;
  8. namespace MECF.Framework.Common.DBCore
  9. {
  10. public class LeakCheckDataRecorder
  11. {
  12. public static void Add(int leakCheckTime, double beginPressure, double endPressure, double leakRate, string status, string mode, string moduleName, string gaslines = "")
  13. {
  14. string sql = string.Format(
  15. "INSERT INTO \"leak_check_data\"(\"guid\", \"operate_time\", \"status\" , \"leak_rate\", \"start_pressure\", \"stop_pressure\", \"mode\", \"leak_check_time\" , \"module_name\", \"gasline_selection\")VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}','{8}','{9}' );",
  16. Guid.NewGuid(),
  17. DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.fff"),
  18. status,
  19. leakRate,
  20. beginPressure,
  21. endPressure,
  22. mode,
  23. leakCheckTime,
  24. moduleName,
  25. gaslines);
  26. DB.Insert(sql);
  27. }
  28. public static void AddKepler2200(int leakCheckTime, double basePressure, double beginPressure, double endPressure, double leakRate, string status, string mode, string moduleName, string gaslines = "")
  29. {
  30. string sql = string.Format(
  31. "INSERT INTO \"kepler_leak_check_data\"(\"guid\", \"operate_time\", \"status\" , \"leak_rate\",\"base_pressure\", \"start_pressure\", \"stop_pressure\", \"mode\", \"leak_check_time\" , \"module_name\", \"gasline_selection\")VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}','{8}','{9}','{10}');",
  32. Guid.NewGuid(),
  33. DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.fff"),
  34. status,
  35. leakRate,
  36. basePressure,
  37. beginPressure,
  38. endPressure,
  39. mode,
  40. leakCheckTime,
  41. moduleName,
  42. gaslines);
  43. DB.Insert(sql);
  44. }
  45. public static List<PMLeakCheckResult> GetAllLeakCheckData(string moduleName)
  46. {
  47. List<PMLeakCheckResult> result = new List<PMLeakCheckResult>();
  48. string tmValue = "";
  49. if (moduleName == "TM")
  50. {
  51. tmValue = $" or \"module_name\"='LLA' or \"module_name\"='LLB'";
  52. }
  53. else if (moduleName == "LLA")
  54. {
  55. tmValue = $" or \"module_name\"='TM' or \"module_name\"='LLB'";
  56. }
  57. else if (moduleName == "LLB")
  58. {
  59. tmValue = $" or \"module_name\"='LLA' or \"module_name\"='TM'";
  60. }
  61. string tableName = "leak_check_data";
  62. string sql = $"SELECT * FROM \"{tableName}\" where \"module_name\"='{moduleName}'{tmValue} order by operate_time desc LIMIT 50";
  63. DataSet ds = DB.ExecuteDataset(sql);
  64. if (ds == null)
  65. return result;
  66. if (ds.Tables.Count == 0)
  67. return result;
  68. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  69. {
  70. PMLeakCheckResult checkresult = new PMLeakCheckResult();
  71. checkresult.ModuleName = ds.Tables[0].Rows[i]["module_name"].ToString();
  72. checkresult.CheckDate = ds.Tables[0].Rows[i]["operate_time"].ToString();
  73. //checkresult.BasePressure = Convert.ToDouble(ds.Tables[0].Rows[i]["base_pressure"].ToString());
  74. checkresult.StartPressure = Convert.ToDouble(ds.Tables[0].Rows[i]["start_pressure"].ToString());
  75. checkresult.EndPressure = Convert.ToDouble(ds.Tables[0].Rows[i]["stop_pressure"].ToString());
  76. checkresult.LeakCheckTime = Convert.ToInt32(ds.Tables[0].Rows[i]["leak_check_time"].ToString());
  77. checkresult.LeakRate = Convert.ToDouble(ds.Tables[0].Rows[i]["leak_rate"].ToString());
  78. checkresult.CheckMode = ds.Tables[0].Rows[i]["mode"].ToString();
  79. checkresult.GasLines = ds.Tables[0].Rows[i]["gasline_selection"].ToString();
  80. checkresult.Result = ds.Tables[0].Rows[i]["status"].ToString();
  81. result.Add(checkresult);
  82. }
  83. ds.Clear();
  84. return result;
  85. }
  86. public static List<PMLeakCheckResult> GetAllLeakCheckDataWithBasePressure(string moduleName)
  87. {
  88. List<PMLeakCheckResult> result = new List<PMLeakCheckResult>();
  89. string tmValue = "";
  90. if (moduleName == "TM")
  91. {
  92. tmValue = $" or \"module_name\"='LLA' or \"module_name\"='LLB'";
  93. }
  94. else if (moduleName == "LLA")
  95. {
  96. tmValue = $" or \"module_name\"='TM' or \"module_name\"='LLB'";
  97. }
  98. else if (moduleName == "LLB")
  99. {
  100. tmValue = $" or \"module_name\"='LLA' or \"module_name\"='TM'";
  101. }
  102. string tableName = "leak_check_data";
  103. if (ModuleHelper.IsPm(moduleName))
  104. {
  105. JetChamber jetChamber = (JetChamber)SC.GetValue<int>($"{moduleName}.ChamberType");
  106. {
  107. if (jetChamber == JetChamber.Kepler2200A || jetChamber == JetChamber.Kepler2200B)
  108. {
  109. tableName = "kepler_leak_check_data";
  110. }
  111. }
  112. }
  113. string sql = $"SELECT * FROM \"{tableName}\" where \"module_name\"='{moduleName}'{tmValue} order by operate_time desc LIMIT 50";
  114. DataSet ds = DB.ExecuteDataset(sql);
  115. if (ds == null)
  116. return result;
  117. if (ds.Tables.Count == 0)
  118. return result;
  119. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  120. {
  121. PMLeakCheckResult checkresult = new PMLeakCheckResult();
  122. checkresult.ModuleName = ds.Tables[0].Rows[i]["module_name"].ToString();
  123. checkresult.CheckDate = ds.Tables[0].Rows[i]["operate_time"].ToString();
  124. if (ModuleHelper.IsPm(moduleName))
  125. {
  126. JetChamber jetChamber = (JetChamber)SC.GetValue<int>($"{moduleName}.ChamberType");
  127. {
  128. if (jetChamber == JetChamber.Kepler2200A || jetChamber == JetChamber.Kepler2200B)
  129. {
  130. checkresult.BasePressure = Convert.ToDouble(ds.Tables[0].Rows[i]["base_pressure"].ToString());
  131. }
  132. }
  133. }
  134. checkresult.StartPressure = Convert.ToDouble(ds.Tables[0].Rows[i]["start_pressure"].ToString());
  135. checkresult.EndPressure = Convert.ToDouble(ds.Tables[0].Rows[i]["stop_pressure"].ToString());
  136. checkresult.LeakCheckTime = Convert.ToInt32(ds.Tables[0].Rows[i]["leak_check_time"].ToString());
  137. checkresult.LeakRate = Convert.ToDouble(ds.Tables[0].Rows[i]["leak_rate"].ToString());
  138. checkresult.CheckMode = ds.Tables[0].Rows[i]["mode"].ToString();
  139. checkresult.GasLines = ds.Tables[0].Rows[i]["gasline_selection"].ToString();
  140. checkresult.Result = ds.Tables[0].Rows[i]["status"].ToString();
  141. result.Add(checkresult);
  142. }
  143. ds.Clear();
  144. return result;
  145. }
  146. }
  147. }