From 310ae97a6b20b8718c20720bdb642b8b1be5af6b Mon Sep 17 00:00:00 2001
From: ChenYi <296215406@outlook.com>
Date: Wed, 23 Apr 2025 17:49:13 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8A=A5=E6=96=87=E5=AD=98?=
=?UTF-8?q?=E5=82=A8=E8=AE=B0=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Abstracts/ProtocolPlugin.cs | 11 +++++++++++
.../Interfaces/IProtocolPlugin.cs | 6 ++++++
.../BasicScheduledMeterReadingService.cs | 12 +++++-------
.../EnergySystemScheduledMeterReadingService.cs | 4 ++--
.../MeterReadingTelemetryPacketInfo.cs | 8 ++++----
.../JiShe.CollectBus.Common/Helpers/CommonHelper.cs | 5 +++--
6 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/protocols/JiShe.CollectBus.Protocol.Contracts/Abstracts/ProtocolPlugin.cs b/protocols/JiShe.CollectBus.Protocol.Contracts/Abstracts/ProtocolPlugin.cs
index eaa081b..da99681 100644
--- a/protocols/JiShe.CollectBus.Protocol.Contracts/Abstracts/ProtocolPlugin.cs
+++ b/protocols/JiShe.CollectBus.Protocol.Contracts/Abstracts/ProtocolPlugin.cs
@@ -369,5 +369,16 @@ namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
///
public int CalculateFn(string dt1, string dt2) => dt2.HexToDec() * 8 + (8 - dt1.HexTo4BinZero().IndexOf("1"));
+ ///
+ /// 组装透明转发报文
+ ///
+ ///
+ ///
+ ///
+ public virtual List GenerateAFN10HContent(T entity)
+ {
+ throw new Exception();
+ }
+
}
}
diff --git a/protocols/JiShe.CollectBus.Protocol.Contracts/Interfaces/IProtocolPlugin.cs b/protocols/JiShe.CollectBus.Protocol.Contracts/Interfaces/IProtocolPlugin.cs
index 326dad0..074fa48 100644
--- a/protocols/JiShe.CollectBus.Protocol.Contracts/Interfaces/IProtocolPlugin.cs
+++ b/protocols/JiShe.CollectBus.Protocol.Contracts/Interfaces/IProtocolPlugin.cs
@@ -18,6 +18,12 @@ namespace JiShe.CollectBus.Protocol.Contracts.Interfaces
TB3761? Analysis3761(string messageReceived);
+ ///
+ /// 组装透明转发报文
+ ///
+ ///
+ List GenerateAFN10HContent(T entity);
+
//Task LoginAsync(MessageReceivedLogin messageReceived);
//Task HeartbeatAsync(MessageReceivedHeartbeat messageReceived);
diff --git a/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs b/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs
index f50d121..849f570 100644
--- a/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs
+++ b/services/JiShe.CollectBus.Application/ScheduledMeterReading/BasicScheduledMeterReadingService.cs
@@ -645,7 +645,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
}
- string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, ammeterInfo.MeteringCode, builderResponse.MSA);
+ string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, ammeterInfo.MeteringCode, builderResponse.MSA, builderResponse.Seq.PRSEQ);
var meterReadingRecords = new MeterReadingTelemetryPacketInfo()
{
SystemName = SystemType,
@@ -659,7 +659,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
MeterAddress = ammeterInfo.AmmerterAddress,
AFN = (int)aFN,
Fn = fn,
- //Seq = builderResponse.Seq,
+ Seq = builderResponse.Seq.PRSEQ,
MSA = builderResponse.MSA,
ItemCode = tempItem,
TaskMark = taskMark,
@@ -963,7 +963,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
}
- string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, watermeter.MeteringCode, builderResponse.MSA);
+ string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, watermeter.MeteringCode, builderResponse.MSA, builderResponse.Seq.PRSEQ);
var meterReadingRecords = new MeterReadingTelemetryPacketInfo()
{
SystemName = SystemType,
@@ -977,7 +977,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
MeterAddress = watermeter.MeterAddress,
AFN = (int)aFN,
Fn = fn,
- //Seq = builderResponse.Seq,
+ Seq = builderResponse.Seq.PRSEQ,
MSA = builderResponse.MSA,
ItemCode = tempItem,
TaskMark = taskMark,
@@ -1101,9 +1101,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
int pageNumber = 0;
bool hasNext;
var stopwatch = Stopwatch.StartNew();
-
- var ddd = _runtimeContext.UseTableSessionPool;
-
+
do
{
options.PageIndex = pageNumber++;
diff --git a/services/JiShe.CollectBus.Application/ScheduledMeterReading/EnergySystemScheduledMeterReadingService.cs b/services/JiShe.CollectBus.Application/ScheduledMeterReading/EnergySystemScheduledMeterReadingService.cs
index 82e9588..27804eb 100644
--- a/services/JiShe.CollectBus.Application/ScheduledMeterReading/EnergySystemScheduledMeterReadingService.cs
+++ b/services/JiShe.CollectBus.Application/ScheduledMeterReading/EnergySystemScheduledMeterReadingService.cs
@@ -280,7 +280,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
continue;
}
- string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, ammeterInfo.MeteringCode, builderResponse.MSA);
+ string taskMark = CommonHelper.GetTaskMark((int)aFN, fn, ammeterInfo.MeteringCode, builderResponse.MSA,builderResponse.Seq.PRSEQ);
var meterReadingRecords = new MeterReadingTelemetryPacketInfo()
{
SystemName = SystemType,
@@ -294,7 +294,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
MeterAddress = ammeterInfo.AmmerterAddress,
AFN = (int)aFN,
Fn = fn,
- //Seq = builderResponse.Seq,
+ Seq = builderResponse.Seq.PRSEQ,
MSA = builderResponse.MSA,
ItemCode = temCode,
TaskMark = taskMark,
diff --git a/services/JiShe.CollectBus.Domain/IotSystems/MeterReadingRecords/MeterReadingTelemetryPacketInfo.cs b/services/JiShe.CollectBus.Domain/IotSystems/MeterReadingRecords/MeterReadingTelemetryPacketInfo.cs
index 07b5369..e39b2bd 100644
--- a/services/JiShe.CollectBus.Domain/IotSystems/MeterReadingRecords/MeterReadingTelemetryPacketInfo.cs
+++ b/services/JiShe.CollectBus.Domain/IotSystems/MeterReadingRecords/MeterReadingTelemetryPacketInfo.cs
@@ -104,10 +104,10 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
[FIELDColumn]
public string ItemCode { get; set; }
- /////
- ///// 帧序列域SEQ
- /////
- //public required Seq Seq { get; set; }
+ ///
+ /// 帧序列域 SEQ
+ ///
+ public int Seq { get; set; }
///
/// 地址域A3的主站地址MSA
diff --git a/shared/JiShe.CollectBus.Common/Helpers/CommonHelper.cs b/shared/JiShe.CollectBus.Common/Helpers/CommonHelper.cs
index 11ba0a6..1f37b10 100644
--- a/shared/JiShe.CollectBus.Common/Helpers/CommonHelper.cs
+++ b/shared/JiShe.CollectBus.Common/Helpers/CommonHelper.cs
@@ -768,10 +768,11 @@ namespace JiShe.CollectBus.Common.Helpers
///
///
///
+ ///
///
- public static string GetTaskMark(int afn, int fn, int pn, int msa)
+ public static string GetTaskMark(int afn, int fn, int pn, int msa,int seq)
{
- var makstr = $"{afn.ToString().PadLeft(2, '0')}{fn.ToString().PadLeft(2, '0')}{pn.ToString().PadLeft(2, '0')}";
+ var makstr = $"{afn.ToString().PadLeft(2, '0')}{fn.ToString().PadLeft(2, '0')}{pn.ToString().PadLeft(2, '0')}{msa.ToString().PadLeft(2, '0')}{seq.ToString().PadLeft(2, '0')}";
return makstr;// Convert.ToInt32(makstr) << 32 | msa;
}