Compare commits

...

2 Commits

Author SHA1 Message Date
1ae875606f 优化代码 2025-05-07 11:55:26 +08:00
34d4bc0b8f 优化376.1协议插件解析 2025-05-07 11:53:50 +08:00
69 changed files with 391 additions and 214 deletions

View File

@ -1,4 +1,6 @@
using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto;
using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.Interfaces;
using JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_00H; using JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_00H;
@ -9,6 +11,8 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using static FreeSql.Internal.GlobalFilter;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
{ {
@ -18,25 +22,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
public class AFN2_F1_Analysis : IAnalysisStrategy<TB3761> public class AFN2_F1_Analysis : IAnalysisStrategy<TB3761>
{ {
private readonly ILogger<AFN2_F1_Analysis> _logger; private readonly ILogger<AFN2_F1_Analysis> _logger;
private readonly DataStorage _dataStorage;
public AFN2_F1_Analysis(ILogger<AFN2_F1_Analysis> logger) public AFN2_F1_Analysis(ILogger<AFN2_F1_Analysis> logger, DataStorage dataStorage)
{ {
_logger = logger; _logger = logger;
_dataStorage= dataStorage;
} }
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null) public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
{ {
try try
{ {
ArgumentNullException.ThrowIfNull(input); ArgumentNullException.ThrowIfNull(input);
ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.A.Code);
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string> var data = new AnalysisBaseDto<string>()
{
FiledDesc = "登录",
FiledName = "Type",
DataValue = "Login"
};
// 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
if (ammeterInfo != null)
{
data.ProjectId = ammeterInfo.ProjectID;
data.DeviceId = ammeterInfo.FocusId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress;
data.DeviceType = MeterTypeEnum.Focus;
}
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
{ {
Code = input.A.Code, Code = input.A.Code,
AFN = input.AFN_FC.AFN, AFN = input.AFN_FC.AFN,
Fn = input.DT.Fn, Fn = input.DT.Fn,
Pn = input.DA.Pn, Pn = input.DA.Pn,
Data = $"登录帧", Data = data,
HexMessage = input.BaseHexMessage.HexMessageString, HexMessage = input.BaseHexMessage.HexMessageString,
MessageId = input.MessageId, MessageId = input.MessageId,
ReceivedTime = input.ReceivedTime, ReceivedTime = input.ReceivedTime,
@ -44,13 +65,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
TimeDensity = -1 TimeDensity = -1
}; };
result?.Invoke(dto); result?.Invoke(dto);
return Task.FromResult(true); await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
return await Task.FromResult(true);
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, $"02_1解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}"); _logger.LogError(ex, $"02_1解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
} }
return Task.FromResult(false); return await Task.FromResult(false);
} }
} }

View File

@ -1,4 +1,6 @@
using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto;
using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.Interfaces;
using JiShe.CollectBus.Protocol3761; using JiShe.CollectBus.Protocol3761;
@ -17,25 +19,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
public class AFN2_F2_Analysis : IAnalysisStrategy<TB3761> public class AFN2_F2_Analysis : IAnalysisStrategy<TB3761>
{ {
private readonly ILogger<AFN2_F2_Analysis> _logger; private readonly ILogger<AFN2_F2_Analysis> _logger;
private readonly DataStorage _dataStorage;
public AFN2_F2_Analysis(ILogger<AFN2_F2_Analysis> logger) public AFN2_F2_Analysis(ILogger<AFN2_F2_Analysis> logger, DataStorage dataStorage)
{ {
_logger = logger; _logger = logger;
_dataStorage = dataStorage;
} }
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null) public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
{ {
try try
{ {
ArgumentNullException.ThrowIfNull(input); ArgumentNullException.ThrowIfNull(input);
ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.A.Code);
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string> var data = new AnalysisBaseDto<string>()
{
FiledDesc = "退出登录",
FiledName = "Type",
DataValue = "LogOut"
};
// 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
if (ammeterInfo != null)
{
data.ProjectId = ammeterInfo.ProjectID;
data.DeviceId = ammeterInfo.FocusId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress;
data.DeviceType = MeterTypeEnum.Focus;
}
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
{ {
Code = input.A.Code, Code = input.A.Code,
AFN = input.AFN_FC.AFN, AFN = input.AFN_FC.AFN,
Fn = input.DT.Fn, Fn = input.DT.Fn,
Pn = input.DA.Pn, Pn = input.DA.Pn,
Data = $"退出登录帧", Data = data,
HexMessage = input.BaseHexMessage.HexMessageString, HexMessage = input.BaseHexMessage.HexMessageString,
MessageId = input.MessageId, MessageId = input.MessageId,
ReceivedTime = input.ReceivedTime, ReceivedTime = input.ReceivedTime,
@ -43,13 +62,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
TimeDensity = -1 TimeDensity = -1
}; };
result?.Invoke(dto); result?.Invoke(dto);
return Task.FromResult(true); await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
return await Task.FromResult(true);
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, $"02_2解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}"); _logger.LogError(ex, $"02_2解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
} }
return Task.FromResult(false); return await Task.FromResult(false);
} }
} }
} }

View File

@ -1,4 +1,6 @@
using JiShe.CollectBus.Common.Enums; using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto;
using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.Interfaces;
using JiShe.CollectBus.Protocol3761; using JiShe.CollectBus.Protocol3761;
@ -17,25 +19,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
public class AFN2_F3_Analysis : IAnalysisStrategy<TB3761> public class AFN2_F3_Analysis : IAnalysisStrategy<TB3761>
{ {
private readonly ILogger<AFN2_F3_Analysis> _logger; private readonly ILogger<AFN2_F3_Analysis> _logger;
private readonly DataStorage _dataStorage;
public AFN2_F3_Analysis(ILogger<AFN2_F3_Analysis> logger) public AFN2_F3_Analysis(ILogger<AFN2_F3_Analysis> logger, DataStorage dataStorage)
{ {
_logger = logger; _logger = logger;
_dataStorage = dataStorage;
} }
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null) public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
{ {
try try
{ {
ArgumentNullException.ThrowIfNull(input); ArgumentNullException.ThrowIfNull(input);
ArgumentNullException.ThrowIfNull(input.A.Code); ArgumentNullException.ThrowIfNull(input.A.Code);
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string> var data = new AnalysisBaseDto<string>()
{
FiledDesc = "心跳",
FiledName = "Type",
DataValue = "Heartbeat"
};
// 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
if (ammeterInfo != null)
{
data.ProjectId = ammeterInfo.ProjectID;
data.DeviceId = ammeterInfo.FocusId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress;
data.DeviceType = MeterTypeEnum.Focus;
}
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
{ {
Code = input.A.Code, Code = input.A.Code,
AFN = input.AFN_FC.AFN, AFN = input.AFN_FC.AFN,
Fn = input.DT.Fn, Fn = input.DT.Fn,
Pn = input.DA.Pn, Pn = input.DA.Pn,
Data = $"心跳帧", Data = data,
HexMessage = input.BaseHexMessage.HexMessageString, HexMessage = input.BaseHexMessage.HexMessageString,
MessageId = input.MessageId, MessageId = input.MessageId,
ReceivedTime = input.ReceivedTime, ReceivedTime = input.ReceivedTime,
@ -43,13 +62,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
TimeDensity = -1 TimeDensity = -1
}; };
result?.Invoke(dto); result?.Invoke(dto);
return Task.FromResult(true); await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
return await Task.FromResult(true);
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, $"02_1解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}"); _logger.LogError(ex, $"02_3解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
} }
return Task.FromResult(false); return await Task.FromResult(false);
} }
} }
} }

View File

@ -96,7 +96,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
return values; return values;
} }
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data, string filedDesc = "",string dataType) public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data, string filedDesc,string dataType)
{ {
AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>(); AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>();

View File

@ -40,11 +40,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, dataType,"上月(上一结算日)正向有功最大需量及发生时间"); AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, dataType,"上月(上一结算日)正向有功最大需量及发生时间");
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ProjectId = ammeterInfo.ProjectID; data.ProjectId = ammeterInfo.ProjectID;
data.MeterId = ammeterInfo.MeterId; data.DeviceId = ammeterInfo.MeterId;
data.DatabaseBusiID=ammeterInfo.DatabaseBusiID; data.DatabaseBusiID=ammeterInfo.DatabaseBusiID;
data.MeterAddress= ammeterInfo.AmmerterAddress; data.MeterAddress= ammeterInfo.AmmerterAddress;
} }
@ -122,7 +122,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
} }
decimal.TryParse(data[2], out decimal value); decimal.TryParse(data[2], out decimal value);
dto.DataValue = value; dto.DataValue = value;
dto.MeterType= MeterTypeEnum.Ammeter; dto.DeviceType= MeterTypeEnum.Ammeter;
//TODO:最大需量发生时间 //TODO:最大需量发生时间
errorCodeInfo = data[3].CheckErrorCode(); errorCodeInfo = data[3].CheckErrorCode();
if (data[3].Length != 8 && errorCodeInfo != null) if (data[3].Length != 8 && errorCodeInfo != null)

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });
@ -125,7 +125,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
int startIndex = i == 1 ? 3 : (3 + i * fCount); int startIndex = i == 1 ? 3 : (3 + i * fCount);

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ProjectId = ammeterInfo.ProjectID; data.ProjectId = ammeterInfo.ProjectID;
data.MeterId = ammeterInfo.MeterId; data.DeviceId = ammeterInfo.MeterId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress; data.MeterAddress = ammeterInfo.AmmerterAddress;
} }
@ -117,7 +117,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>(); List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
decimal value = 0; decimal value = 0;

View File

@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间"); AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间");
data.DataType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; data.DataType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ProjectId = ammeterInfo.ProjectID; data.ProjectId = ammeterInfo.ProjectID;
data.MeterId = ammeterInfo.MeterId; data.DeviceId = ammeterInfo.MeterId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress; data.MeterAddress = ammeterInfo.AmmerterAddress;
} }
@ -108,7 +108,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter, DeviceType = MeterTypeEnum.Ammeter,
}; };
decimal value = 0; decimal value = 0;

View File

@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间"); AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间");
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}"; data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ProjectId = ammeterInfo.ProjectID; data.ProjectId = ammeterInfo.ProjectID;
data.MeterId = ammeterInfo.MeterId; data.DeviceId = ammeterInfo.MeterId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress; data.MeterAddress = ammeterInfo.AmmerterAddress;
} }
@ -108,7 +108,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
decimal value = 0; decimal value = 0;

View File

@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });
@ -125,7 +125,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
for (int i = 1; i <= 2; i++) for (int i = 1; i <= 2; i++)
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>(); AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
meter.MeterType= MeterTypeEnum.Ammeter; meter.DeviceType= MeterTypeEnum.Ammeter;
int startIndex = i == 1 ? 3 : (3 + i * fCount); int startIndex = i == 1 ? 3 : (3 + i * fCount);
decimal value = 0; decimal value = 0;
var errorCode = data[startIndex].CheckErrorCode(); var errorCode = data[startIndex].CheckErrorCode();

View File

@ -45,13 +45,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });
@ -133,7 +133,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
int startIndex = i == 1 ? 3 : (3 + i * fCount); int startIndex = i == 1 ? 3 : (3 + i * fCount);

View File

@ -44,13 +44,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });
@ -130,7 +130,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
int startIndex = i == 1 ? 3 : (3 + i * fCount); int startIndex = i == 1 ? 3 : (3 + i * fCount);

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
if (data.Count > 0) if (data.Count > 0)
{ {
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ForEach(item => data.ForEach(item =>
{ {
item.ProjectId = ammeterInfo.ProjectID; item.ProjectId = ammeterInfo.ProjectID;
item.MeterId = ammeterInfo.MeterId; item.DeviceId = ammeterInfo.MeterId;
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID; item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
item.MeterAddress = ammeterInfo.AmmerterAddress; item.MeterAddress = ammeterInfo.AmmerterAddress;
}); });

View File

@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList); List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas); AnalysisBaseDto<decimal> data = GenerateFinalResult(datas);
// 查询电表信息 // 查询电表信息
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15"); AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
if (ammeterInfo != null) if (ammeterInfo != null)
{ {
data.ProjectId = ammeterInfo.ProjectID; data.ProjectId = ammeterInfo.ProjectID;
data.MeterId = ammeterInfo.MeterId; data.DeviceId = ammeterInfo.MeterId;
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID; data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
data.MeterAddress = ammeterInfo.AmmerterAddress; data.MeterAddress = ammeterInfo.AmmerterAddress;
} }

View File

@ -18,6 +18,7 @@ using System.Diagnostics.Metrics;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using static FreeSql.Internal.GlobalFilter; using static FreeSql.Internal.GlobalFilter;
using static JiShe.CollectBus.Common.Consts.T37612012PacketItemCodeConst;
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
{ {
@ -44,7 +45,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
public async Task<AmmeterInfo> GetMeterInfoAsync(string meterType,string timeDensity="15") public async Task<AmmeterInfo> GetMeterInfoAsync(string meterType,string timeDensity="15")
{ {
var redisCacheMeterInfoHashKeyTemp = $"{string.Format(RedisConst.CacheMeterInfoHashKey, _applicationOptions.SystemType, _applicationOptions.ServerTagName, meterType, timeDensity)}"; var redisCacheMeterInfoHashKeyTemp = $"{string.Format(RedisConst.CacheMeterInfoHashKey, _applicationOptions.SystemType, _applicationOptions.ServerTagName, meterType, timeDensity)}";
return await Task.FromResult(new AmmeterInfo()); // TODO临时写死等确认后如何取再调整
return await Task.FromResult(new AmmeterInfo() {
ProjectID = 10000,
MeterId=11111,
FocusId=22222
});
} }
/// <summary> /// <summary>
@ -86,8 +92,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
var meter = new TreeModelSingleMeasuringEntity<T>() var meter = new TreeModelSingleMeasuringEntity<T>()
{ {
SystemName = _applicationOptions.SystemType, SystemName = _applicationOptions.SystemType,
DeviceId = $"{data.MeterId}", DeviceId = $"{data.DeviceId}",
DeviceType = $"{data.MeterType}", DeviceType = $"{data.DeviceType.ToString()}.{IOTDBDataType.Data}",
ProjectId = $"{data.ProjectId}", ProjectId = $"{data.ProjectId}",
Timestamps = data.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(), Timestamps = data.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(),
SingleMeasuring = new Tuple<string, T>(data.FiledName ?? string.Empty, data.DataValue ?? default) SingleMeasuring = new Tuple<string, T>(data.FiledName ?? string.Empty, data.DataValue ?? default)
@ -111,8 +117,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
{ {
SystemName = _applicationOptions.SystemType, SystemName = _applicationOptions.SystemType,
ProjectId = $"{data.ProjectId}", ProjectId = $"{data.ProjectId}",
DeviceType = $"{data.MeterType}", DeviceType = $"{data.DeviceType}",
DeviceId = $"{data.MeterId}", DeviceId = $"{data.DeviceId}",
Timestamps = DateTime.Now.GetDateTimeOffset().ToUnixTimeNanoseconds(), Timestamps = DateTime.Now.GetDateTimeOffset().ToUnixTimeNanoseconds(),
DatabaseBusiID = data.DatabaseBusiID, DatabaseBusiID = data.DatabaseBusiID,
PendingCopyReadTime = data.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity), PendingCopyReadTime = data.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity),
@ -189,8 +195,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
var meter = new TreeModelSingleMeasuringEntity<T>() var meter = new TreeModelSingleMeasuringEntity<T>()
{ {
SystemName = _applicationOptions.SystemType, SystemName = _applicationOptions.SystemType,
DeviceId = $"{item.MeterId}", DeviceId = $"{item.DeviceId}",
DeviceType = $"{item.MeterType}", DeviceType = $"{item.DeviceType}.{IOTDBDataType.Data}",
ProjectId = $"{item.ProjectId}", ProjectId = $"{item.ProjectId}",
Timestamps = item.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(), // TODO:这里暂时格式化15分钟数据需要进行调整 Timestamps = item.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(), // TODO:这里暂时格式化15分钟数据需要进行调整
SingleMeasuring = new Tuple<string, T>(item.FiledName ?? string.Empty, item.DataValue ?? default) SingleMeasuring = new Tuple<string, T>(item.FiledName ?? string.Empty, item.DataValue ?? default)
@ -214,8 +220,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
{ {
SystemName = _applicationOptions.SystemType, SystemName = _applicationOptions.SystemType,
ProjectId = $"{item.ProjectId}", ProjectId = $"{item.ProjectId}",
DeviceType = $"{item.MeterType}", DeviceType = $"{item.DeviceType}",
DeviceId = $"{item.MeterId}", DeviceId = $"{item.DeviceId}",
Timestamps = DateTime.Now.CheckTimePoint().GetDateTimeOffset().ToUnixTimeNanoseconds(), Timestamps = DateTime.Now.CheckTimePoint().GetDateTimeOffset().ToUnixTimeNanoseconds(),
DatabaseBusiID = item.DatabaseBusiID, DatabaseBusiID = item.DatabaseBusiID,
PendingCopyReadTime = item.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity), PendingCopyReadTime = item.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity),
@ -254,7 +260,72 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
return await Task.FromResult(true); return await Task.FromResult(true);
} }
/// <summary>
/// 保存状态到IotDb
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="analysisBaseDto"></param>
/// <returns></returns>
public async Task<bool> SaveStatusToIotDbAsync<T>(UnitDataAnalysis<AnalysisBaseDto<T>> analysisBaseDto)
{
ArgumentNullException.ThrowIfNull(nameof(analysisBaseDto.Data));
ArgumentNullException.ThrowIfNullOrWhiteSpace(nameof(analysisBaseDto.Data.FiledName));
ArgumentNullException.ThrowIfNullOrWhiteSpace(nameof(analysisBaseDto.Data.DataValue));
var data = analysisBaseDto.Data!;
if (!data.TimeSpan.HasValue)
data.TimeSpan = analysisBaseDto.ReceivedTime;
// 类型(心跳,登录,上电,掉电)
long timestamps = DateTime.Now.GetDateTimeOffset().ToUnixTimeMilliseconds();
var treeData = new TreeModelSingleMeasuringEntity<T>()
{
SystemName = _applicationOptions.SystemType,
DeviceId = $"{data.DeviceId}",
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
ProjectId = $"{data.ProjectId}",
Timestamps = timestamps,
SingleMeasuring = new Tuple<string, T>(data.FiledName!, data.DataValue!)
};
_runtimeContext.UseTableSessionPool = false; // 使树模型池
await _dbProvider.InsertAsync(treeData);
// 时间
var treeRecordingTimeData = new TreeModelSingleMeasuringEntity<long>()
{
SystemName = _applicationOptions.SystemType,
DeviceId = $"{data.DeviceId}",
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
ProjectId = $"{data.ProjectId}",
Timestamps = timestamps,
SingleMeasuring = new Tuple<string, long>(ConcentratorStatusFieldConst.RecordingTime, data.TimeSpan!.Value.GetDateTimeOffset().ToUnixTimeNanoseconds())
};
_runtimeContext.UseTableSessionPool = false; // 使树模型池
await _dbProvider.InsertAsync(treeRecordingTimeData);
// 备注
var treeRemarkData = new TreeModelSingleMeasuringEntity<string>()
{
SystemName = _applicationOptions.SystemType,
DeviceId = $"{data.DeviceId}",
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
ProjectId = $"{data.ProjectId}",
Timestamps = timestamps,
SingleMeasuring = new Tuple<string, string>(ConcentratorStatusFieldConst.Remark, data.FiledDesc ?? string.Empty)
};
_runtimeContext.UseTableSessionPool = false; // 使树模型池
await _dbProvider.InsertAsync(treeRemarkData);
// 数据帧
var treeFrameData = new TreeModelSingleMeasuringEntity<string>()
{
SystemName = _applicationOptions.SystemType,
DeviceId = $"{data.DeviceId}",
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
ProjectId = $"{data.ProjectId}",
Timestamps = timestamps,
SingleMeasuring = new Tuple<string, string>(ConcentratorStatusFieldConst.FrameData, analysisBaseDto.HexMessage ?? string.Empty )
};
_runtimeContext.UseTableSessionPool = false; // 使树模型池
await _dbProvider.InsertAsync(treeFrameData);
return await Task.FromResult(true);
}
} }
} }

View File

@ -245,7 +245,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
for (int i = index; i < data.Count; i++) for (int i = index; i < data.Count; i++)
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>(); AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
meter.MeterType= MeterTypeEnum.Ammeter; meter.DeviceType= MeterTypeEnum.Ammeter;
decimal value = 0; decimal value = 0;
var errorCode = data[i].CheckErrorCode(); var errorCode = data[i].CheckErrorCode();
@ -282,7 +282,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
for (int i = index; i < data.Count; i++) for (int i = index; i < data.Count; i++)
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>(); AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
meter.MeterType = MeterTypeEnum.Ammeter; meter.DeviceType = MeterTypeEnum.Ammeter;
decimal value = 0; decimal value = 0;
var errorCode = data[i].CheckErrorCode(); var errorCode = data[i].CheckErrorCode();
if (errorCode != null) if (errorCode != null)
@ -320,7 +320,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
{ {
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal> AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
{ {
MeterType = MeterTypeEnum.Ammeter DeviceType = MeterTypeEnum.Ammeter
}; };
decimal value = 0; decimal value = 0;
var errorCode = data[i].CheckErrorCode(); var errorCode = data[i].CheckErrorCode();

View File

@ -111,9 +111,6 @@ namespace JiShe.CollectBus.Protocol.T37612012
_logger.LogError("376.1协议解析AFN失败"); _logger.LogError("376.1协议解析AFN失败");
return; return;
} }
// 登录心跳已做了处理,故需要忽略登录和心跳帧
//if (tB3761.DT.Fn == (int)FN.登录 || tB3761.DT.Fn == (int)FN.心跳)
// return;
//TODO根据AFN进行分流推送到kafka //TODO根据AFN进行分流推送到kafka
string topicName = string.Format(ProtocolConst.AFNTopicNameFormat, tB3761.AFN_FC.AFN.ToString().PadLeft(2, '0')); string topicName = string.Format(ProtocolConst.AFNTopicNameFormat, tB3761.AFN_FC.AFN.ToString().PadLeft(2, '0'));
tB3761.MessageId = Guid.NewGuid().ToString(); tB3761.MessageId = Guid.NewGuid().ToString();
@ -154,24 +151,24 @@ namespace JiShe.CollectBus.Protocol.T37612012
{ {
string oldClientId = $"{client.Id}"; string oldClientId = $"{client.Id}";
await client.ResetIdAsync(code); await client.ResetIdAsync(code);
var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code); //var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
if (deviceInfoList != null && deviceInfoList.Count > 1) //if (deviceInfoList != null && deviceInfoList.Count > 1)
{ //{
//todo 推送集中器编号重复预警 // //todo 推送集中器编号重复预警
_logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复"); // _logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
return; // return;
} //}
var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code); //var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
if (entity == null) //if (entity == null)
{ //{
await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online)); // await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
} //}
else //else
{ //{
entity.UpdateByLoginAndHeartbeat(oldClientId); // entity.UpdateByLoginAndHeartbeat(oldClientId);
await _deviceRepository.UpdateAsync(entity); // await _deviceRepository.UpdateAsync(entity);
} //}
var messageReceivedLoginEvent = new MessageReceivedLogin var messageReceivedLoginEvent = new MessageReceivedLogin
{ {
@ -230,34 +227,34 @@ namespace JiShe.CollectBus.Protocol.T37612012
{ {
string clientId = code; string clientId = code;
string oldClientId = $"{client.Id}"; //string oldClientId = $"{client.Id}";
var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code); //var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
if (deviceInfoList != null && deviceInfoList.Count > 1) //if (deviceInfoList != null && deviceInfoList.Count > 1)
{ //{
//todo 推送集中器编号重复预警 // //todo 推送集中器编号重复预警
_logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复"); // _logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
return; // return;
} //}
var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code); //var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
if (entity == null) //没有登录帧的设备,只有心跳帧 //if (entity == null) //没有登录帧的设备,只有心跳帧
{ //{
await client.ResetIdAsync(clientId); await client.ResetIdAsync(clientId);
await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online)); //await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
} //}
else //else
{ //{
if (clientId != oldClientId) // if (clientId != oldClientId)
{ // {
entity.UpdateByLoginAndHeartbeat(oldClientId); // entity.UpdateByLoginAndHeartbeat(oldClientId);
} // }
else // else
{ // {
entity.UpdateByLoginAndHeartbeat(); // entity.UpdateByLoginAndHeartbeat();
} // }
await _deviceRepository.UpdateAsync(entity); // await _deviceRepository.UpdateAsync(entity);
} //}
var messageReceivedHeartbeatEvent = new MessageReceivedHeartbeat var messageReceivedHeartbeatEvent = new MessageReceivedHeartbeat
{ {
@ -397,7 +394,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
{ {
HexMessageList = hexStringList HexMessageList = hexStringList
}; };
baseHexMessage.HexMessageString = string.Join(" ", baseHexMessage.HexMessageList); baseHexMessage.HexMessageString = string.Join("", baseHexMessage.HexMessageList);
TB3761 tB3761 = new TB3761 TB3761 tB3761 = new TB3761
{ {
BaseHexMessage=baseHexMessage, BaseHexMessage=baseHexMessage,
@ -610,7 +607,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
{ {
unitData = new UnitData unitData = new UnitData
{ {
HexMessageList = hexStringList. (14, hexStringList.Count - 14 - 2) //总数字节数-固定长度报文头-控制域C-地址域A-校验和CS-结束字符16H HexMessageList = hexStringList.GetRange(14, hexStringList.Count - 14 - 2) //总数字节数-固定长度报文头-控制域C-地址域A-校验和CS-结束字符16H
}; };
unitData.HexMessageString = string.Join(" ", unitData.HexMessageList); unitData.HexMessageString = string.Join(" ", unitData.HexMessageList);
} }

View File

@ -15,6 +15,7 @@ using System.Threading.Tasks;
using JiShe.CollectBus.Protocol; using JiShe.CollectBus.Protocol;
using TouchSocket.Sockets; using TouchSocket.Sockets;
using JiShe.CollectBus.Protocol.Dto; using JiShe.CollectBus.Protocol.Dto;
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
namespace JiShe.CollectBus.Subscribers namespace JiShe.CollectBus.Subscribers
{ {
@ -146,7 +147,7 @@ namespace JiShe.CollectBus.Subscribers
var executor = _serviceProvider.GetRequiredService<AnalysisStrategyContext>(); var executor = _serviceProvider.GetRequiredService<AnalysisStrategyContext>();
await executor.ExecuteAsync<TB3761>(serverName, receivedMessage.Data, (result) => await executor.ExecuteAsync<TB3761>(serverName, receivedMessage.Data, (result) =>
{ {
var ssss = (UnitDataAnalysis<string>)result; var ssss = (UnitDataAnalysis<AnalysisBaseDto<string>>)result;
_logger.LogInformation($"解析AFN02H数据{ssss.Serialize()}"); _logger.LogInformation($"解析AFN02H数据{ssss.Serialize()}");
}); });
return SubscribeAck.Success(); return SubscribeAck.Success();

View File

@ -47,14 +47,14 @@ namespace JiShe.CollectBus.Protocol.Contracts.Protocol.Dto
public int ProjectId { get; set; } public int ProjectId { get; set; }
/// <summary> /// <summary>
/// 电表ID /// 设备ID(电表ID,水表ID气表ID集中器ID等)
/// </summary> /// </summary>
public int MeterId { get; set; } public int DeviceId { get; set; }
/// <summary> /// <summary>
/// 类型 /// 设备类型
/// </summary> /// </summary>
public MeterTypeEnum MeterType { get; set;} public MeterTypeEnum DeviceType { get; set;}
/// <summary> /// <summary>

View File

@ -88,7 +88,7 @@ namespace JiShe.CollectBus.Common.Consts
public const string CDL = "CDL"; public const string CDL = "CDL";
public const string LXDL = "LXDL"; public const string LXDL = "LXDL";
public const string PowerGridFrequency = "PowerGridFrequency"; public const string DWPL = "DWPL";
public const string Ua = "Ua"; public const string Ua = "Ua";
public const string Ub = "Ub"; public const string Ub = "Ub";
@ -141,7 +141,7 @@ namespace JiShe.CollectBus.Common.Consts
public const string CDL = "0D_94"; //C相电流曲线 public const string CDL = "0D_94"; //C相电流曲线
public const string LXDL = "0D_95"; // 零序电流 public const string LXDL = "0D_95"; // 零序电流
public const string PowerGridFrequency = "10_97"; //电网频率 public const string DWPL = "10_97"; //电网频率
public const string Ua = "0C_49_Uab_Ua"; // 当前电压、电流相位角 public const string Ua = "0C_49_Uab_Ua"; // 当前电压、电流相位角
public const string Ub = "0C_49_Ub"; // 当前电压、电流相位角 public const string Ub = "0C_49_Ub"; // 当前电压、电流相位角
@ -152,6 +152,48 @@ namespace JiShe.CollectBus.Common.Consts
} }
#endregion /// <summary>
/// IOTDB数据树类型
/// </summary>
public class IOTDBDataType
{
/// <summary>
/// 数据
/// </summary>
public const string Data = "Data";
/// <summary>
/// 事件
/// </summary>
public const string Event = "Event";
/// <summary>
/// 状态
/// </summary>
public const string Status = "Status";
}
/// <summary>
/// 集中器状态字段
/// </summary>
public class ConcentratorStatusFieldConst
{
/// <summary>
/// 记录时间
/// </summary>
public const string RecordingTime = "RecordingTime";
/// <summary>
/// 帧数据
/// </summary>
public const string FrameData = "FrameData";
/// <summary>
/// 备注
/// </summary>
public const string Remark="Remark";
}
#endregion
} }
} }

View File

@ -49,5 +49,10 @@ namespace JiShe.CollectBus.Common.Enums
/// 采集器 /// 采集器
/// </summary> /// </summary>
Collector = 9, Collector = 9,
/// <summary>
/// 集中器
/// </summary>
Focus = 10,
} }
} }

View File

@ -16,7 +16,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> <link href="libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<title>后端服务</title> <title>后端服务</title>
</head> </head>
<body> <body>