LeakCheckDataRecorder.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. if (ModuleHelper.IsPm(moduleName))
  63. {
  64. JetChamber jetChamber = (JetChamber)SC.GetValue<int>($"{moduleName}.ChamberType");
  65. {
  66. if (jetChamber == JetChamber.Kepler2200A || jetChamber == JetChamber.Kepler2200B)
  67. {
  68. tableName = "kepler_leak_check_data";
  69. }
  70. }
  71. }
  72. string sql = $"SELECT * FROM \"{tableName}\" where \"module_name\"='{moduleName}'{tmValue} order by operate_time desc LIMIT 50";
  73. DataSet ds = DB.ExecuteDataset(sql);
  74. if (ds == null)
  75. return result;
  76. if (ds.Tables.Count==0)
  77. return result;
  78. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  79. {
  80. PMLeakCheckResult checkresult = new PMLeakCheckResult();
  81. checkresult.ModuleName= ds.Tables[0].Rows[i]["module_name"].ToString();
  82. checkresult.CheckDate= ds.Tables[0].Rows[i]["operate_time"].ToString();
  83. checkresult.BasePressure = Convert.ToDouble(ds.Tables[0].Rows[i]["base_pressure"].ToString());
  84. checkresult.StartPressure =Convert.ToDouble( ds.Tables[0].Rows[i]["start_pressure"].ToString());
  85. checkresult.EndPressure = Convert.ToDouble(ds.Tables[0].Rows[i]["stop_pressure"].ToString());
  86. checkresult.LeakCheckTime = Convert.ToInt32(ds.Tables[0].Rows[i]["leak_check_time"].ToString());
  87. checkresult.LeakRate = Convert.ToDouble(ds.Tables[0].Rows[i]["leak_rate"].ToString());
  88. checkresult.CheckMode = ds.Tables[0].Rows[i]["mode"].ToString();
  89. checkresult.GasLines = ds.Tables[0].Rows[i]["gasline_selection"].ToString();
  90. checkresult.Result = ds.Tables[0].Rows[i]["status"].ToString();
  91. result.Add(checkresult);
  92. }
  93. ds.Clear();
  94. return result;
  95. }
  96. }
  97. }