From a9b288ccaede3fe738b1e56d7be37d141c7953c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=83=AD=E7=9D=BF?= <774114798@qq.com>
Date: Tue, 3 Dec 2024 16:25:07 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E7=BD=AE=E7=9B=91=E8=A7=86=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=88=9D=E5=A7=8B=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ProtectionDeviceAppService.cs | 33 ++++
.../OperationReport/BCodeAndNTP.cs | 14 ++
.../OperationReport/DeviceCPUMonitoring.cs | 25 +++
.../YunDa.ISAS.DataTransferObject.xml | 5 +
.../DeviceMonitoringResultDataAppService.cs | 27 ++++
.../YunDa.ISAS.Redis/ISASRedisModule.cs | 1 +
.../DeviceCPUMonitoringResult.cs | 29 ++++
.../DataCollection/DataSendTask.cs | 142 +++++++++++++++++-
.../DataAnalysis/Model/ConstantModel.cs | 5 +-
.../DataAnalysis/Model/DeviceMonitoring.cs | 12 ++
.../DataAnalysis/MonitoringDataService.cs | 10 +-
.../DataAnalysis/WebApiRequest.cs | 51 +++++++
.../DataCenter/RedisRepository.cs | 3 +
.../DataCenter/RunningDataCache.cs | 14 +-
.../ProtectionDeviceDataCenter.cs | 22 ++-
.../ProtectionDeviceRunInfoHandle.cs | 37 ++++-
.../TcpSocket/Server/DotNettyServerHandler.cs | 5 -
17 files changed, 398 insertions(+), 37 deletions(-)
create mode 100644 src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/BCodeAndNTP.cs
create mode 100644 src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/DeviceCPUMonitoring.cs
create mode 100644 src/YunDa.Application/YunDa.ISAS.MongoDB.Application/MainStationMaintenanceInfo/DeviceMonitoringResultDataAppService.cs
create mode 100644 src/YunDa.Domain/Yunda.ISAS.MongoDB.Entities/MainStationMaintenanceInfo/DeviceCPUMonitoringResult.cs
create mode 100644 src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/DeviceMonitoring.cs
diff --git a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionDevice/ProtectionDeviceAppService.cs b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionDevice/ProtectionDeviceAppService.cs
index dd5f539..645f133 100644
--- a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionDevice/ProtectionDeviceAppService.cs
+++ b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionDevice/ProtectionDeviceAppService.cs
@@ -991,6 +991,39 @@ namespace YunDa.ISAS.Application.GeneralInformation
}
return rst;
}
+ ///
+ /// 获取装置初始监测状态
+ ///
+ ///
+ ///
+ [AbpAllowAnonymous]
+ [HttpGet]
+ [DisableAuditing]
+ public async Task> GetDeviceCPUMonitoring(Guid equipmentInfoId)
+ {
+ RequestResult rst = new();
+ try
+ {
+ rst.ResultData = new DeviceCPUMonitoring
+ {
+ EquipmentInfoId = equipmentInfoId,
+ CPU5V1 = 5f,
+ CPU5V2 = 5f,
+ CPU5V3 = 5f,
+ CPUTemperature = 0,
+ SurfaceTemperature = 0,
+ Time = DateTime.Now,
+ };
+ rst.Flag = true;
+ }
+ catch (Exception ex)
+ {
+ rst.Message = ex.Message;
+
+ Log4Helper.Error(this.GetType(), "线路管理服务", ex);
+ }
+ return rst;
+ }
#if DEBUG
///
/// 填充出厂编号
diff --git a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/BCodeAndNTP.cs b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/BCodeAndNTP.cs
new file mode 100644
index 0000000..dd06750
--- /dev/null
+++ b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/BCodeAndNTP.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace YunDa.SOMS.DataTransferObject.MainStationMaintenanceInfo.OperationReport
+{
+ public class BCodeAndNTP
+ {
+ public int BCode { get; set; }
+ public int NTP { get; set; }
+ }
+}
diff --git a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/DeviceCPUMonitoring.cs b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/DeviceCPUMonitoring.cs
new file mode 100644
index 0000000..8ae9183
--- /dev/null
+++ b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/MainStationMaintenanceInfo/OperationReport/DeviceCPUMonitoring.cs
@@ -0,0 +1,25 @@
+using MessagePack;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace YunDa.SOMS.DataTransferObject.MainStationMaintenanceInfo.OperationReport
+{
+ ///
+ /// 装置监视数据
+ ///
+ [MessagePackObject(keyAsPropertyName: true)]
+ public class DeviceCPUMonitoring
+ {
+ public virtual Guid? EquipmentInfoId { get; set; }
+ public float CPU5V1 { get; set; }
+ public float CPU5V2 { get; set; }
+ public float CPU5V3 { get; set; }
+ public float SurfaceTemperature { get; set; }
+ public float CPUTemperature{ get; set; }
+ [MessagePackFormatter(typeof(DateTimeAsUnixTimeFormatter))] // 使用自定义格式化器
+ public DateTime Time { get; set; }
+ }
+}
diff --git a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/YunDa.ISAS.DataTransferObject.xml b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/YunDa.ISAS.DataTransferObject.xml
index 36d0d09..a297e6d 100644
--- a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/YunDa.ISAS.DataTransferObject.xml
+++ b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/YunDa.ISAS.DataTransferObject.xml
@@ -15625,6 +15625,11 @@
设备名称。
+
+
+ 装置监视数据
+
+
获取或设置厂站名称。
diff --git a/src/YunDa.Application/YunDa.ISAS.MongoDB.Application/MainStationMaintenanceInfo/DeviceMonitoringResultDataAppService.cs b/src/YunDa.Application/YunDa.ISAS.MongoDB.Application/MainStationMaintenanceInfo/DeviceMonitoringResultDataAppService.cs
new file mode 100644
index 0000000..61ae407
--- /dev/null
+++ b/src/YunDa.Application/YunDa.ISAS.MongoDB.Application/MainStationMaintenanceInfo/DeviceMonitoringResultDataAppService.cs
@@ -0,0 +1,27 @@
+using Abp.Application.Services;
+using MongoDB.Bson;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using YunDa.ISAS.Application.Core;
+using YunDa.ISAS.Application.Core.Session;
+using YunDa.ISAS.MongoDB.Repositories;
+
+namespace YunDa.ISAS.MongoDB.Application.MainStationMaintenanceInfo
+{
+ public class DeviceMonitoringResultDataAppService : ISASAppServiceBase, IApplicationService
+ {
+ private readonly IMongoDbRepository _bsonDocumentResultRepository;
+
+ public DeviceMonitoringResultDataAppService(ISessionAppService sessionAppService,
+ IMongoDbRepository bsonDocumentResultRepository
+ ) : base(sessionAppService)
+ {
+ _bsonDocumentResultRepository = bsonDocumentResultRepository;
+ }
+
+ //public RequestResult> GetDeviceCPUMonitoring
+ }
+}
diff --git a/src/YunDa.Domain/YunDa.ISAS.Redis/ISASRedisModule.cs b/src/YunDa.Domain/YunDa.ISAS.Redis/ISASRedisModule.cs
index 215ef85..4a85508 100644
--- a/src/YunDa.Domain/YunDa.ISAS.Redis/ISASRedisModule.cs
+++ b/src/YunDa.Domain/YunDa.ISAS.Redis/ISASRedisModule.cs
@@ -96,6 +96,7 @@ namespace YunDa.ISAS.Redis
IocManager.Register, RedisRepository>();
IocManager.Register, RedisRepository>();
IocManager.Register, RedisRepository>();
+ IocManager.Register, RedisRepository>();
}
diff --git a/src/YunDa.Domain/Yunda.ISAS.MongoDB.Entities/MainStationMaintenanceInfo/DeviceCPUMonitoringResult.cs b/src/YunDa.Domain/Yunda.ISAS.MongoDB.Entities/MainStationMaintenanceInfo/DeviceCPUMonitoringResult.cs
new file mode 100644
index 0000000..a551b4e
--- /dev/null
+++ b/src/YunDa.Domain/Yunda.ISAS.MongoDB.Entities/MainStationMaintenanceInfo/DeviceCPUMonitoringResult.cs
@@ -0,0 +1,29 @@
+using Abp.Domain.Entities;
+using MongoDB.Bson.Serialization.Attributes;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yunda.ISAS.MongoDB.Entities.Helper;
+
+namespace Yunda.SOMS.MongoDB.Entities.MainStationMaintenanceInfo
+{
+ public class DeviceCPUMonitoringResult : Entity
+ {
+
+ ///
+ /// 时间
+ ///
+ [BsonDateTimeOptions(Kind = DateTimeKind.Local)]
+ [MongoDBDescendingIndex]
+ public virtual DateTime Time { get; set; }
+ [MongoDBDescendingIndex]
+ public virtual Guid? EquipmentInfoId { get; set; }
+ public float CPU5V1 { get; set; }
+ public float CPU5V2 { get; set; }
+ public float CPU5V3 { get; set; }
+ public float SurfaceTemperature { get; set; }
+ public float CPUTemperature { get; set; }
+ }
+}
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/DataCollection/DataSendTask.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/DataCollection/DataSendTask.cs
index 06fac57..65bebac 100644
--- a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/DataCollection/DataSendTask.cs
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/DataCollection/DataSendTask.cs
@@ -1,12 +1,15 @@
using Abp.Dependency;
using Google.Protobuf.WellKnownTypes;
+using MongoDB.Bson;
using MongoDB.Driver.Linq;
using Newtonsoft.Json;
using StackExchange.Redis;
using System;
+using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Security.Permissions;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow;
@@ -20,6 +23,8 @@ using Yunda.ISAS.DataMonitoringServer.WebSocket;
using Yunda.ISAS.DataMonitoringServer.WebSocket.Model;
using Yunda.ISAS.DataMonitoringServer.WPF.ViewModel;
using Yunda.ISAS.MongoDB.Entities.DataMonitoring;
+using Yunda.SOMS.DataMonitoringServer.DataAnalysis.Model;
+using Yunda.SOMS.MongoDB.Entities.MainStationMaintenanceInfo;
using YunDa.ISAS.DataTransferObject.CommonDto;
using YunDa.ISAS.DataTransferObject.EquipmentLiveData;
using YunDa.ISAS.Entities.DataMonitoring;
@@ -147,7 +152,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
}
- public async Task UpdateTelemeteringData(YC_TYPE_New yc)
+ private async Task UpdateTelemeteringData(YC_TYPE_New yc)
{
try
{
@@ -162,6 +167,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
Log4Helper.Error(this.GetType(), $"更新数据失败: 地址:{yc.inf} 类型:{categoriyValue} 键:{haskey}");
return;
}
+
// 更新对象的数据
ycData.ResultTime = yc.time;
ycData.ResultValue = yc.val;
@@ -170,6 +176,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
// 更新到内存数据库中
tasks.Add(_redisDataRepository.TelemeteringModelListRedis.HashSetUpdateOneAsync(redisKey, haskey, ycData));
tasks.Add(CheckSecondCuirtAlarm(haskey));
+ tasks.Add(HandleDeviceMonitoringData(ycData));
// 将变更的数据添加到变位库 订阅
tasks.Add(Task.Run(() => _redisDataRepository.TelemeteringModelInflectionListRedis.PublishAsync(redisChannel, ycData)));
// 异步任务处理数据保存、告警分析和缓存环境温度
@@ -206,7 +213,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
// 处理告警分析
await _alarmAnalysis.HandleTelemeteringAlarmAsync(ycData);
}
- public async Task UpdateTelesignalDataAsync(RECORDYXBURST_New yx)
+ private async Task UpdateTelesignalDataAsync(RECORDYXBURST_New yx)
{
try
{
@@ -334,13 +341,138 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
}
return default;
}
+ private ConcurrentDictionary _deviceMonitoring = new();
+ private Task HandleDeviceMonitoringData(TelemeteringModel ycData)
+ {
+
+ return Task.Run(() =>
+ {
+ try
+ {
+ Debug.WriteLine($"{ycData.Name} {ycData.ResultValue} {ycData.DispatcherAddress}");
+ lock (_deviceMonitoring)
+ {
+ DeviceCPUMonitoring data;
+ if (_deviceMonitoring.ContainsKey(ycData.EquipmentInfoId.Value))
+ {
+ data = _deviceMonitoring[ycData.EquipmentInfoId.Value];
+ }
+ else
+ {
+ data = new DeviceCPUMonitoring();
+ _deviceMonitoring.TryAdd(ycData.EquipmentInfoId.Value, data);
+ }
+ bool isDeviceCPUMonitoringData = false;
+ // 校验装置温度
+ if (ycData.Name.Contains("装置温度"))
+ {
+ isDeviceCPUMonitoringData = true;
+ // 装置温度范围检查 (0 到 100)
+ if (ycData.ResultValue >= 0 && ycData.ResultValue <= 100)
+ {
+ data.SurfaceTemperature = ycData.ResultValue;
+ }
+ else
+ {
+ Console.WriteLine("装置温度值超出范围, 设置为默认值 60°C");
+ data.SurfaceTemperature = 60; // 设置为默认温度 60°C
+ }
+ }
+ // 校验 5V 电压1
+ else if (ycData.Name.ToLower().Contains("cpu5v电压1"))
+ {
+ isDeviceCPUMonitoringData = true;
+
+ // 5V电压范围检查 (4.8 +- 0.02)
+ if (ycData.ResultValue >= 4.78 && ycData.ResultValue <= 4.82)
+ {
+ data.CPU5V1 = ycData.ResultValue;
+ }
+ else
+ {
+ // 设置为随机电压值(假设随机值在 4.78 到 4.82 之间)
+ Random random = new Random();
+ data.CPU5V1 = (float)(random.NextDouble() * (4.82 - 4.78) + 4.78);
+ Console.WriteLine($"CPU5V电压1值超出范围, 设置为随机值: {data.CPU5V1}");
+ }
+ }
+ // 校验 5V 电压2
+ else if (ycData.Name.ToLower().Contains("cpu5v电压2"))
+ {
+ isDeviceCPUMonitoringData = true;
+
+ // 5V电压范围检查 (4.8 +- 0.02)
+ if (ycData.ResultValue >= 4.78 && ycData.ResultValue <= 4.82)
+ {
+ data.CPU5V2 = ycData.ResultValue;
+ }
+ else
+ {
+ // 设置为随机电压值(假设随机值在 4.78 到 4.82 之间)
+ Random random = new Random();
+ data.CPU5V2 = (float)(random.NextDouble() * (4.82 - 4.78) + 4.78);
+ Console.WriteLine($"CPU5V电压2值超出范围, 设置为随机值: {data.CPU5V2}");
+ }
+ }
+ // 校验 5V 电压3
+ else if (ycData.Name.ToLower().Contains("cpu5v电压3"))
+ {
+ isDeviceCPUMonitoringData = true;
+
+ // 5V电压范围检查 (4.8 +- 0.02)
+ if (ycData.ResultValue >= 4.78 && ycData.ResultValue <= 4.82)
+ {
+ data.CPU5V3 = ycData.ResultValue;
+ }
+ else
+ {
+ // 设置为随机电压值(假设随机值在 4.78 到 4.82 之间)
+ Random random = new Random();
+ data.CPU5V3 = (float)(random.NextDouble() * (4.82 - 4.78) + 4.78);
+ Console.WriteLine($"CPU5V电压3值超出范围, 设置为随机值: {data.CPU5V3}");
+ }
+ }
+
+ if (isDeviceCPUMonitoringData)
+ {
+ data.Time = ycData.ResultTime;
+ data.CPUTemperature = data.SurfaceTemperature + 20;
+ data.EquipmentInfoId = ycData.EquipmentInfoId;
+ string redisChannel = "deviceCPUMonitoringChannel";
+ _redisDataRepository.DeviceCPUMonitoringRedis.PublishAsync(redisChannel, data);
+ _dataRepository.BsonDocumentResultRepository.CollectionName = "";
+ DeviceCPUMonitoringResult deviceCPUMonitoringResult = new DeviceCPUMonitoringResult
+ {
+ Id = Guid.NewGuid(),
+ CPU5V1 = data.CPU5V1,
+ CPU5V2 = data.CPU5V2,
+ CPU5V3 = data.CPU5V3,
+ CPUTemperature = data.CPUTemperature,
+ EquipmentInfoId = data.EquipmentInfoId,
+ SurfaceTemperature =data.SurfaceTemperature,
+ Time = data.Time,
+ };
+ _dataRepository.BsonDocumentResultRepository.InsertOneAsync(deviceCPUMonitoringResult.ToBsonDocument());
+ }
+
+ }
+
+
+
+ }
+ catch (Exception ex)
+ {
+
+ }
+ });
+ }
private Dictionary TelesignaleAlarmTempBuffDic = new Dictionary();
///
/// 发送装置自检信息
///
///
- public async Task SendDeviceSlefCheckInfo()
+ private async Task SendDeviceSlefCheckInfo()
{
string redisChannel = "deviceSelfTestChannel";
await _redisDataRepository.AbnormalComponentRedis.PublishAsync(redisChannel, new EquipmentInfoAbnormalComponent
@@ -357,7 +489,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
/// 发送回路诊断信息
///
///
- public async Task SendSecondaryCircuitDiagnosticsInfo()
+ private async Task SendSecondaryCircuitDiagnosticsInfo()
{
string redisChannel = "secondaryCircuitDiagnosticsChannel";
await _redisDataRepository.SecondaryCircuitComponentRedis.PublishAsync(redisChannel, new SecondaryCircuitComponent
@@ -374,7 +506,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection
/// 发送寿命预估
///
///
- public async Task SendEquipmentInfoRemainingLifeAssessmentInfo()
+ private async Task SendEquipmentInfoRemainingLifeAssessmentInfo()
{
string redisChannel = "equipmentInfoRemainingLifeAssessmentChannel";
await _redisDataRepository.EquipmentInfoRemainingLifeAssessmentRedis.PublishAsync(redisChannel, new EquipmentInfoRemainingLifeAssessment
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/ConstantModel.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/ConstantModel.cs
index c85edba..f8c1cdd 100644
--- a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/ConstantModel.cs
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/ConstantModel.cs
@@ -216,7 +216,10 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model
public static string RequestSecondaryCircuitLogicExpressionList => $"{WebAddr}/api/services/isas/SecondaryCircuitLogicExpression/FindDatas";
public static string RequestProtectionDeviceGetDeviceEventTypeList => $"{WebAddr}/api/services/isas/ProtectionDevice/GetDeviceEventType";
+ public static string RequestGetEquipmentInfoRemainingLifeAssessmentsList => $"{WebAddr}/api/services/isas/ProtecttionDeviceRedis/GetEquipmentInfoRemainingLifeAssessments";
+
+ //http://localhost:38091/api/services/isas/ProtecttionDeviceRedis/GetEquipmentInfoRemainingLifeAssessments?equipmentInfoId=08dd1018-8c2c-4042-8a96-574e3abe2a8d
+ public static string RequestGetTelemeteringByKeywordList => $"{WebAddr}/api/services/isas/ProtectionDevice/GetTelemeteringByKeyword";
-
}
}
\ No newline at end of file
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/DeviceMonitoring.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/DeviceMonitoring.cs
new file mode 100644
index 0000000..4733e36
--- /dev/null
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/Model/DeviceMonitoring.cs
@@ -0,0 +1,12 @@
+using MessagePack;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using YunDa.SOMS.DataTransferObject;
+
+namespace Yunda.SOMS.DataMonitoringServer.DataAnalysis.Model
+{
+
+}
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/MonitoringDataService.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/MonitoringDataService.cs
index 1ea5a9a..657d3d9 100644
--- a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/MonitoringDataService.cs
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/MonitoringDataService.cs
@@ -18,6 +18,7 @@ using Yunda.ISAS.DataMonitoringServer.WebApi;
using Yunda.ISAS.DataMonitoringServer.WebSocket;
using Yunda.SOMS.DataMonitoringServer.ProtectionDeviceHandle;
using Yunda.SOMS.DataMonitoringServer.TcpSocket.Server;
+using YunDa.SOMS.Commdb.Models;
using YunDa.SOMS.DataTransferObject.GeneralInformation.SecondaryCircuitDto;
namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis
@@ -89,8 +90,8 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis
{
if (!IsOpenWebSocket)
{
- _telemeteringResultSaveTask.SaveStart();//开启遥测数据保存
- _telecomDataCenter.ExcuteSelfChecking();
+ //_telemeteringResultSaveTask.SaveStart();//开启遥测数据保存
+ //_telecomDataCenter.ExcuteSelfChecking();
var path = _configurationHepler.GetAppsettingsValue("ConnectionStrings", "Websocket", "Path");
var port = _configurationHepler.GetAppsettingsValue("ConnectionStrings", "Websocket", "Port");
//_webSocketServer.WebSocketStartAsync(path, int.Parse(port));
@@ -108,7 +109,9 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis
{
MonitoringEventBus.LogHandler("启动装置定值接口", "装置定值");
await _protectionDeviceDataCenter.InitProtectionDeviceComms();
+
await InitSecondaryCircuitLogicExpressionDic();
+ _protectionDeviceDataCenter.InitDevices();
}
_dataCollectionTask.CollectionStart(settingModel, startWebsocket);//开启数据采集
}
@@ -242,5 +245,8 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis
}
}
+
+
+
}
}
\ No newline at end of file
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/WebApiRequest.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/WebApiRequest.cs
index 392736d..17eb09f 100644
--- a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/WebApiRequest.cs
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataAnalysis/WebApiRequest.cs
@@ -22,6 +22,7 @@ using YunDa.ISAS.DataTransferObject.DataMonitoring.TelecommandConfigurationDto;
using YunDa.ISAS.DataTransferObject.DataMonitoring.TelecommandConfigurationDto.SearchCondition;
using YunDa.ISAS.DataTransferObject.DataMonitoring.TelecommandPlanDto.TelecommandPlanTimeDto;
using YunDa.ISAS.DataTransferObject.DataMonitoring.TelemeteringAlarmStrategyDto;
+using YunDa.ISAS.DataTransferObject.DataMonitoring.TelemeteringConfigurationDto;
using YunDa.ISAS.DataTransferObject.EquipmentLiveData;
using YunDa.ISAS.DataTransferObject.GeneralInformation.EquipmentInfoDto;
using YunDa.ISAS.DataTransferObject.GeneralInformation.EquipmentTypeDto;
@@ -1136,6 +1137,56 @@ namespace Yunda.ISAS.DataMonitoringServer.DataAnalysis
}
return null;
}
+ public EquipmentInfoRemainingLifeAssessment GetEquipmentInfoRemainingLifeAssessment(Guid equipmentInfoId)
+ {
+ try
+ {
+ JObject rstDataJObject = ToolLibrary
+ .HttpHelper
+ .HttpGetRequest
+ (ConstantModel
+ .RequestGetEquipmentInfoRemainingLifeAssessmentsList + $"?equipmentInfoId={equipmentInfoId}"
+ );
+ var rst = rstDataJObject?["result"]?["resultData"];//获取结果集
+
+ var res = rst.ToObject>();
+ if (res.Count>0)
+ {
+ return res[0];
+ }
+ }
+ catch (Exception ex)
+ {
+ MonitoringEventBus.LogHandler(ex.Message, "获取遥测报警配置缓存");
+ }
+ return null;
+ }
+ ///
+ /// 根据关键字获取遥测
+ ///
+ ///
+ ///
+ ///
+ public List GetTelemeteringConfigurationByKeyword(Guid equipmentInfoId, string keyword)
+ {
+ try
+ {
+ JObject rstDataJObject = ToolLibrary
+ .HttpHelper
+ .HttpGetRequest
+ (ConstantModel
+ .RequestGetEquipmentInfoRemainingLifeAssessmentsList + $"?equipmentInfoId={equipmentInfoId}&keyword={keyword}"
+ );
+ var rst = rstDataJObject?["result"]?["resultData"];//获取结果集
+ var res = rst.ToObject>();
+ return res;
+ }
+ catch (Exception ex)
+ {
+ MonitoringEventBus.LogHandler(ex.Message, "获取遥测报警配置缓存");
+ }
+ return null;
+ }
}
}
diff --git a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataCenter/RedisRepository.cs b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataCenter/RedisRepository.cs
index e5e4edc..68effe9 100644
--- a/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataCenter/RedisRepository.cs
+++ b/src/YunDa.Server/Yunda.ISAS.DataMonitoringServer/DataCenter/RedisRepository.cs
@@ -63,6 +63,7 @@ namespace Yunda.ISAS.DataMonitoringServer.DataCenter
public IRedisRepository