using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http;
|
using System.Web.Http;
|
using IStation.Model.Api;
|
using AutoMapper;
|
using IStation.WebApi.Models;
|
using Microsoft.Web.Http;
|
|
namespace IStation.WebApi.Controllers
|
{
|
/// <summary>
|
/// 测点业务标准api
|
/// </summary>
|
[RoutePrefix("v1/Standard/MonitorPoint")]
|
[ApiVersion("v1")]
|
public class MonitorPoint_StandardController : ApiController
|
{
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取逻辑树
|
/// </summary>
|
[Route("GetLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(CorpID, BelongType, BelongID);
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规逻辑树
|
/// </summary>
|
[Route("GetGeneralLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetGeneralLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
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.MonitorPoint.eMonitorType.General).ToList();
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取实时测点逻辑树
|
/// </summary>
|
[Route("GetRealLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetRealLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
return vm_cache_group;
|
}).ToList();
|
|
#endregion
|
|
#region 监测点
|
|
var monitor_list = new Service.MonitorPoint().GetExSignalWithSignalTypeByBelongTypeAndBelongID(CorpID, BelongType, BelongID);
|
monitor_list = monitor_list?.Where(x => x.CronType == Model.MonitorPoint.eCronType.Real).ToList();
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规实时测点逻辑树
|
/// </summary>
|
[Route("GetGeneralRealLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetGeneralRealLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
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.MonitorPoint.eMonitorType.General&& x.CronType == Model.MonitorPoint.eCronType.Real).ToList();
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取录入测点逻辑树
|
/// </summary>
|
[Route("GetInputLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetInputLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
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.MonitorPoint.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取常规录入测点逻辑树
|
/// </summary>
|
[Route("GetGeneralInputLogicalTreeByBelongTypeAndBelongID")]
|
[HttpGet]
|
public Result GetGeneralInputLogicalTreeByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
if (CorpID < 1)
|
{
|
return new Result(Code.Error, "CorpID 参数错误");
|
}
|
if (string.IsNullOrEmpty(BelongType))
|
{
|
return new Result(Code.Error, "BelongType 参数错误");
|
}
|
if (BelongID < 1)
|
{
|
return new Result(Code.Error, "BelongID 参数错误");
|
}
|
|
var cacheKey = $"Standard_MonitorPoint_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 ViewModel.MonitorPointGroup(x)).ToList();
|
var vm_cache_group_list = vm_group_list?.Select(x =>
|
{
|
var vm_cache_group = new ViewModel.LogicalTreeItem();
|
vm_cache_group.ID = $"{ObjectType.Monitor_监测点组}_{x.ID}";
|
vm_cache_group.ParentID = $"{ObjectType.Monitor_监测点组}_{x.ParentID}";
|
vm_cache_group.LogicalName = x.Name;
|
vm_cache_group.LogicalType = ObjectType.Monitor_监测点组;
|
vm_cache_group.LogicalID = x.ID;
|
vm_cache_group.LogicalModel = x;
|
vm_cache_group.Children = new List<ViewModel.LogicalTreeItem>();
|
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.MonitorPoint.eMonitorType.General&& x.SourceType == Model.MonitorPoint.eSourceType.Input).ToList();
|
var vm_monitor_list = monitor_list?.Select(x => new ViewModel.MonitorPointExSignalList(x)).ToList();
|
var vm_cache_monitor_list = vm_monitor_list?.Select(x =>
|
{
|
var vm_cache_monitor = new ViewModel.LogicalTreeItem();
|
vm_cache_monitor.ID = $"{ObjectType.Monitor_监测点}_{x.ID}";
|
vm_cache_monitor.ParentID = $"{ObjectType.Monitor_监测点组}_{x.GroupID}";
|
vm_cache_monitor.LogicalName = x.Name;
|
vm_cache_monitor.LogicalType = ObjectType.Monitor_监测点;
|
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<ViewModel.LogicalTreeItem>();
|
|
//遍历测点
|
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 new Result<List<ViewModel.LogicalTreeItem>>(vm_list);
|
}
|
|
}
|
}
|