From 5f7ba73575dbd278a3dec1f33b7bd29aac1838d3 Mon Sep 17 00:00:00 2001 From: cli <377476583@qq.com> Date: Tue, 13 May 2025 17:02:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectBusHostModule.Configure.cs | 4 ++-- web/JiShe.CollectBus.Host/appsettings.Production.json | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/web/JiShe.CollectBus.Host/CollectBusHostModule.Configure.cs b/web/JiShe.CollectBus.Host/CollectBusHostModule.Configure.cs index 696307c..1180e95 100644 --- a/web/JiShe.CollectBus.Host/CollectBusHostModule.Configure.cs +++ b/web/JiShe.CollectBus.Host/CollectBusHostModule.Configure.cs @@ -261,10 +261,10 @@ namespace JiShe.CollectBus.Host HealthStatus.Unhealthy) .AddKafka(new Confluent.Kafka.ProducerConfig { - BootstrapServers = configuration.GetConnectionString("Kafka") + BootstrapServers = configuration.GetValue("Kafka:BootstrapServers") }, "Kafka", failureStatus: HealthStatus.Unhealthy) - .AddCheck("Cassandra") + //.AddCheck("Cassandra") .AddCheck("IoTDB"); context.Services diff --git a/web/JiShe.CollectBus.Host/appsettings.Production.json b/web/JiShe.CollectBus.Host/appsettings.Production.json index 62c1446..9c7d2e0 100644 --- a/web/JiShe.CollectBus.Host/appsettings.Production.json +++ b/web/JiShe.CollectBus.Host/appsettings.Production.json @@ -1,18 +1,17 @@ { "ConnectionStrings": { - "Default": "mongodb://mongo_PmEeF3:lixiao1980@121.42.175.177:17270/JiSheCollectBus?authSource=admin&maxPoolSize=400&minPoolSize=10&waitQueueTimeoutMS=5000", - "Kafka": "121.42.175.177:16392,121.42.175.177:16393,121.42.175.177:16394", + "Default": "mongodb://admin:4mFmPTTB8tn6aI@47.110.62.104:27017,47.110.53.196:27017,47.110.60.222:27017/JiSheCollectBus?authSource=admin&maxPoolSize=400&minPoolSize=10&waitQueueTimeoutMS=5000", "PrepayDB": "server=118.190.144.92;database=jishe.sysdb;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False", "EnergyDB": "server=118.190.144.92;database=db_energy;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False" }, "Redis": { - "Configuration": "121.42.175.177:16380,password=1q2w3e!@#,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true", + "Configuration": "47.110.60.222:6379,password=3JBGfyhTaD46nS,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true", "MaxPoolSize": "50", "DefaultDB": "14", "HangfireDB": "13" }, "Kafka": { - "BootstrapServers": "121.42.175.177:16392,121.42.175.177:16393,121.42.175.177:16394", + "BootstrapServers": "47.110.62.104:9092,47.110.53.196:9092,47.110.60.222:9092", "EnableFilter": true, "EnableAuthorization": false, "SecurityProtocol": "SaslPlaintext", @@ -26,8 +25,8 @@ }, "IoTDBOptions": { "UserName": "root", - "Password": "root", - "ClusterList": [ "121.42.175.177:16667" ], + "Password": "Yp2eU6MVdIjXCL", + "ClusterList": [ "47.110.53.196:6667", "47.110.60.222:6667", "47.110.62.104:6667" ], "PoolSize": 2, "DataBaseName": "energy", "OpenDebugMode": true, From 2e1115c655948c8d8041145bc26b79dcac013bba Mon Sep 17 00:00:00 2001 From: zenghongyao <873884283@qq.com> Date: Tue, 13 May 2025 17:49:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8F=96=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E7=BB=9F=E4=B8=80=E5=8F=96redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AnalysisData/AFN_00H/AFN0_F1_Analysis.cs | 15 +++---- .../AnalysisData/AFN_00H/AFN0_F2_Analysis.cs | 15 +++---- .../AnalysisData/AFN_02H/AFN2_F1_Analysis.cs | 17 ++++---- .../AnalysisData/AFN_02H/AFN2_F2_Analysis.cs | 17 ++++---- .../AnalysisData/AFN_02H/AFN2_F3_Analysis.cs | 17 ++++---- .../AnalysisData/AFN_09H/AFN9_F1_Analysis.cs | 18 ++++---- .../AnalysisData/AFN_09H/AFN9_F9_Analysis.cs | 18 ++++---- .../AFN_0AH/AFN10_F10_Analysis.cs | 18 ++++---- .../AFN_0AH/AFN10_F66_Analysis.cs | 18 ++++---- .../AFN_0AH/AFN10_F68_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F129_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F130_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F131_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F132_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F145_Analysis.cs | 20 +++++---- .../AFN_0CH/AFN12_F149_Analysis.cs | 19 +++++---- .../AFN_0CH/AFN12_F188_Analysis.cs | 19 +++++---- .../AFN_0CH/AFN12_F25_Analysis.cs | 18 ++++---- .../AnalysisData/AFN_0CH/AFN12_F2_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F33_Analysis.cs | 18 ++++---- .../AFN_0CH/AFN12_F49_Analysis.cs | 19 +++++---- .../AFN_0DH/AFN13_F100_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F101_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F102_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F103_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F104_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F105_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F106_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F107_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F108_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F11_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F145_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F146_Analysis.cs | 26 ++++++------ .../AFN_0DH/AFN13_F147_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F148_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F161_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F162_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F163_Analysis.cs | 26 +++++++----- .../AFN_0DH/AFN13_F164_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F165_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F166_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F167_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F168_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F177_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F178_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F179_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F180_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F181_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F182_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F183_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F184_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F189_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F190_Analysis.cs | 20 +++++---- .../AFN_0DH/AFN13_F193_Analysis.cs | 18 ++++---- .../AFN_0DH/AFN13_F195_Analysis.cs | 18 ++++---- .../AFN_0DH/AFN13_F19_Analysis.cs | 27 ++++++------ .../AnalysisData/AFN_0DH/AFN13_F3_Analysis.cs | 27 ++++++------ .../AnalysisData/AFN_0DH/AFN13_F4_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F81_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F82_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F83_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F84_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F85_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F86_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F87_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F88_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F89_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F90_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F91_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F92_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F93_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F94_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F95_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F97_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F98_Analysis.cs | 27 ++++++------ .../AFN_0DH/AFN13_F99_Analysis.cs | 27 ++++++------ .../AnalysisData/AFN_0EH/AFN14_F1_Analysis.cs | 31 +++++++------- .../AFN_10H/AFN16_F101_Analysis.cs | 18 ++++---- .../AnalysisData/AFN_10H/AFN16_F1_Analysis.cs | 1 + .../AFN_10H/AFN16_F97_Analysis.cs | 20 +++++---- .../AFN_10H/AFN16_F98_Analysis.cs | 18 ++++---- .../AnalysisData/DataStorage.cs | 42 +++++++++++++------ .../CollectBusProtocolT37612012Module.cs | 2 +- .../BasicScheduledMeterReadingService.cs | 6 +-- .../Pages/Monitor.cshtml | 1 + web/JiShe.CollectBus.Host/appsettings.json | 4 +- 86 files changed, 1100 insertions(+), 875 deletions(-) diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F1_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F1_Analysis.cs index c34358a..6fd96e1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F1_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F1_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Consts; using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -38,15 +39,15 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_00H ItemType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId= ammeterInfo.FocusId; + data.FocusId= deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F2_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F2_Analysis.cs index f96e9dc..2e465b8 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F2_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_00H/AFN0_F2_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -35,15 +36,15 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_00H ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F1_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F1_Analysis.cs index c46f935..686d027 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F1_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F1_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,16 +37,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H DataValue = "Login", ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F2_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F2_Analysis.cs index e9f6edd..6428063 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F2_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F2_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,16 +37,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H DataValue = "LogOut", ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F3_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F3_Analysis.cs index 348fc6f..1c3027b 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F3_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_02H/AFN2_F3_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,16 +37,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H DataValue = "Heartbeat", ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F1_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F1_Analysis.cs index b990da1..5011b4e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F1_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F1_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Consts; using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -32,6 +33,7 @@ namespace JiShe.CollectBus.Protocol.AnalysisData.AFN_09H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); var version = AnalysisDataUnit(input.UnitData.HexMessageList); version.AreaCode = input.A.Code?.Substring(0, 4); @@ -42,16 +44,16 @@ namespace JiShe.CollectBus.Protocol.AnalysisData.AFN_09H DataValue = version, ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F9_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F9_Analysis.cs index 3a62e56..7547662 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F9_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_09H/AFN9_F9_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Consts; using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -29,6 +30,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_09H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); var data = new AnalysisBaseDto() { @@ -36,16 +38,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_09H DataValue = Encoding.ASCII.GetString(string.Join("", input.UnitData.HexMessageList.Skip(30).Take(20).ToList()).HexToByte()).Replace("\0", ""), ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs index c90a0a2..0ead1de 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -28,6 +29,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); Tuple> tuple = AFN10F10EntityAnalysis(input.UnitData.HexMessageList); @@ -41,16 +43,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH }, ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs index 6f9562e..adf273b 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -32,6 +33,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); var data = new AnalysisBaseDto() @@ -40,16 +42,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH DataValue = await GenerateFinalResult(input.UnitData.HexMessageList), ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F68_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F68_Analysis.cs index 9636477..48aa519 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F68_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F68_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -28,6 +29,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); var data = new AnalysisBaseDto() { @@ -35,16 +37,16 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH DataValue = input.UnitData.HexMessageList[4].Equals("55"), ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.FocusId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.Address; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.FocusId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.FocusAddress; data.DeviceType = MeterTypeEnum.Focus; - data.FocusId = ammeterInfo.FocusId; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F129_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F129_Analysis.cs index 127b177..35c258f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F129_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F129_Analysis.cs @@ -4,6 +4,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IoTDB.Interface; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -34,6 +35,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); ArgumentNullException.ThrowIfNull(input.A.A3?.D1_D7); UnitDataAnalysis>> unitDataAnalysis = new UnitDataAnalysis>> @@ -55,17 +57,17 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH List> list = GenerateFinalResult(2, datas, "正向有功电能示值", input.AFN_FC.AFN, input.DT.Fn); if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code,input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F130_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F130_Analysis.cs index b0685b9..3f28d97 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F130_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F130_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -33,22 +34,23 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); List> list = GenerateFinalResult(2, datas, "正向无功电能示值", input.AFN_FC.AFN, input.DT.Fn); if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F131_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F131_Analysis.cs index 92e9b89..887e982 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F131_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F131_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -34,22 +35,23 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); List> list = GenerateFinalResult(2, datas, "反向有功总电能示值", input.AFN_FC.AFN, input.DT.Fn); if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F132_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F132_Analysis.cs index 7fb4ec2..55ab674 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F132_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F132_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -35,23 +36,24 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; List> list = GenerateFinalResult(2, datas, "反向无功电能示值", dataType); if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F145_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F145_Analysis.cs index cec80bc..13541e3 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F145_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F145_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,22 +37,23 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string itemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(datas, "当月正向有功最大需量及发生时间", itemType); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } - + UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { Code = input.A.Code!, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F149_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F149_Analysis.cs index 355dae5..1a32132 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F149_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F149_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,21 +37,23 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnit(input.UnitData.HexMessageList); string itemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(datas, itemType,"上月(上一结算日)正向有功最大需量及发生时间"); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID=ammeterInfo.DatabaseBusiID; - data.DeviceAddress= ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } + UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { Code = input.A.Code!, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F188_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F188_Analysis.cs index 4c36960..a95bd09 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F188_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F188_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,21 +37,23 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); ArgumentNullException.ThrowIfNull(input.AFN_FC.AFN); ArgumentNullException.ThrowIfNull(input.DT.Fn); string itemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(input.UnitData.HexMessageList, itemType); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } + UnitDataAnalysis> dto = new UnitDataAnalysis> { Code = input.A.Code!, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F25_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F25_Analysis.cs index af324f6..e6e6096 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F25_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F25_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -37,6 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List remarks = new List() { "当前总有功功率", "当前A相有功功率", "当前B相有功功率", "当前C相有功功率", "当前总无功功率", "当前A相无功功率", "当前B相无功功率", "当前C相无功功率", "当前总功率因数", "当前A相功率因数", "当前B相功率因数", "当前C相功率因数", "当前A相电压", "当前B相电压", "当前C相电压", "当前A相电流", "当前C相电流", "当前 C相电流", "当前零序电流", "当前总视在功率", "当前A相视在功率", "当前B相视在功率", "当前C相视在功率" }; List> list = new List>(); @@ -68,17 +70,17 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH } if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].ItemType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F2_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F2_Analysis.cs index 234a0fc..a54db8c 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F2_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F2_Analysis.cs @@ -12,6 +12,7 @@ using JiShe.CollectBus.Protocol.T37612012.AnalysisData; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; using static FreeSql.Internal.GlobalFilter; +using JiShe.CollectBus.IotSystems.Devices; namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH { @@ -36,19 +37,20 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); string itemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; var data = await GenerateFinalResultAsync(input.UnitData.HexMessageList, itemType); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F33_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F33_Analysis.cs index d4ecf6c..fd7dd30 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F33_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F33_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -35,6 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); int rationgCount = input.UnitData.HexMessageList!.GetRatingCount(23, 1); @@ -46,15 +48,15 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH DataValue = await AnalysisDataUnit(input.UnitData.HexMessageList, rationgCount), ItemType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F49_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F49_Analysis.cs index 3945a8e..257a666 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F49_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0CH/AFN12_F49_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -36,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH try { ArgumentNullException.ThrowIfNull(input); - + ArgumentNullException.ThrowIfNull(input.A.Code); List data = await AnalysisDataUnitAsync(input.UnitData?.HexMessageList!); List remarks = new List() { "Uab/Ua 相位角", "Ub 相位角", "Ucb/Uc 相位角", "Ia 相位角", "Ib 相位角", "Ic 相位角" }; List> list = new List>(); @@ -64,17 +65,17 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH } if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(list[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F100_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F100_Analysis.cs index 4dc5ff0..8fbad80 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F100_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F100_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -33,27 +35,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能量"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能量"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -66,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F101_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F101_Analysis.cs index 030fb1f..10f52b2 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F101_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F101_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,26 +34,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能示值"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能示值"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F102_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F102_Analysis.cs index bfe05b2..e40c2e8 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F102_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F102_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,6 +33,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); @@ -38,21 +41,21 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能示值"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能示值"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F103_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F103_Analysis.cs index 4cdba9e..ed7d4c1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F103_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F103_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,6 +34,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); @@ -39,21 +42,21 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH string itemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, itemType, "反向有功总电能示值"); + List> list = datas.GenerateFinalResultTd_c(3, density, itemType, "反向有功总电能示值"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F104_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F104_Analysis.cs index 7558385..6b0585e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F104_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F104_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,27 +34,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能示值"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能示值"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F105_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F105_Analysis.cs index b31dd10..78eadd8 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F105_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F105_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,27 +34,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "功率因数"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "功率因数"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F106_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F106_Analysis.cs index 7ae5776..ff5e8e6 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F106_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F106_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,27 +34,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相功率因数"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "A相功率因数"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F107_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F107_Analysis.cs index 1c400b5..6f26aa9 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F107_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F107_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,26 +34,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相功率因数"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "B相功率因数"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度,注意这里会兼容存储做判断 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F108_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F108_Analysis.cs index c3b0fd5..ced6c30 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F108_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F108_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,27 +34,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相功率因数"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "C相功率因数"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F11_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F11_Analysis.cs index 1bd0717..becaf19 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F11_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F11_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; using YamlDotNet.Core.Tokens; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH @@ -33,25 +35,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = GenerateFinalResult(datas,3, dataType, "抄表日冻结电能表正向有功最大需量及发生时间"); + List> list = GenerateFinalResult(datas,3, dataType, "抄表日冻结电能表正向有功最大需量及发生时间"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F145_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F145_Analysis.cs index d21fc7a..7ffa444 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F145_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F145_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,26 +34,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "一象限无功电能示值"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "一象限无功电能示值"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F146_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F146_Analysis.cs index 4e85957..e5d011f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F146_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F146_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -39,20 +41,20 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "四象限无功电能示值"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "四象限无功电能示值"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F147_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F147_Analysis.cs index 8f0f934..4ec9e9f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F147_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F147_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,26 +34,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "二象限无功电能示值"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "二象限无功电能示值"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F148_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F148_Analysis.cs index 66f4715..d10dcce 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F148_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F148_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,27 +34,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "三象限无功电能示值"); + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "三象限无功电能示值"); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F161_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F161_Analysis.cs index 582c9a1..382134e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F161_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F161_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,27 +33,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType,timeSpan, "正向有功总电能示值").IsValidData(new List() { "0D_161", "0D_161_1", "0D_161_2", "0D_161_3", "0D_161_4" }); + List> list = datas.GenerateFinalResultTd_d(3, dataType,timeSpan, "正向有功总电能示值").IsValidData(new List() { "0D_161", "0D_161_1", "0D_161_2", "0D_161_3", "0D_161_4" }); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F162_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F162_Analysis.cs index 039c4cb..90991c9 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F162_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F162_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "正向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_162", "0D_162_1", "0D_162_2", "0D_162_3", "0D_162_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "正向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_162", "0D_162_1", "0D_162_2", "0D_162_3", "0D_162_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F163_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F163_Analysis.cs index ad4d2aa..e2bb0b0 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F163_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F163_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,28 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List() { "0D_163", "0D_163_1", "0D_163_2", "0D_163_3", "0D_163_4" }); + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List() { "0D_163", "0D_163_1", "0D_163_2", "0D_163_3", "0D_163_4" }); - if (data.Count > 0) + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F164_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F164_Analysis.cs index 93f0a7c..c636e4c 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F164_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F164_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结反向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_164", "0D_164_1", "0D_164_2", "0D_164_3", "0D_164_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结反向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_164", "0D_164_1", "0D_164_2", "0D_164_3", "0D_164_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F165_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F165_Analysis.cs index 934e4fc..d69b3a1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F165_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F165_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结一象限无功电能示值").IsValidData(new List() { "0D_165", "0D_165_1", "0D_165_2", "0D_165_3", "0D_165_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结一象限无功电能示值").IsValidData(new List() { "0D_165", "0D_165_1", "0D_165_2", "0D_165_3", "0D_165_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F166_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F166_Analysis.cs index bded83e..b02c99b 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F166_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F166_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结二象限无功电能示值").IsValidData(new List() { "0D_166", "0D_166_1", "0D_166_2", "0D_166_3", "0D_166_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结二象限无功电能示值").IsValidData(new List() { "0D_166", "0D_166_1", "0D_166_2", "0D_166_3", "0D_166_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F167_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F167_Analysis.cs index a969778..fb99e97 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F167_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F167_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结三象限无功电能示值").IsValidData(new List() { "0D_167", "0D_167_1", "0D_167_2", "0D_167_3", "0D_167_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结三象限无功电能示值").IsValidData(new List() { "0D_167", "0D_167_1", "0D_167_2", "0D_167_3", "0D_167_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F168_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F168_Analysis.cs index 2696dab..4b7d39a 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F168_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F168_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,26 +33,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结四象限无功电能示值").IsValidData(new List() { "0D_168", "0D_168_1", "0D_168_2", "0D_168_3", "0D_168_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结四象限无功电能示值").IsValidData(new List() { "0D_168", "0D_168_1", "0D_168_2", "0D_168_3", "0D_168_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F177_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F177_Analysis.cs index 027d64c..e147c17 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F177_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F177_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,25 +33,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向有功电能示值").IsValidData(new List() { "0D_177", "0D_177_1", "0D_177_2", "0D_177_3", "0D_177_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向有功电能示值").IsValidData(new List() { "0D_177", "0D_177_1", "0D_177_2", "0D_177_3", "0D_177_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -61,7 +64,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F178_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F178_Analysis.cs index 3ee3193..d60bd89 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F178_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F178_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,25 +34,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_178", "0D_178_1", "0D_178_2", "0D_178_3", "0D_178_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_178", "0D_178_1", "0D_178_2", "0D_178_3", "0D_178_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F179_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F179_Analysis.cs index e0e866e..b685ec3 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F179_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F179_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,25 +34,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List() { "0D_179", "0D_179_1", "0D_179_2", "0D_179_3", "0D_179_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List() { "0D_179", "0D_179_1", "0D_179_2", "0D_179_3", "0D_179_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F180_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F180_Analysis.cs index 3cbec39..9c42518 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F180_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F180_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,25 +33,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结反向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_180", "0D_180_1", "0D_180_2", "0D_180_3", "0D_180_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结反向无功(组合无功 1)电能示值").IsValidData(new List() { "0D_180", "0D_180_1", "0D_180_2", "0D_180_3", "0D_180_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -61,7 +64,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F181_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F181_Analysis.cs index c241e2c..24c4195 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F181_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F181_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,25 +34,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结一象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_181", "0D_181_1", "0D_181_2", "0D_181_3", "0D_181_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结一象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_181", "0D_181_1", "0D_181_2", "0D_181_3", "0D_181_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F182_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F182_Analysis.cs index d5cab85..820dfc1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F182_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F182_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,25 +34,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结二象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_182", "0D_182_1", "0D_182_2", "0D_182_3", "0D_182_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结二象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_182", "0D_182_1", "0D_182_2", "0D_182_3", "0D_182_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F183_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F183_Analysis.cs index f320aa3..45307ce 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F183_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F183_Analysis.cs @@ -2,12 +2,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -31,25 +33,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结三象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_183", "0D_183_1", "0D_183_2", "0D_183_3", "0D_183_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结三象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_183", "0D_183_1", "0D_183_2", "0D_183_3", "0D_183_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -61,7 +64,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F184_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F184_Analysis.cs index 12e9e5f..7714ed2 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F184_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F184_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,25 +34,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00"; - List> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结四象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_184", "0D_184_1", "0D_184_2", "0D_184_3", "0D_184_4" }); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结四象限无功电能示值(总、费率 1~M)").IsValidData(new List() { "0D_184", "0D_184_1", "0D_184_2", "0D_184_3", "0D_184_4" }); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F189_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F189_Analysis.cs index 1f406e1..c826ffb 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F189_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F189_Analysis.cs @@ -9,6 +9,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -32,26 +34,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "抄表日冻结正向有功最大需量及发生时间"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "抄表日冻结正向有功最大需量及发生时间"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -63,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F190_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F190_Analysis.cs index d11be74..d6bf837 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F190_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F190_Analysis.cs @@ -3,6 +3,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -33,21 +34,22 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(datas, "抄表日冻结正向无功最大需量及发生时间", dataType); - - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F193_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F193_Analysis.cs index 76a4e4d..f6d698e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F193_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F193_Analysis.cs @@ -11,6 +11,7 @@ using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; using static FreeSql.Internal.GlobalFilter; +using JiShe.CollectBus.IotSystems.Devices; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,21 +35,22 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间", dataType); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F195_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F195_Analysis.cs index 0fc8ad0..ceda00c 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F195_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F195_Analysis.cs @@ -11,6 +11,7 @@ using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; using static FreeSql.Internal.GlobalFilter; +using JiShe.CollectBus.IotSystems.Devices; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,21 +35,22 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; AnalysisBaseDto data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间", dataType); - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F19_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F19_Analysis.cs index 4f0c5c3..531b234 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F19_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F19_Analysis.cs @@ -12,6 +12,8 @@ using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using YamlDotNet.Core.Tokens; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -35,24 +37,25 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = GenerateFinalResult(datas, dataType, "月冻结电能表正向有功最大需量及发生时间"); - if (data.Count > 0) + List> list = GenerateFinalResult(datas, dataType, "月冻结电能表正向有功最大需量及发生时间"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F3_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F3_Analysis.cs index cb456cd..7ed137e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F3_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F3_Analysis.cs @@ -12,6 +12,8 @@ using Volo.Abp.Domain.Entities; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -35,6 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); @@ -42,20 +45,20 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH //冻结数据时标 var time = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; - List> data = GenerateFinalResult(datas,dataType, "日冻结正向有/无功最大需量及发生时间"); - if (data.Count > 0) + List> list = GenerateFinalResult(datas,dataType, "日冻结正向有/无功最大需量及发生时间"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -67,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F4_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F4_Analysis.cs index 0fddd41..c99a894 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F4_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F4_Analysis.cs @@ -11,6 +11,8 @@ using AutoMapper.Internal.Mappers; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,6 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); @@ -41,20 +44,20 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH //冻结数据时标 var time = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00"; - List> data = GenerateFinalResult(datas, dataType, "日冻结反向有/无功最大需量及发生时间"); - if (data.Count > 0) + List> list = GenerateFinalResult(datas, dataType, "日冻结反向有/无功最大需量及发生时间"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -66,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = 1,//密度-间隔, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F81_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F81_Analysis.cs index b8ffddd..4bf1e2e 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F81_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F81_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -33,26 +35,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "有功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "有功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F82_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F82_Analysis.cs index c5ee665..0c4aa75 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F82_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F82_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相有功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "A相有功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F83_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F83_Analysis.cs index 853aeeb..ef77a80 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F83_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F83_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相有功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "B相有功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F84_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F84_Analysis.cs index 2d0d100..66216bc 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F84_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F84_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -33,26 +35,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相有功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "C相有功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F85_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F85_Analysis.cs index 6c063cd..b9103b8 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F85_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F85_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "无功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "无功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F86_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F86_Analysis.cs index af1a33e..1748a3d 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F86_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F86_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相无功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "A相无功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F87_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F87_Analysis.cs index 82b3b97..26dfcd1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F87_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F87_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -33,26 +35,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相无功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "B相无功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F88_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F88_Analysis.cs index 598f9fd..29fb978 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F88_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F88_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相无功功率曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "C相无功功率曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F89_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F89_Analysis.cs index 89d5f71..330cf0a 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F89_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F89_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电压曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电压曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F90_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F90_Analysis.cs index 7ab37b9..3033c76 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F90_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F90_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电压曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电压曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F91_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F91_Analysis.cs index 27cfbff..b18d244 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F91_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F91_Analysis.cs @@ -3,12 +3,14 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.T37612012.Appendix; using JiShe.CollectBus.Protocol3761; using Microsoft.Extensions.Logging; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -33,26 +35,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电压曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电压曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -64,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F92_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F92_Analysis.cs index 7013558..1d1bff5 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F92_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F92_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电流曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电流曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F93_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F93_Analysis.cs index 5a86c82..bbd8f0d 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F93_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F93_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电流曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电流曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F94_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F94_Analysis.cs index c73619f..19e6d2f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F94_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F94_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电流曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电流曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F95_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F95_Analysis.cs index 3633567..842496f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F95_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F95_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "测量点零序电流曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "测量点零序电流曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F97_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F97_Analysis.cs index 1e04f6f..8ce25e1 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F97_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F97_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能量曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能量曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F98_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F98_Analysis.cs index c3fe639..6da01d5 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F98_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F98_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能量曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能量曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F99_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F99_Analysis.cs index ac93186..33b8560 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F99_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0DH/AFN13_F99_Analysis.cs @@ -10,6 +10,8 @@ using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.Common.Consts; +using JiShe.CollectBus.IotSystems.Devices; +using System.Collections.Generic; namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH { @@ -34,26 +36,27 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums))); string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; - List> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能量曲线"); - if (data.Count > 0) + List> list = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能量曲线"); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.MeterId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.AmmerterAddress; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -65,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH Pn = input.DA.Pn, MSA = input.A.A3!.D1_D7!, PSEQ = input.SEQ.PSEQ, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, TimeDensity = density,//密度-间隔分钟数, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0EH/AFN14_F1_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0EH/AFN14_F1_Analysis.cs index 2c29612..0cb0357 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0EH/AFN14_F1_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0EH/AFN14_F1_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -31,8 +32,9 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0EH { try { - ArgumentNullException.ThrowIfNull(nameof(input)); - ArgumentNullException.ThrowIfNull(nameof(input.UnitData.HexMessageList)); + ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); + ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); int erc = input.UnitData.HexMessageList![8].HexToDec(); bool isOnOffPower = erc.Equals(14) ? true : false; if (!isOnOffPower) @@ -42,21 +44,20 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0EH return await Task.FromResult(true); } - List> data = AnalysisDataUnit(input.UnitData.HexMessageList); - if (data.Count > 0) + List> list = AnalysisDataUnit(input.UnitData.HexMessageList); + if (list.Count > 0) { - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ForEach(item => + list.ForEach(item => { - item.ProjectId = ammeterInfo.ProjectID; - item.DeviceId = ammeterInfo.FocusId; - item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - item.DeviceAddress = ammeterInfo.Address; - item.DeviceType = MeterTypeEnum.Focus; - item.FocusId = ammeterInfo.FocusId; + item.ProjectId = deviceInfo.ProjectID; + item.DeviceId = deviceInfo.MeterId; + item.DatabaseBusiID = deviceInfo.DatabaseBusiID; + item.DeviceAddress = deviceInfo.MeterAddress; + item.FocusId = deviceInfo.FocusId; }); } } @@ -66,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0EH AFN = input.AFN_FC.AFN, Fn = input.DT.Fn, Pn = input.DA.Pn, - Data = data, + Data = list, ReceivedHexMessage = input.BaseHexMessage.HexMessageString, MessageId = input.MessageId, ReceivedTime = input.ReceivedTime, diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F101_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F101_Analysis.cs index 27bee6b..284aaab 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F101_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F101_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -30,6 +31,7 @@ namespace GatherService.WattMeter.AnalysisData.AFN_10H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageList); var data = new AnalysisBaseDto() { @@ -37,15 +39,15 @@ namespace GatherService.WattMeter.AnalysisData.AFN_10H DataValue = AnalysisDataUnit(input.UnitData.HexMessageList), ItemType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}" }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> dto = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F1_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F1_Analysis.cs index 5f79647..3d148b8 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F1_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F1_Analysis.cs @@ -33,6 +33,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.BaseHexMessage.HexMessageList); ArgumentNullException.ThrowIfNull(input.UnitData.HexMessageString); // TODO: 待定,等确认如何匹配规则 diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F97_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F97_Analysis.cs index 0da9f88..7b02e9f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F97_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F97_Analysis.cs @@ -4,6 +4,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Interfaces; @@ -38,20 +39,21 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); AnalysisBaseDto data = GenerateFinalResult(datas); - - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F98_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F98_Analysis.cs index e54cc09..bb504e9 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F98_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_10H/AFN16_F98_Analysis.cs @@ -2,6 +2,7 @@ using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.Protocol; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; @@ -33,6 +34,7 @@ namespace GatherService.WattMeter.AnalysisData.AFN_10H try { ArgumentNullException.ThrowIfNull(input); + ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList); List datas = AnalysisDataUnit(input.UnitData.HexMessageList); @@ -44,15 +46,15 @@ namespace GatherService.WattMeter.AnalysisData.AFN_10H ItemType= "10_98", }; - // 查询电表信息 - AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15"); - if (ammeterInfo != null) + // 查询设备信息 + DeviceInfo? deviceInfo = await _dataStorage.GetDeviceInfoAsync(input.A.Code, input.DA.Pn); + if (deviceInfo != null) { - data.ProjectId = ammeterInfo.ProjectID; - data.DeviceId = ammeterInfo.MeterId; - data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; - data.DeviceAddress = ammeterInfo.AmmerterAddress; - data.FocusId = ammeterInfo.FocusId; + data.ProjectId = deviceInfo.ProjectID; + data.DeviceId = deviceInfo.MeterId; + data.DatabaseBusiID = deviceInfo.DatabaseBusiID; + data.DeviceAddress = deviceInfo.MeterAddress; + data.FocusId = deviceInfo.FocusId; } UnitDataAnalysis> unitDataAnalysis = new UnitDataAnalysis> { diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/DataStorage.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/DataStorage.cs index f4a8371..ad07327 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/DataStorage.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/DataStorage.cs @@ -1,26 +1,33 @@ -using JiShe.CollectBus.Common; +using FreeRedis; +using JiShe.CollectBus.Common; using JiShe.CollectBus.Common.Consts; using JiShe.CollectBus.Common.Encrypt; using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Common.Helpers; +using JiShe.CollectBus.FreeRedis; using JiShe.CollectBus.IoTDB.Context; using JiShe.CollectBus.IoTDB.Interface; using JiShe.CollectBus.IoTDB.Model; using JiShe.CollectBus.IoTDB.Options; using JiShe.CollectBus.IoTDB.Provider; using JiShe.CollectBus.IotSystems.Ammeters; +using JiShe.CollectBus.IotSystems.Devices; using JiShe.CollectBus.IotSystems.LogRecord; using JiShe.CollectBus.IotSystems.MeterReadingRecords; using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using System.Diagnostics; using System.Diagnostics.Metrics; using System.Threading.Channels; +using TouchSocket.Core; using Volo.Abp.DependencyInjection; using Volo.Abp.Guids; +using YamlDotNet.Core.Tokens; using static FreeSql.Internal.GlobalFilter; using static JiShe.CollectBus.Common.Consts.T37612012PacketItemCodeConst; @@ -33,19 +40,22 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData private readonly ServerApplicationOptions _applicationOptions; private readonly IoTDBRuntimeContext _runtimeContext; private readonly ILogger _logger; - + private readonly IMemoryCache _imemoryCache; + private readonly IFreeRedisProvider _freeRedisProvider; + private RedisClient Instance { get; set; } public DataStorage(IIoTDbProvider dbProvider, IOptions applicationOptions, - IGuidGenerator guidGenerator, IoTDBRuntimeContext runtimeContext, ILogger logger) + IGuidGenerator guidGenerator, IoTDBRuntimeContext runtimeContext, ILogger logger, IMemoryCache memoryCache, IFreeRedisProvider freeRedisProvider) { _dbProvider= dbProvider; _applicationOptions = applicationOptions.Value; _guidGenerator= guidGenerator; _runtimeContext= runtimeContext; _logger= logger; + _imemoryCache = memoryCache; + _freeRedisProvider = freeRedisProvider; + Instance = _freeRedisProvider.Instance; } - - /// /// 日志保存通道写入 /// @@ -64,20 +74,26 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData await channelWriter.WriteAsync(dataItems); } + /// - /// 获取缓存电表信息 + /// 获取缓存设备信息 /// /// /// /// - public async Task GetMeterInfoAsync(string meterType,string timeDensity="15") + public async Task GetDeviceInfoAsync(string code,int pn=1) { - var redisCacheMeterInfoHashKeyTemp = $"{string.Format(RedisConst.CacheDeviceInfoHashKey, _applicationOptions.SystemType, _applicationOptions.ServerTagName, meterType, timeDensity)}"; - // TODO:临时写死,等确认后如何取再调整 - return await Task.FromResult(new AmmeterInfo() { - ProjectID = 10000, - MeterId=11111, - FocusId=22222 + string redisCacheDeviceInfoHashKey = $"{string.Format(RedisConst.CacheDeviceInfoHashKey, _applicationOptions.SystemType, _applicationOptions.ServerTagName)}"; + string deviceKey= $"{code}:{pn}"; + return await _imemoryCache.GetOrCreateAsync(deviceKey, async entry => + { + List devices= await Instance.HGetAsync>(redisCacheDeviceInfoHashKey, code); + var data = devices.Where(s => s.MeteringCode == pn).FirstOrDefault(); + if (data != null) + entry.SetSlidingExpiration(TimeSpan.FromMinutes(5)); + else + entry.SetSlidingExpiration(TimeSpan.FromSeconds(5)); + return data ?? default; }); } diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/CollectBusProtocolT37612012Module.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/CollectBusProtocolT37612012Module.cs index 8f3cec4..8a3466f 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/CollectBusProtocolT37612012Module.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/CollectBusProtocolT37612012Module.cs @@ -14,7 +14,7 @@ namespace JiShe.CollectBus.Protocol.T37612012 public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddKeyedSingleton(nameof(T37612012ProtocolPlugin)); - + context.Services.AddMemoryCache(); // TODO:先用之前的策略注册方式,后续验证后采用LoadAnalysisStrategy RegisterProtocolAnalysis(context.Services); //LoadAnalysisStrategy(context.Services); diff --git a/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs b/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs index 2991fe8..5a1e91f 100644 --- a/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs +++ b/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs @@ -354,9 +354,9 @@ namespace JiShe.CollectBus.ScheduledMeterReading timer1.Stop(); - _logger.LogError($"电表初始化读取数据总共花费时间{timer1.ElapsedMilliseconds}毫秒"); - DeviceGroupBalanceControl.InitializeCache(focusAddressDataLista, _kafkaOptions.NumPartitions); - return; + //_logger.LogError($"电表初始化读取数据总共花费时间{timer1.ElapsedMilliseconds}毫秒"); + //DeviceGroupBalanceControl.InitializeCache(focusAddressDataLista, _kafkaOptions.NumPartitions); + //return; #else var meterInfos = await GetAmmeterInfoList(gatherCode); #endif diff --git a/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml b/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml index 8674d67..ae74593 100644 --- a/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml +++ b/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml @@ -16,6 +16,7 @@ 后端服务 + diff --git a/web/JiShe.CollectBus.Host/appsettings.json b/web/JiShe.CollectBus.Host/appsettings.json index a3ed9de..8b779fd 100644 --- a/web/JiShe.CollectBus.Host/appsettings.json +++ b/web/JiShe.CollectBus.Host/appsettings.json @@ -141,7 +141,7 @@ } }, "ServerApplicationOptions": { - "ServerTagName": "JiSheCollectBus999", + "ServerTagName": "JiSheCollectBus99", "SystemType": "Energy", "FirstCollectionTime": "2025-04-28 15:07:00", "AutomaticVerificationTime": "16:07:00", @@ -153,6 +153,6 @@ }, "PlugInFolder": "", "TCP": { - "ClientPort": 10502 + "ClientPort": 10500 } } \ No newline at end of file From a62284005a7147e9c97cb3b0f4cfb9a7016df668 Mon Sep 17 00:00:00 2001 From: zenghongyao <873884283@qq.com> Date: Wed, 14 May 2025 08:32:04 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AFN_0AH/AFN10_F10_Analysis.cs | 19 +++++++++++-------- .../AFN_0AH/AFN10_F66_Analysis.cs | 2 +- .../Pages/Monitor.cshtml | 1 - 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs index 0ead1de..7e36e11 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F10_Analysis.cs @@ -92,22 +92,25 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH SerialNum = $"{sArray[1]}{sArray[0]}".HexToDec(), Point = $"{sArray[3]}{sArray[2]}".HexToDec(), RuleType= GetProtocol(sArray[5]), - ComAddress= $"{sArray[11]}{sArray[10]}{sArray[9]}{sArray[8]}{sArray[7]}{sArray[6]}", - ComPwd= $"{sArray[17]}{sArray[16]}{sArray[15]}{sArray[14]}{sArray[13]}{sArray[12]}".Substring(6, 6), - ElectricityRatesNum= sArray[18].HexToBin().Substring(2, 6).BinToDec(), - CollectorAddress = $"{sArray[25]}{sArray[24]}{sArray[23]}{sArray[22]}{sArray[21]}{sArray[20]}", + //ComAddress= $"{sArray[11]}{sArray[10]}{sArray[9]}{sArray[8]}{sArray[7]}{sArray[6]}"; + //ComPwd= $"{sArray[17]}{sArray[16]}{sArray[15]}{sArray[14]}{sArray[13]}{sArray[12]}".Substring(6, 6), + //ElectricityRatesNum= sArray[18].HexToBin().Substring(2, 6).BinToDec(), + //CollectorAddress = $"{sArray[25]}{sArray[24]}{sArray[23]}{sArray[22]}{sArray[21]}{sArray[20]}", }; - - string baudPort = sArray[4].HexToBin().PadLeft(8, '0'); //波特率和端口号放在一个字节内 + aFN10F10Entity.ComAddress = $"{sArray[11]}{sArray[10]}{sArray[9]}{sArray[8]}{sArray[7]}{sArray[6]}"; + aFN10F10Entity.ComPwd = $"{sArray[17]}{sArray[16]}{sArray[15]}{sArray[14]}{sArray[13]}{sArray[12]}".Substring(6, 6); + aFN10F10Entity.ElectricityRatesNum = sArray[18].HexTo4BinZero().Substring(2, 6).BinToDec(); + aFN10F10Entity.CollectorAddress = $"{sArray[25]}{sArray[24]}{sArray[23]}{sArray[22]}{sArray[21]}{sArray[20]}"; + string baudPort = sArray[4].HexTo4BinZero().PadLeft(8, '0'); //波特率和端口号放在一个字节内 aFN10F10Entity.BaudRate = GetBaudrate(baudPort.Substring(0, 3)); aFN10F10Entity.Port = baudPort.Substring(3, 5).BinToDec(); - string dataDigit = sArray[19].HexToBin().PadLeft(8, '0'); //有功电能示值整数位及小数位个数 + string dataDigit = sArray[19].HexTo4BinZero().PadLeft(8, '0'); //有功电能示值整数位及小数位个数 aFN10F10Entity.IntegerBitsNum = dataDigit.Substring(4, 2).BinToDec() + 4; aFN10F10Entity.DecimalPlacesNum = dataDigit.Substring(6, 2).BinToDec() + 1; - string classNo = sArray[26].HexToBin().PadLeft(8, '0');//用户大类号及用户小类号 + string classNo = sArray[26].HexTo4BinZero().PadLeft(8, '0');//用户大类号及用户小类号 aFN10F10Entity.UserCategoryNum = classNo.Substring(0, 4).BinToDec() + 1; aFN10F10Entity.UserCategoryNum = classNo.Substring(4, 4).BinToDec() + 1; aFN10F10Entitys.Add(aFN10F10Entity); diff --git a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs index adf273b..5305476 100644 --- a/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs +++ b/protocols/JiShe.CollectBus.Protocol.T37612012/AnalysisData/AFN_0AH/AFN10_F66_Analysis.cs @@ -82,7 +82,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0AH public async Task GenerateFinalResult(List hexMessageList) { AFN10_F66_AnalysisDto entity = new AFN10_F66_AnalysisDto(); - var cycleBin = hexMessageList[4].HexToBin().PadLeft(8, '0'); + var cycleBin = hexMessageList[4].HexTo4BinZero().PadLeft(8, '0'); var cycleUnitBin = cycleBin.Substring(0, 2); var cycleValueBin = cycleBin.Substring(2, 6); diff --git a/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml b/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml index ae74593..8674d67 100644 --- a/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml +++ b/web/JiShe.CollectBus.Host/Pages/Monitor.cshtml @@ -16,7 +16,6 @@ 后端服务 -