using Microsoft.AspNetCore.Mvc;
|
using System.Net;
|
using System.Net.Http.Headers;
|
using Microsoft.Extensions.Hosting.Internal;
|
using Microsoft.AspNetCore.Http.Extensions;
|
using IStation.Untity;
|
using Furion.DynamicApiController;
|
using System.ComponentModel.DataAnnotations;
|
using Mapster;
|
using Microsoft.AspNetCore.Authorization;
|
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
/// MonitorPoint
|
/// </summary>
|
[Route("Monitor/MonitorPoint/Logic")]
|
[ApiDescriptionSettings("Monitor", Name = "监测点(业务)", Order = 789)]
|
public class MonitorPoint_LogicController : IDynamicApiController
|
{
|
#region 逻辑树
|
|
#region 通过 BelongType 和 BelongID 获取逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取逻辑树
|
/// </summary>
|
[Route("GetLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_monitor_list = monitor_list?.Where(x=>x.UseStatus== Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取常规逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规逻辑树
|
/// </summary>
|
[Route("GetGeneralLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.eMonitorType.General);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetGeneralLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.eMonitorType.General);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取振动逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取振动逻辑树
|
/// </summary>
|
[Route("GetVibrationLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetVibrationLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetVibrationLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.eMonitorType.Vibration);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取振动逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetVibrationLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetVibrationLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetVibrationLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.eMonitorType.Vibration);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取实时测点逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取实时测点逻辑树
|
/// </summary>
|
[Route("GetRealLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetRealLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取实时测点逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetRealLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetRealLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region BelongType 和 BelongID 获取常规实时测点逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规实时测点逻辑树
|
/// </summary>
|
[Route("GetGeneralRealLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralRealLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规实时测点逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetGeneralRealLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralRealLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取振动实时测点逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取振动实时测点逻辑树
|
/// </summary>
|
[Route("GetVibrationRealLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetVibrationRealLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetVibrationRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.Vibration, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取振动实时测点逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetVibrationRealLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetVibrationRealLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetVibrationRealLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.Vibration, Model.Monitor.eCronType.Real);
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取录入测点逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取录入测点逻辑树
|
/// </summary>
|
[Route("GetInputLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetInputLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetInputLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
monitor_list = monitor_list?.Where(x => x.SourceType == Model.Monitor.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取录入测点逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetInputLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetInputLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetInputLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
monitor_list = monitor_list?.Where(x => x.SourceType == Model.Monitor.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取常规录入测点逻辑树
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规录入测点逻辑树
|
/// </summary>
|
[Route("GetGeneralInputLogicalTreeByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralInputLogicalTreeByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralInputLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
monitor_list = monitor_list?.Where(x => x.MonitorType == Model.eMonitorType.General && x.SourceType == Model.Monitor.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规录入测点逻辑树(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetGeneralInputLogicalTreeByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<LogicalTreeItemDto> GetGeneralInputLogicalTreeByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralInputLogicalTreeByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
#region 监测点组
|
|
var group_list = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vm_group_list = group_list?.Select(x => new MonitorPointGroupLogicDto(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new LogicalTreeItemDto();
|
vm_cache_group.ID = $"{ObjectType.MonitorPointGroup}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.MonitorPointGroup}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.MonitorPointGroup;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<LogicalTreeItemDto>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
monitor_list = monitor_list?.Where(x => x.MonitorType == Model.eMonitorType.General && x.SourceType == Model.Monitor.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable)?.Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new LogicalTreeItemDto();
|
vm_cache_monitor.ID = $"{ObjectType.MonitorPoint}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.MonitorPointGroup}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.MonitorPoint;
|
vm_cache_monitor.LogicalID = x.ID;
|
vm_cache_monitor.LogicalModel = x;
|
vm_cache_monitor.Children = null;
|
return vm_cache_monitor;
|
}).ToList();
|
|
#endregion
|
|
#region 生成树
|
|
var vm_cache_list = new List<LogicalTreeItemDto>();
|
|
//遍历测点
|
if (vm_cache_monitor_list != null && vm_cache_monitor_list.Count > 0)
|
{
|
foreach (var vm_cache_monitor in vm_cache_monitor_list)
|
{
|
var vm_cache_monitor_parent = vm_cache_group_list?.Find(t => t.ID == vm_cache_monitor.ParentID);
|
if (vm_cache_monitor_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_monitor);
|
}
|
else
|
{
|
vm_cache_monitor_parent.Children.Add(vm_cache_monitor);
|
}
|
}
|
}
|
|
//遍历测点组
|
if (vm_cache_group_list != null && vm_cache_group_list.Count > 0)
|
{
|
foreach (var vm_cache_group in vm_cache_group_list)
|
{
|
var vm_cahce_group_parent = vm_cache_group_list.Find(t => t.ID == vm_cache_group.ParentID);
|
if (vm_cahce_group_parent == null)
|
{
|
vm_cache_list.Add(vm_cache_group);
|
}
|
else
|
{
|
vm_cahce_group_parent.Children.Add(vm_cache_group);
|
}
|
}
|
}
|
|
return vm_cache_list;
|
|
#endregion
|
|
}, CacheHelper.CacheLevel2);
|
|
return vm_list;
|
}
|
|
|
#endregion
|
|
#endregion
|
|
#region Kpi
|
|
#region 通过 StationID 获取KPI
|
|
/// <summary>
|
/// 通过 StationID 获取KPI
|
/// </summary>
|
/// <param name="CorpID">客户标识</param>
|
/// <param name="StationID">泵站标识</param>
|
/// <param name="Count">KPI数量</param>
|
[Route("GetKpiByStationID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetKpiByStationID_V1_0
|
(
|
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
|
long CorpID,
|
[Required, Range(1, long.MaxValue, ErrorMessage = "StationID 必须大于0")]
|
long StationID,
|
int Count = 2
|
)
|
{
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetKpiByStationID_{CorpID}_{StationID}_{Count}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
//最后kpi记录列表
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(CorpID, ObjectType.Station, StationID, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var monitor_kpi_list = monitor_list?.Where(x =>x.UseStatus== Model.eUseStatus.Enable&& x.Flags != null && x.Flags.Contains(LogicFlags.KPI))
|
.OrderBy(x => x.ImportanceIndex == null ? int.MaxValue : x.ImportanceIndex.Value).ToList();
|
|
var vmCacheList = new List<MonitorPointExSignalListLogicDto>();
|
if (monitor_kpi_list != null)
|
{
|
var take_count = monitor_kpi_list.Count > Count ? Count : monitor_kpi_list.Count;
|
monitor_kpi_list = monitor_kpi_list.Take(take_count).ToList();
|
|
foreach (var monitor_kpi in monitor_kpi_list)
|
{
|
var vm = new MonitorPointExSignalListLogicDto(monitor_kpi);
|
vmCacheList.Add(vm);
|
}
|
}
|
return vmCacheList;
|
}, CacheHelper.CacheLevel4);
|
return vm_list;
|
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取KPI(不需要验证Token)
|
/// </summary>
|
/// <param name="CorpID">客户标识</param>
|
/// <param name="StationID">泵站标识</param>
|
/// <param name="Count">KPI数量</param>
|
[AllowAnonymous]
|
[Route("GetKpiByStationID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetKpiByStationID_V1_1
|
(
|
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
|
long CorpID,
|
[Required, Range(1, long.MaxValue, ErrorMessage = "StationID 必须大于0")]
|
long StationID,
|
int Count = 2
|
)
|
{
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetKpiByStationID_{CorpID}_{StationID}_{Count}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
//最后kpi记录列表
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(CorpID, ObjectType.Station, StationID, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var monitor_kpi_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable && x.Flags != null && x.Flags.Contains(LogicFlags.KPI))
|
.OrderBy(x => x.ImportanceIndex == null ? int.MaxValue : x.ImportanceIndex.Value).ToList();
|
|
var vmCacheList = new List<MonitorPointExSignalListLogicDto>();
|
if (monitor_kpi_list != null)
|
{
|
var take_count = monitor_kpi_list.Count > Count ? Count : monitor_kpi_list.Count;
|
monitor_kpi_list = monitor_kpi_list.Take(take_count).ToList();
|
|
foreach (var monitor_kpi in monitor_kpi_list)
|
{
|
var vm = new MonitorPointExSignalListLogicDto(monitor_kpi);
|
vmCacheList.Add(vm);
|
}
|
}
|
return vmCacheList;
|
}, CacheHelper.CacheLevel4);
|
return vm_list;
|
|
}
|
|
#endregion
|
|
#region 通过 StationIds 获取KPI
|
|
/// <summary>
|
/// 通过 StationIds 获取KPI
|
/// </summary>
|
/// <param name="CorpID">客户标识</param>
|
/// <param name="StationIds">泵站标识 , 分隔</param>
|
/// <param name="Count">KPI数量</param>
|
[Route("GetKpiByStationIds@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetKpiByStationIds_V1_0
|
(
|
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
|
long CorpID,
|
[Required, DataValidation(AllowEmptyStrings =false)]
|
string StationIds,
|
int Count = 2
|
)
|
{
|
var stationIds = LongListHelper.ToList(StationIds);
|
if (stationIds == null || stationIds.Count < 1)
|
{
|
throw new Exception("StationIds 参数错误");
|
}
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetKpiByStationID_{CorpID}_{StationIds}_{Count}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var vmCacheList = new List<MonitorPointExSignalListLogicDto>();
|
foreach (var stationId in stationIds)
|
{
|
//最后kpi记录列表
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(CorpID, ObjectType.Station, stationId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var monitor_kpi_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable && x.Flags != null && x.Flags.Contains(LogicFlags.KPI))
|
.OrderBy(x => x.ImportanceIndex == null ? int.MaxValue : x.ImportanceIndex.Value).ToList();
|
|
if (monitor_kpi_list != null)
|
{
|
var take_count = monitor_kpi_list.Count > Count ? Count : monitor_kpi_list.Count;
|
monitor_kpi_list = monitor_kpi_list.Take(take_count).ToList();
|
|
foreach (var monitor_kpi in monitor_kpi_list)
|
{
|
var vm = new MonitorPointExSignalListLogicDto(monitor_kpi);
|
vmCacheList.Add(vm);
|
}
|
}
|
}
|
return vmCacheList;
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
|
}
|
|
/// <summary>
|
/// 通过 StationIds 获取KPI(不需要验证Token)
|
/// </summary>
|
/// <param name="CorpID">客户标识</param>
|
/// <param name="StationIds">泵站标识 , 分隔</param>
|
/// <param name="Count">KPI数量</param>
|
[AllowAnonymous]
|
[Route("GetKpiByStationIds@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetKpiByStationIds_V1_1
|
(
|
[Required, Range(1, long.MaxValue, ErrorMessage = "CorpID 必须大于0")]
|
long CorpID,
|
[Required, DataValidation(AllowEmptyStrings =false)]
|
string StationIds,
|
int Count = 2
|
)
|
{
|
var stationIds = LongListHelper.ToList(StationIds);
|
if (stationIds == null || stationIds.Count < 1)
|
{
|
throw new Exception("StationIds 参数错误");
|
}
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetKpiByStationID_{CorpID}_{StationIds}_{Count}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var vmCacheList = new List<MonitorPointExSignalListLogicDto>();
|
foreach (var stationId in stationIds)
|
{
|
//最后kpi记录列表
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(CorpID, ObjectType.Station, stationId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var monitor_kpi_list = monitor_list?.Where(x => x.UseStatus == Model.eUseStatus.Enable && x.Flags != null && x.Flags.Contains(LogicFlags.KPI))
|
.OrderBy(x => x.ImportanceIndex == null ? int.MaxValue : x.ImportanceIndex.Value).ToList();
|
|
if (monitor_kpi_list != null)
|
{
|
var take_count = monitor_kpi_list.Count > Count ? Count : monitor_kpi_list.Count;
|
monitor_kpi_list = monitor_kpi_list.Take(take_count).ToList();
|
|
foreach (var monitor_kpi in monitor_kpi_list)
|
{
|
var vm = new MonitorPointExSignalListLogicDto(monitor_kpi);
|
vmCacheList.Add(vm);
|
}
|
}
|
}
|
return vmCacheList;
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
|
}
|
|
|
#endregion
|
|
#endregion
|
|
#region 列表
|
|
#region 通过 BelongType 和 BelongID 获取列表
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取列表
|
/// </summary>
|
[Route("GetListByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetListByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x=>x.UseStatus== Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetListByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetListByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取常规实时列表
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规实时列表
|
/// </summary>
|
[Route("GetGeneralRealListByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetGeneralRealListByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规实时列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetGeneralRealListByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetGeneralRealListByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID
|
(corpId, belongType, belongId, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取Master(总站)列表
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取Master(总站)列表
|
/// </summary>
|
[Route("GetMasterListByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetMasterListByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetMasterListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var allGroupList = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
if (allGroupList == null || allGroupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var groupList = allGroupList.Where(x => x.Flags != null && x.Flags.Contains(LogicFlags.总站)).ToList();
|
if (groupList == null || groupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByGroupIds(corpId, groupList.Select(x => x.ID));
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
}
|
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取Master(总站)列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetMasterListByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetMasterListByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetMasterListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var allGroupList = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
if (allGroupList == null || allGroupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var groupList = allGroupList.Where(x => x.Flags != null && x.Flags.Contains(LogicFlags.总站)).ToList();
|
if (groupList == null || groupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByGroupIds(corpId, groupList.Select(x => x.ID));
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
}
|
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 BelongType 和 BelongID 获取Master(总站)常规实时列表
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取Master(总站)常规实时列表
|
/// </summary>
|
[Route("GetMasterGeneralRealListByBelongTypeAndBelongID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetMasterGeneralRealListByBelongTypeAndBelongID_V1_0([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetMasterGeneralRealListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var allGroupList = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
if (allGroupList == null || allGroupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var groupList = allGroupList.Where(x => x.Flags != null && x.Flags.Contains(LogicFlags.总站)).ToList();
|
if (groupList == null || groupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByGroupIds(corpId, groupList.Select(x => x.ID), Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
}
|
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取Master(总站)常规实时列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetMasterGeneralRealListByBelongTypeAndBelongID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetMasterGeneralRealListByBelongTypeAndBelongID_V1_1([FromQuery][Required] BelongUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var belongType = input.BelongType;
|
var belongId = input.BelongID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetMasterGeneralRealListByBelongTypeAndBelongID_{corpId}_{belongType}_{belongId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var allGroupList = new Service.MonitorPointGroup().GetByBelongTypeAndBelongID(corpId, belongType, belongId);
|
if (allGroupList == null || allGroupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var groupList = allGroupList.Where(x => x.Flags != null && x.Flags.Contains(LogicFlags.总站)).ToList();
|
if (groupList == null || groupList.Count < 1)
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(corpId, belongType, belongId);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
else
|
{
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByGroupIds(corpId, groupList.Select(x => x.ID), Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
}
|
}
|
|
|
}, CacheHelper.CacheLevel3);
|
|
return vm_list;
|
}
|
|
#endregion
|
|
#endregion
|
|
#region 通过设备获取列表
|
|
#region 通过 ProductID 获取列表
|
|
/// <summary>
|
/// 通过 ProductID 获取列表
|
/// </summary>
|
[Route("GetListByProductID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetListByProductID_V1_0([FromQuery][Required] ProductIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var productId = input.ProductID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetListByProductID_{corpId}_{productId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var monitorMappingList = new Service.MonitorPointMapping().GetByObjectTypeAndObjectID(corpId, ObjectType.Product, productId);
|
if (monitorMappingList == null || monitorMappingList.Count < 1)
|
return default;
|
var monitorIds = monitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByIds(corpId, monitorIds);
|
var vmCacheList = monitorList?.Where(x=>x.UseStatus== Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 ProductID 获取列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetListByProductID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetListByProductID_V1_1([FromQuery][Required] ProductIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var productId = input.ProductID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetListByProductID_{corpId}_{productId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var monitorMappingList = new Service.MonitorPointMapping().GetByObjectTypeAndObjectID(corpId, ObjectType.Product, productId);
|
if (monitorMappingList == null || monitorMappingList.Count < 1)
|
return default;
|
var monitorIds = monitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByIds(corpId, monitorIds);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
#endregion
|
|
#region 通过 ProductID 获取常规实时列表
|
|
/// <summary>
|
/// 通过 ProductID 获取常规实时列表
|
/// </summary>
|
[Route("GetGeneralRealListByProductID@V1.0")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetGeneralRealListByProductID_V1_0([FromQuery][Required] ProductIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var productId = input.ProductID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealListByProductID_{corpId}_{productId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var monitorMappingList = new Service.MonitorPointMapping().GetByObjectTypeAndObjectID(corpId, ObjectType.Product, productId);
|
if (monitorMappingList == null || monitorMappingList.Count < 1)
|
return default;
|
var monitorIds = monitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByIds(corpId, monitorIds, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
/// <summary>
|
/// 通过 ProductID 获取常规实时列表(不需要验证Token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetGeneralRealListByProductID@V1.1")]
|
[HttpGet]
|
public List<MonitorPointExSignalListLogicDto> GetGeneralRealListByProductID_V1_1([FromQuery][Required] ProductIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var productId = input.ProductID;
|
var cacheKey = $"Monitor_MonitorPoint_Logic_GetGeneralRealListByProductID_{corpId}_{productId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
|
{
|
var monitorMappingList = new Service.MonitorPointMapping().GetByObjectTypeAndObjectID(corpId, ObjectType.Product, productId);
|
if (monitorMappingList == null || monitorMappingList.Count < 1)
|
return default;
|
var monitorIds = monitorMappingList.Select(x => x.MonitorPointID).Distinct().ToList();
|
var monitorList = new Service.MonitorPoint().GetExSignalWithSignalTypeByIds(corpId, monitorIds, Model.eMonitorType.General, Model.Monitor.eCronType.Real);
|
var vmCacheList = monitorList?.Where(x => x.UseStatus == Model.eUseStatus.Enable).Select(x => new MonitorPointExSignalListLogicDto(x)).ToList();
|
return vmCacheList;
|
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
#endregion
|
|
#endregion
|
|
}
|
}
|