DeciceStateHelper.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using DBHelper;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using WCS.Entity.Protocol;
  6. namespace WCS.Service.Helpers
  7. {
  8. /// <summary>
  9. /// 状态管理中心
  10. /// </summary>
  11. public class DeciceStateHelper
  12. {
  13. /// <summary>
  14. /// 状态记录
  15. /// </summary>
  16. public static Dictionary<string, string> StateLog = new Dictionary<string, string>();
  17. /// <summary>
  18. /// 状态检查
  19. /// </summary>
  20. public static void StatusCheck(string devCode, string state)
  21. {
  22. if (StateLog.Any(v => v.Key == devCode))
  23. {
  24. if (StateLog.Any(v => v.Key == devCode && v.Value != state))
  25. {
  26. DB.Do(db =>
  27. {
  28. db.Default.Add(new WCS_DEVICESTATELOG()
  29. {
  30. DEVICECODE = devCode,
  31. STATE = state,
  32. UPDATETIME = DateTime.Now
  33. });
  34. db.Default.SaveChanges();
  35. });
  36. StateLog[devCode] = state;
  37. }
  38. }
  39. else //初始化
  40. {
  41. StateLog.Add(devCode, state);
  42. DB.Do(db =>
  43. {
  44. db.Default.Add(new WCS_DEVICESTATELOG()
  45. {
  46. DEVICECODE = devCode,
  47. STATE = state,
  48. UPDATETIME = DateTime.Now
  49. });
  50. db.Default.SaveChanges();
  51. });
  52. }
  53. }
  54. }
  55. }