CommonData.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using WCS.Data.Models;
  7. namespace WCS.Data
  8. {
  9. public enum LogLevelEnum
  10. {
  11. OFF = 0,
  12. FATAL = 1,
  13. ERROR = 2,
  14. WARN = 3,
  15. INFO = 4,
  16. DEBUG = 5,
  17. ALL = 6
  18. }
  19. public class CommonData
  20. {
  21. public static List<WCS_EQUIPMENTALARMS> QueryErrorToList(string where)
  22. {
  23. string sql = string.Format("select * from WCS_EquipmentAlarms where 1=1 {0}", where);
  24. var alarmsSet = SugarBase.DB.Ado.SqlQuery<WCS_EQUIPMENTALARMS>(sql);
  25. return alarmsSet;
  26. }
  27. public static void AddLedAlarmsMsg(SqlSugarClient db, string equipmentNo, string alaram,int task_no, int writeCount = 500)
  28. {
  29. //获取数据库当前时间
  30. DateTime currentdt = SugarBase.DB.GetDate();
  31. var alarmsmsgSet = db.Queryable<WCS_LEDALARMSMSG>().Where(v => v.LED_CONVYORNO == equipmentNo).ToList();
  32. if (alarmsmsgSet.Count() < writeCount)
  33. {
  34. var alarams = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList();
  35. if (alarams.Count > 0)
  36. {
  37. var alra = alarams[0];
  38. if (alra.LED_ALARMSMSG == alaram)
  39. {
  40. //alra.LED_UPDATETIME.AddSeconds(5) > currentdt
  41. //alra.LED_UPDATETIME = DateTime.Now;
  42. //db.Updateable(alra).UpdateColumns(v => new { v.LED_UPDATETIME }).ExecuteCommand();
  43. return;
  44. }
  45. }
  46. //添加
  47. var alarmsmsg = new WCS_LEDALARMSMSG();
  48. alarmsmsg.LED_ID = Guid.NewGuid().ToString();
  49. alarmsmsg.LED_ADDRESS = string.Empty;
  50. alarmsmsg.LED_CONVYORNO = equipmentNo;
  51. alarmsmsg.LED_NO = "1";
  52. alarmsmsg.LED_WCSTASK_NO = task_no;
  53. alarmsmsg.LED_ALARMSMSG = alaram;
  54. alarmsmsg.LED_DEFAULTMESSAGE = "欢迎光临大地海洋龙升控股有限公司";
  55. alarmsmsg.LED_UPDATETIME = currentdt;// DateTime.Now;
  56. alarmsmsg.LED_NOTES = string.Empty;
  57. db.Insertable(alarmsmsg).ExecuteCommand();
  58. }
  59. else
  60. {
  61. var alaitem = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList()[0];
  62. if (alaitem.LED_ALARMSMSG != alaram)
  63. {
  64. //修改
  65. var alaramsmsgitem = alarmsmsgSet.OrderBy(v => v.LED_UPDATETIME).ToList()[0];
  66. if (alaramsmsgitem.LED_ALARMSMSG != alaram)
  67. {
  68. alaramsmsgitem.LED_ALARMSMSG = alaram;
  69. alaramsmsgitem.LED_UPDATETIME = currentdt;// DateTime.Now;
  70. db.Updateable(alaramsmsgitem).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_UPDATETIME }).ExecuteCommand();
  71. }
  72. }
  73. //var alaitem = alarmsmsgSet.OrderByDescending(v => v.LED_UPDATETIME).ToList()[0];
  74. //if (alaitem.LED_ALARMSMSG != alaram &&
  75. // alaitem.LED_UPDATETIME.AddSeconds(5) > currentdt)
  76. //{
  77. // //修改
  78. // var alaramsmsgitem = alarmsmsgSet.OrderBy(v => v.LED_UPDATETIME).ToList()[0];
  79. // if (alaramsmsgitem.LED_ALARMSMSG != alaram &&
  80. // alaramsmsgitem.LED_UPDATETIME.AddSeconds(5) > currentdt)
  81. // {
  82. // alaramsmsgitem.LED_ALARMSMSG = alaram;
  83. // alaramsmsgitem.LED_UPDATETIME = currentdt;// DateTime.Now;
  84. // db.Updateable(alaramsmsgitem).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_UPDATETIME }).ExecuteCommand();
  85. // }
  86. //}
  87. }
  88. }
  89. public static void AddLedErrorMsg(SqlSugarClient db, string equipmentNo, string alaram, int wcs_task_no, int wms_task_no, int alaramCount = 10)
  90. {
  91. //获取数据库当前时间OrderBy(v => v.LED_UPDATETIME, OrderByType.Desc)
  92. DateTime currentdt = SugarBase.DB.GetDate();
  93. var alarmsmsgSet = db.Queryable<WCS_LEDALARMSMSG>().Where(v => v.LED_CONVYORNO == equipmentNo).OrderBy(v => v.LED_UPDATETIME).ToList();
  94. if (alarmsmsgSet.Count < alaramCount)
  95. {
  96. //添加
  97. var alarmsmsg = new WCS_LEDALARMSMSG();
  98. alarmsmsg.LED_ID = Guid.NewGuid().ToString();
  99. alarmsmsg.LED_ADDRESS = string.Empty;
  100. alarmsmsg.LED_CONVYORNO = equipmentNo;
  101. alarmsmsg.LED_NO = "1";
  102. alarmsmsg.LED_WCSTASK_NO = wcs_task_no;
  103. alarmsmsg.LED_WMSTASK_NO = wms_task_no;
  104. alarmsmsg.LED_ALARMSMSG = alaram;
  105. alarmsmsg.LED_DEFAULTMESSAGE = "欢迎光临永冠科技有限公司";
  106. alarmsmsg.LED_UPDATETIME = currentdt;// DateTime.Now;
  107. alarmsmsg.LED_NOTES = string.Empty;
  108. db.Insertable(alarmsmsg).ExecuteCommand();
  109. }
  110. else
  111. {
  112. var alarmLast = alarmsmsgSet.Last();
  113. var alarmFirst = alarmsmsgSet.First();
  114. if (alarmLast.LED_DEFAULTMESSAGE == alaram && alarmLast.LED_WCSTASK_NO == wcs_task_no)
  115. {
  116. if (alarmLast.LED_UPDATETIME.AddMinutes(3) < currentdt)
  117. {
  118. //超过3分钟更新提示信息
  119. alarmFirst.LED_UPDATETIME = currentdt;
  120. alarmFirst.LED_ISUPLOADWMSFINISH = false;
  121. db.Updateable(alarmFirst).UpdateColumns(v => new { v.LED_ISUPLOADWMSFINISH, v.LED_UPDATETIME }).ExecuteCommand();
  122. }
  123. }
  124. else
  125. {
  126. //修改
  127. alarmFirst.LED_UPDATETIME = currentdt;
  128. alarmFirst.LED_ALARMSMSG = alaram;
  129. alarmFirst.LED_WCSTASK_NO = wcs_task_no;
  130. alarmFirst.LED_WMSTASK_NO = wms_task_no;
  131. alarmFirst.LED_ISUPLOADWMSFINISH = false;
  132. db.Updateable(alarmFirst).UpdateColumns(v => new { v.LED_ALARMSMSG, v.LED_WCSTASK_NO, v.LED_WMSTASK_NO, v.LED_ISUPLOADWMSFINISH, v.LED_UPDATETIME }).ExecuteCommand();
  133. }
  134. }
  135. }
  136. public static void AddWCS_TASK_DTL(SqlSugarClient db, int task_id, int task_no, string posIdCur, string posIdNext, string msg)
  137. {
  138. var task_dtl = new WCS_TASK_DTL();
  139. task_dtl.ID = Guid.NewGuid().ToString();
  140. task_dtl.PARENTID = task_id;
  141. task_dtl.TASKNO = task_no;
  142. task_dtl.POSIDCUR = posIdCur;
  143. task_dtl.POSIDNEXT = posIdNext;
  144. task_dtl.DESCRIPTION = msg;
  145. task_dtl.EXECUTEDATE = DateTime.Now;
  146. db.Insertable(task_dtl).ExecuteCommand();
  147. }
  148. public static void WriteErrorFormat(string text, string text_dtl)
  149. {
  150. WriteFormat(LogLevelEnum.ERROR, text, text_dtl);
  151. }
  152. public static void WriteInfoFormat(string text, string text_dtl)
  153. {
  154. WriteFormat(LogLevelEnum.INFO, text, text_dtl);
  155. }
  156. public static void WriteDebugFormat(string text, string text_dtl)
  157. {
  158. WriteFormat(LogLevelEnum.DEBUG, text, text_dtl);
  159. }
  160. private static void WriteFormat(LogLevelEnum level, string text, string text_dtl)
  161. {
  162. SqlSugarClient db = null;
  163. try
  164. {
  165. db = SugarBase.GetIntance();
  166. var log = new WCS_LOG();
  167. log.LOG_LEVEL = level.ToString();
  168. //log.LOG_FUNC = user.Func;
  169. //log.LOG_IPADDERSS = user.IPAdderss;
  170. log.LOG_INFO = text;
  171. log.LOG_INFODTL = text_dtl;
  172. log.LOG_ADDUSERNO = "WCS";
  173. log.LOG_ADDUSERNAME = "WCS";
  174. log.LOG_ADDDATETIME = db.GetDate();
  175. log.LOG_EDITUSERNO = "WCS";
  176. log.LOG_EDITUSERNAME = "WCS";
  177. log.LOG_EDITDATETIME = db.GetDate();
  178. db.Insertable(log).ExecuteCommand();
  179. }
  180. catch (Exception ex)
  181. {
  182. Log4netHelper.Logger_Error.ErrorFormat(ex.ToString());
  183. }
  184. finally
  185. {
  186. if (db != null) ((IDisposable)db).Dispose();
  187. }
  188. }
  189. }
  190. }