97 lines
3.5 KiB
C#
97 lines
3.5 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using VideoSurveillanceAdapter;
|
|
using Yunda.ISAS.DataMonitoringServer.DataAnalysis;
|
|
using Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection;
|
|
using Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model;
|
|
using Yunda.ISAS.DataMonitoringServer.DataCenter;
|
|
using YunDa.ISAS.DataTransferObject;
|
|
using YunDa.ISAS.DataTransferObject.EquipmentLiveData;
|
|
using YunDa.ISAS.DataTransferObject.VideoSurveillance.VideoDevDto;
|
|
|
|
namespace Yunda.ISAS.DataMonitoringServer.WebApi.Controllers
|
|
{
|
|
[Route("isas/api/dataMonitoringService/getTeleData/[action]")]
|
|
public class GetTeleDataController
|
|
{
|
|
private readonly RunningDataCache _runningDataCache;
|
|
public GetTeleDataController()
|
|
{
|
|
_runningDataCache = WebApiServer._runningDataCache;
|
|
|
|
}
|
|
public string Index()
|
|
{
|
|
return "Hello GetTeleDataController!";
|
|
}
|
|
/// <summary>
|
|
/// 获取遥测数据
|
|
/// </summary>
|
|
/// <param name="dispatcherAddr"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public RequestResult<TelemeteringModel> GetTelemeteringData([FromQuery] int dispatcherAddr)
|
|
{
|
|
RequestResult<TelemeteringModel> requestEasyResult = new();
|
|
try
|
|
{
|
|
if (dispatcherAddr > 0)
|
|
{
|
|
foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
|
|
{
|
|
TelemeteringModel telesignal = e.Telemeterings.Where(m => m.DispatcherAddress == dispatcherAddr).FirstOrDefault();
|
|
if (telesignal != null)
|
|
{
|
|
requestEasyResult.ResultData = telesignal;
|
|
requestEasyResult.Flag = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
requestEasyResult.Message = ex.Message;
|
|
MonitoringEventBus.LogHandler(ex.Message, "异常信息");
|
|
}
|
|
return requestEasyResult;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 获取遥信数据
|
|
/// </summary>
|
|
/// <param name="dispatcherAddr"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public RequestResult<TelesignalisationModel> GetTelesignalData([FromQuery] Guid id)
|
|
{
|
|
//MonitoringEventBus.LogHandler($"请求调度地址:{dispatcherAddr}", "外部请求");
|
|
RequestResult<TelesignalisationModel> requestEasyResult = new();
|
|
try
|
|
{
|
|
if (id !=default)
|
|
{
|
|
foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values)
|
|
{
|
|
TelesignalisationModel telesignal = e.Telesignalisations.Where(m=> m.Id == id).FirstOrDefault();
|
|
if (telesignal!=null)
|
|
{
|
|
requestEasyResult.ResultData= telesignal;
|
|
requestEasyResult.Flag = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
requestEasyResult.Message = ex.Message;
|
|
MonitoringEventBus.LogHandler(ex.Message, "异常信息");
|
|
}
|
|
return requestEasyResult;
|
|
|
|
}
|
|
}
|
|
}
|