SystemAlarm.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using CCDCount.MODEL.AlarmModel;
  5. namespace CCDCount.DLL.AlarmTools
  6. {
  7. public static class SystemAlarm
  8. {
  9. private static List<AlarmMessModel> AlarmMessList = new List<AlarmMessModel>()
  10. {
  11. new AlarmMessModel()
  12. {
  13. ID = (int)AlarmMessageList.系统异常,
  14. AlarmType = "SystemException",
  15. IsAlarm =false
  16. },
  17. new AlarmMessModel()
  18. {
  19. ID = (int)AlarmMessageList.相机实例创建失败,
  20. AlarmType = "SystemException",
  21. IsAlarm =false
  22. },
  23. new AlarmMessModel()
  24. {
  25. ID = (int)AlarmMessageList.开启相机失败,
  26. AlarmType = "SystemException",
  27. IsAlarm =false
  28. },
  29. new AlarmMessModel()
  30. {
  31. ID = (int)AlarmMessageList.相机采集开始失败,
  32. AlarmType = "SystemException",
  33. IsAlarm =false
  34. },
  35. new AlarmMessModel()
  36. {
  37. ID = (int)AlarmMessageList.相机采集停止失败,
  38. AlarmType = "SystemException",
  39. IsAlarm =false
  40. },
  41. new AlarmMessModel()
  42. {
  43. ID = (int)AlarmMessageList.识别线程启动失败,
  44. AlarmType = "SystemException",
  45. IsAlarm =false
  46. },
  47. new AlarmMessModel()
  48. {
  49. ID = (int)AlarmMessageList.识别线程停止失败,
  50. AlarmType = "SystemException",
  51. IsAlarm =false
  52. },
  53. new AlarmMessModel()
  54. {
  55. ID = (int)AlarmMessageList.待识别队列数据堆积,
  56. AlarmType = "SystemException",
  57. IsAlarm =false
  58. },
  59. new AlarmMessModel()
  60. {
  61. ID = (int)AlarmMessageList.PLC通讯连接失败,
  62. AlarmType = "SystemException",
  63. IsAlarm =false
  64. },
  65. new AlarmMessModel()
  66. {
  67. ID = (int)AlarmMessageList.结果发送线程启动失败,
  68. AlarmType = "SystemException",
  69. IsAlarm =false
  70. },
  71. new AlarmMessModel()
  72. {
  73. ID = (int)AlarmMessageList.结果发送线程停止失败,
  74. AlarmType = "SystemException",
  75. IsAlarm =false
  76. },
  77. new AlarmMessModel()
  78. {
  79. ID = (int)AlarmMessageList.未检测到相机,
  80. AlarmType = "SystemException",
  81. IsAlarm =false
  82. },
  83. new AlarmMessModel()
  84. {
  85. ID = (int)AlarmMessageList.相机加载失败,
  86. AlarmType = "SystemException",
  87. IsAlarm =false
  88. },
  89. new AlarmMessModel()
  90. {
  91. ID = (int)AlarmMessageList.数据分配线程启动失败,
  92. AlarmType = "SystemException",
  93. IsAlarm =false
  94. },
  95. new AlarmMessModel()
  96. {
  97. ID = (int)AlarmMessageList.数据分配线程停止失败,
  98. AlarmType = "SystemException",
  99. IsAlarm =false
  100. },
  101. };
  102. /// <summary>
  103. /// 开启指定警告
  104. /// </summary>
  105. /// <param name="ID"></param>
  106. public static void AlarmAlert(AlarmMessageList ID,string Message, string AlarmPath)
  107. {
  108. var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
  109. if (alarm == null || alarm.IsAlarm)
  110. {
  111. return;
  112. }
  113. else
  114. {
  115. var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
  116. ChanegAlarm.IsAlarm = true;
  117. ChanegAlarm.AlarmDateTime = DateTime.Now;
  118. ChanegAlarm.AlarmPath = AlarmPath;
  119. ChanegAlarm.AlarmMess = Message;
  120. FaultLog.RecordErrorMessage(alarm.AlarmMess+",Path:"+ ChanegAlarm.AlarmPath);
  121. }
  122. }
  123. /// <summary>
  124. /// 关闭指定警告
  125. /// </summary>
  126. public static void AlarmCancel(AlarmMessageList ID)
  127. {
  128. AlarmMessList.Find(x => x.ID == (int)ID).IsAlarm = false;
  129. }
  130. /// <summary>
  131. /// 获取所有警告
  132. /// </summary>
  133. public static List<AlarmMessModel> GetAllAlarm()
  134. {
  135. return AlarmMessList;
  136. }
  137. /// <summary>
  138. /// 获取所有已触发警告
  139. /// </summary>
  140. public static List<AlarmMessModel> GetAlarm()
  141. {
  142. return AlarmMessList.Where(x => x.IsAlarm == true).ToList();
  143. }
  144. }
  145. }