GetTeleDataController.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Microsoft.AspNetCore.Mvc;
  2. using System;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using VideoSurveillanceAdapter;
  7. using Yunda.ISAS.DataMonitoringServer.DataAnalysis;
  8. using Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection;
  9. using Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model;
  10. using Yunda.ISAS.DataMonitoringServer.DataCenter;
  11. using YunDa.ISAS.DataTransferObject;
  12. using YunDa.ISAS.DataTransferObject.EquipmentLiveData;
  13. using YunDa.ISAS.DataTransferObject.VideoSurveillance.VideoDevDto;
  14. namespace Yunda.ISAS.DataMonitoringServer.WebApi.Controllers
  15. {
  16. [Route("isas/api/dataMonitoringService/getTeleData/[action]")]
  17. public class GetTeleDataController
  18. {
  19. private readonly RunningDataCache _runningDataCache;
  20. public GetTeleDataController()
  21. {
  22. _runningDataCache = WebApiServer._runningDataCache;
  23. }
  24. public string Index()
  25. {
  26. return "Hello GetTeleDataController!";
  27. }
  28. /// <summary>
  29. /// 获取遥测数据
  30. /// </summary>
  31. /// <param name="dispatcherAddr"></param>
  32. /// <returns></returns>
  33. [HttpGet]
  34. public RequestResult<TelemeteringModel> GetTelemeteringData([FromQuery] int dispatcherAddr)
  35. {
  36. RequestResult<TelemeteringModel> requestEasyResult = new();
  37. try
  38. {
  39. if (dispatcherAddr > 0)
  40. {
  41. foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
  42. {
  43. TelemeteringModel telesignal = e.Telemeterings.Where(m => m.DispatcherAddress == dispatcherAddr).FirstOrDefault();
  44. if (telesignal != null)
  45. {
  46. requestEasyResult.ResultData = telesignal;
  47. requestEasyResult.Flag = true;
  48. }
  49. }
  50. }
  51. }
  52. catch (Exception ex)
  53. {
  54. requestEasyResult.Message = ex.Message;
  55. MonitoringEventBus.LogHandler(ex.Message, "异常信息");
  56. }
  57. return requestEasyResult;
  58. }
  59. /// <summary>
  60. /// 获取遥信数据
  61. /// </summary>
  62. /// <param name="dispatcherAddr"></param>
  63. /// <returns></returns>
  64. [HttpGet]
  65. public RequestResult<TelesignalisationModel> GetTelesignalData([FromQuery] Guid id)
  66. {
  67. //MonitoringEventBus.LogHandler($"请求调度地址:{dispatcherAddr}", "外部请求");
  68. RequestResult<TelesignalisationModel> requestEasyResult = new();
  69. try
  70. {
  71. if (id !=default)
  72. {
  73. foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
  74. {
  75. TelesignalisationModel telesignal = e.Telesignalisations.Where(m=> m.Id == id).FirstOrDefault();
  76. if (telesignal!=null)
  77. {
  78. requestEasyResult.ResultData= telesignal;
  79. requestEasyResult.Flag = true;
  80. }
  81. }
  82. }
  83. }
  84. catch (Exception ex)
  85. {
  86. requestEasyResult.Message = ex.Message;
  87. MonitoringEventBus.LogHandler(ex.Message, "异常信息");
  88. }
  89. return requestEasyResult;
  90. }
  91. }
  92. }