DeciceStateHelper.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. WCS_DEVICESTATELOG dev = new WCS_DEVICESTATELOG()
  29. {
  30. DEVICECODE = devCode,
  31. STATE = state,
  32. UPDATETIME = DateTime.Now,
  33. UPDATEUSER = "WCS"
  34. };
  35. db.Default.Add(dev);
  36. db.Default.SaveChanges();
  37. });
  38. StateLog[devCode] = state;
  39. }
  40. }
  41. else //初始化
  42. {
  43. StateLog.Add(devCode, state);
  44. DB.Do(db =>
  45. {
  46. WCS_DEVICESTATELOG dev = new WCS_DEVICESTATELOG()
  47. {
  48. DEVICECODE = devCode,
  49. STATE = state,
  50. UPDATETIME = DateTime.Now,
  51. UPDATEUSER = "WCS"
  52. };
  53. db.Default.Add(dev);
  54. db.Default.SaveChanges();
  55. });
  56. }
  57. }
  58. }
  59. }