解析错误数据保存NULL
This commit is contained in:
parent
91386007ae
commit
3488b0012a
@ -33,7 +33,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input);
|
ArgumentNullException.ThrowIfNull(input);
|
||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
ArgumentNullException.ThrowIfNull(input.A.A3?.D1_D7);
|
ArgumentNullException.ThrowIfNull(input.A.A3?.D1_D7);
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -48,7 +48,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
TimeDensity = 0
|
TimeDensity = 0
|
||||||
};
|
};
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
List<AnalysisBaseDto<decimal>> list = GenerateFinalResult(2, datas, "正向有功电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
List<AnalysisBaseDto<decimal?>> list = GenerateFinalResult(2, datas, "正向有功电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
||||||
unitDataAnalysis.Data= list;
|
unitDataAnalysis.Data= list;
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
@ -90,22 +90,32 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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?>
|
||||||
|
{
|
||||||
decimal value = 0;
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
|
{
|
||||||
|
meter.ErrorCodeMsg= errorCode.Item2;
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
||||||
meter.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00";
|
||||||
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
|
{
|
||||||
|
meter.TimeSpan = readingDate;
|
||||||
|
}
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
list.Add(meter);
|
list.Add(meter);
|
||||||
|
|||||||
@ -31,8 +31,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input);
|
ArgumentNullException.ThrowIfNull(input);
|
||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
List<AnalysisBaseDto<decimal>> list = GenerateFinalResult(2, datas, "正向无功电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
List<AnalysisBaseDto<decimal?>> list = GenerateFinalResult(2, datas, "正向无功电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -78,21 +78,30 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
|
{
|
||||||
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
||||||
meter.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00"
|
||||||
|
if(DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
|
meter.TimeSpan = readingDate;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
list.Add(meter);
|
list.Add(meter);
|
||||||
|
|||||||
@ -6,6 +6,8 @@ using JiShe.CollectBus.Protocol.Interfaces;
|
|||||||
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
||||||
{
|
{
|
||||||
@ -30,8 +32,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input);
|
ArgumentNullException.ThrowIfNull(input);
|
||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
List<AnalysisBaseDto<decimal>> list = GenerateFinalResult(2, datas, "反向有功总电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
List<AnalysisBaseDto<decimal?>> list = GenerateFinalResult(2, datas, "反向有功总电能示值", input.AFN_FC.AFN, input.DT.Fn);
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -78,21 +80,30 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(int index, List<string> data, string filedDesc = "", int afn = 0, int fn = 0)
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
|
{
|
||||||
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
meter.DataType = $"{afn.ToString().PadLeft(2, '0')}_{fn}_{i - index}";
|
||||||
meter.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00";
|
||||||
|
if(DateTime.TryParse(timeSpan, out DateTime readTime))
|
||||||
|
meter.TimeSpan = readTime;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
list.Add(meter);
|
list.Add(meter);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ using JiShe.CollectBus.Protocol.Interfaces;
|
|||||||
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
||||||
{
|
{
|
||||||
@ -34,9 +35,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
List<AnalysisBaseDto<decimal?>> list = GenerateFinalResult(2, datas, "反向无功电能示值", dataType);
|
||||||
List<AnalysisBaseDto<decimal>> list = GenerateFinalResult(2, datas, "反向无功电能示值", dataType);
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -82,21 +82,33 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(int index, List<string> data, string dataType, string filedDesc = "")
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(int index, List<string> data, string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
|
{
|
||||||
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
|
||||||
meter.DataType = $"{dataType}_{i - index}";
|
meter.DataType = $"{dataType}_{i - index}";
|
||||||
meter.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00";
|
||||||
|
if (DateTime.TryParse(timeSpan,out DateTime readingDate))
|
||||||
|
{
|
||||||
|
meter.TimeSpan = readingDate;
|
||||||
|
}
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
list.Add(meter);
|
list.Add(meter);
|
||||||
|
|||||||
@ -35,8 +35,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "当月正向有功最大需量及发生时间", dataType);
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(datas, "当月正向有功最大需量及发生时间", dataType);
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -96,19 +96,25 @@ 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?>
|
||||||
|
{
|
||||||
decimal value = 0;
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCode = data[2].CheckErrorCode();
|
var errorCode = data[2].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
|
{
|
||||||
|
dto.ErrorCodeMsg = errorCode.Item2;
|
||||||
dto.ValidData = false;
|
dto.ValidData = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[2], out value);
|
{
|
||||||
|
if(decimal.TryParse(data[2], out decimal value))
|
||||||
dto.DataValue = value;
|
dto.DataValue = value;
|
||||||
string timeSpan = $"{DateTime.Now.Year}-{data[3].Substring(0, 2)}-{data[3].Substring(2, 2)} {data[3].Substring(4, 2)}:{data[3].Substring(6, 2)}:00";//$"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)}";
|
}
|
||||||
|
|
||||||
|
string timeSpan = $"{DateTime.Now.Year}-{data[3].Substring(0, 2)}-{data[3].Substring(2, 2)} {data[3].Substring(4, 2)}:{data[3].Substring(6, 2)}:00";
|
||||||
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
dto.TimeSpan = readingDate;
|
dto.TimeSpan = readingDate;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
List<string> datas = await AnalysisDataUnit(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnit(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, dataType,"上月(上一结算日)正向有功最大需量及发生时间");
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(datas, dataType,"上月(上一结算日)正向有功最大需量及发生时间");
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||||
if (ammeterInfo != null)
|
if (ammeterInfo != null)
|
||||||
@ -48,7 +48,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
data.DatabaseBusiID=ammeterInfo.DatabaseBusiID;
|
data.DatabaseBusiID=ammeterInfo.DatabaseBusiID;
|
||||||
data.DeviceAddress= ammeterInfo.AmmerterAddress;
|
data.DeviceAddress= ammeterInfo.AmmerterAddress;
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -63,7 +63,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
DensityUnit = DensityUnit.Second,
|
DensityUnit = DensityUnit.Second,
|
||||||
TimeDensity = 0
|
TimeDensity = 0
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -110,10 +110,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
public AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>();
|
AnalysisBaseDto<decimal?> dto = new AnalysisBaseDto<decimal?>
|
||||||
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCodeInfo = data[2].CheckErrorCode();
|
var errorCodeInfo = data[2].CheckErrorCode();
|
||||||
if (errorCodeInfo != null)
|
if (errorCodeInfo != null)
|
||||||
{
|
{
|
||||||
@ -133,7 +135,6 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
string timeSpan = $"{DateTime.Now.Year}-{data[3].Substring(0, 2)}-{data[3].Substring(2, 2)} {data[3].Substring(4, 2)}:{data[3].Substring(6, 2)}:00";
|
string timeSpan = $"{DateTime.Now.Year}-{data[3].Substring(0, 2)}-{data[3].Substring(2, 2)} {data[3].Substring(4, 2)}:{data[3].Substring(6, 2)}:00";
|
||||||
|
|
||||||
//TODO:时间标
|
//TODO:时间标
|
||||||
if (!DateTime.TryParse(timeSpan, out DateTime dataTime))
|
if (!DateTime.TryParse(timeSpan, out DateTime dataTime))
|
||||||
dto.ValidData = false;
|
dto.ValidData = false;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using JiShe.CollectBus.Protocol.Dto;
|
|||||||
using JiShe.CollectBus.Protocol.Interfaces;
|
using JiShe.CollectBus.Protocol.Interfaces;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
||||||
{
|
{
|
||||||
@ -34,8 +35,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input.AFN_FC.AFN);
|
ArgumentNullException.ThrowIfNull(input.AFN_FC.AFN);
|
||||||
ArgumentNullException.ThrowIfNull(input.DT.Fn);
|
ArgumentNullException.ThrowIfNull(input.DT.Fn);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(input.UnitData.HexMessageList, dataType);
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(input.UnitData.HexMessageList, dataType);
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> dto = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> dto = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -58,10 +59,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
}
|
}
|
||||||
return await Task.FromResult(false);
|
return await Task.FromResult(false);
|
||||||
}
|
}
|
||||||
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> hexMessageList,string dataType)
|
public AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> hexMessageList,string dataType)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>();
|
AnalysisBaseDto<decimal?> dto = new AnalysisBaseDto<decimal?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.WaterMeter
|
||||||
|
};
|
||||||
var arr = hexMessageList.GetRange(11, 4);
|
var arr = hexMessageList.GetRange(11, 4);
|
||||||
var errorCodeInfo = arr.CheckErrorCode();
|
var errorCodeInfo = arr.CheckErrorCode();
|
||||||
if (errorCodeInfo != null)
|
if (errorCodeInfo != null)
|
||||||
@ -70,9 +73,10 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse($"{arr[11]}{arr[12]}{arr[13]}.{arr[14]}", out value);
|
{
|
||||||
|
if (decimal.TryParse($"{arr[11]}{arr[12]}{arr[13]}.{arr[14]}", out decimal value))
|
||||||
dto.DataValue = value;
|
dto.DataValue = value;
|
||||||
|
}
|
||||||
dto.DataType = dataType;
|
dto.DataType = dataType;
|
||||||
dto.FiledDesc = "水示值";
|
dto.FiledDesc = "水示值";
|
||||||
dto.FiledName = dto.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
dto.FiledName = dto.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
|
|||||||
@ -1,11 +1,14 @@
|
|||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
using JiShe.CollectBus.Common.Extensions;
|
using JiShe.CollectBus.Common.Extensions;
|
||||||
|
using JiShe.CollectBus.Common.Helpers;
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
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.Appendix;
|
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
||||||
{
|
{
|
||||||
@ -32,13 +35,15 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
ArgumentNullException.ThrowIfNull(input);
|
ArgumentNullException.ThrowIfNull(input);
|
||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
List<string> remarks = new List<string>() { "当前总有功功率", "当前A相有功功率", "当前B相有功功率", "当前C相有功功率", "当前总无功功率", "当前A相无功功率", "当前B相无功功率", "当前C相无功功率", "当前总功率因数", "当前A相功率因数", "当前B相功率因数", "当前C相功率因数", "当前A相电压", "当前B相电压", "当前C相电压", "当前A相电流", "当前C相电流", "当前 C相电流", "当前零序电流", "当前总视在功率", "当前A相视在功率", "当前B相视在功率", "当前C相视在功率" };
|
List<string> remarks = new List<string>() { "当前总有功功率", "当前A相有功功率", "当前B相有功功率", "当前C相有功功率", "当前总无功功率", "当前A相无功功率", "当前B相无功功率", "当前C相无功功率", "当前总功率因数", "当前A相功率因数", "当前B相功率因数", "当前C相功率因数", "当前A相电压", "当前B相电压", "当前C相电压", "当前A相电流", "当前C相电流", "当前 C相电流", "当前零序电流", "当前总视在功率", "当前A相视在功率", "当前B相视在功率", "当前C相视在功率" };
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
List<string> data = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> data = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
|
|
||||||
for (int i = 1; i < data.Count; i++)
|
for (int i = 1; i < data.Count; i++)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>();
|
AnalysisBaseDto<decimal?> dto = new AnalysisBaseDto<decimal?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCodeInfo = data[i].CheckErrorCode();
|
var errorCodeInfo = data[i].CheckErrorCode();
|
||||||
if (errorCodeInfo != null)
|
if (errorCodeInfo != null)
|
||||||
{
|
{
|
||||||
@ -46,15 +51,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
dto.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
dto.DataValue = value;
|
||||||
|
}
|
||||||
|
|
||||||
dto.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}_{DataType[i-1]}";
|
dto.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}_{DataType[i-1]}";
|
||||||
dto.FiledName = DataType[i - 1];
|
dto.FiledName = DataType[i - 1].GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
dto.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
dto.TimeSpan = Convert.ToDateTime($"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} {data[0].Substring(8, 2)}:{data[0].Substring(10, 2)}:00");
|
||||||
dto.FiledDesc = remarks[i - 1];
|
dto.FiledDesc = remarks[i - 1];
|
||||||
list.Add(dto);
|
list.Add(dto);
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
using JiShe.CollectBus.Common.Extensions;
|
using JiShe.CollectBus.Common.Extensions;
|
||||||
|
using JiShe.CollectBus.Common.Helpers;
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
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.Appendix;
|
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
||||||
{
|
{
|
||||||
@ -33,27 +35,30 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
|||||||
|
|
||||||
List<string> data = await AnalysisDataUnitAsync(input.UnitData?.HexMessageList!);
|
List<string> data = await AnalysisDataUnitAsync(input.UnitData?.HexMessageList!);
|
||||||
List<string> remarks = new List<string>() { "Uab/Ua 相位角", "Ub 相位角", "Ucb/Uc 相位角", "Ia 相位角", "Ib 相位角", "Ic 相位角" };
|
List<string> remarks = new List<string>() { "Uab/Ua 相位角", "Ub 相位角", "Ucb/Uc 相位角", "Ia 相位角", "Ib 相位角", "Ic 相位角" };
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
for (int i = 0; i < data.Count; i++)
|
for (int i = 0; i < data.Count; i++)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> dto = new AnalysisBaseDto<decimal>();
|
AnalysisBaseDto<decimal?> dto = new AnalysisBaseDto<decimal?>
|
||||||
decimal value = 0;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
|
};
|
||||||
var errorCodeInfo = data[i].CheckErrorCode();
|
var errorCodeInfo = data[i].CheckErrorCode();
|
||||||
if (errorCodeInfo != null)
|
if (errorCodeInfo != null)
|
||||||
{
|
{
|
||||||
dto.ValidData = false;
|
dto.ValidData = false;
|
||||||
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
dto.ErrorCodeMsg = errorCodeInfo.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
dto.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
dto.DataValue = value;
|
||||||
|
}
|
||||||
dto.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}_{DataType[i]}";
|
dto.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}_{DataType[i]}";
|
||||||
dto.FiledName = DataType[i];
|
dto.FiledName = DataType[i].GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
dto.FiledDesc= remarks[i];
|
dto.FiledDesc= remarks[i];
|
||||||
list.Add(dto);
|
list.Add(dto);
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能量");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能量");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -56,7 +56,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -71,7 +71,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能示值");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
|
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能示值");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
|
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能示值");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向无功总电能示值");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "功率因数");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "功率因数");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相功率因数");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相功率因数");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相功率因数");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相功率因数");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相功率因数");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相功率因数");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ using JiShe.CollectBus.Protocol.Interfaces;
|
|||||||
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
using JiShe.CollectBus.Protocol.T37612012.Appendix;
|
||||||
using JiShe.CollectBus.Protocol3761;
|
using JiShe.CollectBus.Protocol3761;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||||
{
|
{
|
||||||
@ -35,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
List<AnalysisBaseDto<decimal>> data = GenerateFinalResult(datas,3, dataType, "抄表日冻结电能表正向有功最大需量及发生时间");
|
List<AnalysisBaseDto<decimal?>> data = GenerateFinalResult(datas,3, dataType, "抄表日冻结电能表正向有功最大需量及发生时间");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -52,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -86,18 +87,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 13;
|
int handlerNum = 13;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//12
|
handlerNum += 3 * (ratingCount + 1);//12
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);//28
|
handlerNum += 4 * (ratingCount + 1);//28
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//48
|
handlerNum += 3 * (ratingCount + 1);//48
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
@ -108,7 +109,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
values.Add(errorCode.Item1);
|
values.Add(errorCode.Item1);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await _analysisStrategyContext.ExecuteAsync<List<string>>(nameof(Appendix_A5), arr, (value) =>
|
await _analysisStrategyContext.ExecuteAsync<List<string>>(appendixName, arr, (value) =>
|
||||||
{
|
{
|
||||||
values.Add(value.ToString());
|
values.Add(value.ToString());
|
||||||
});
|
});
|
||||||
@ -117,19 +118,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(List<string> data, int index, string dataType, string filedDesc = "")
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(List<string> data, int index, string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
int fCount = Convert.ToInt32(data[2]) + 1;
|
int fCount = Convert.ToInt32(data[2]) + 1;
|
||||||
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?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
};
|
};
|
||||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||||
|
|
||||||
decimal value = 0;
|
|
||||||
var errorCode = data[startIndex].CheckErrorCode();
|
var errorCode = data[startIndex].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -137,12 +137,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[startIndex], out value);
|
{
|
||||||
|
if(decimal.TryParse(data[startIndex], out decimal value))
|
||||||
meter.DataValue = value;
|
{
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
string timeSpan = $"{DateTime.Now.Year}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
string timeSpan = $"{DateTime.Now.Year}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
||||||
DateTime readingDate = DateTime.Now;
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
if (DateTime.TryParse(timeSpan, out readingDate))
|
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "一象限无功电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "一象限无功电能示值");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,13 +31,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(input);
|
ArgumentNullException.ThrowIfNull(input);
|
||||||
|
ArgumentNullException.ThrowIfNull(input.A.Code);
|
||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "四象限无功电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "四象限无功电能示值");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "二象限无功电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "二象限无功电能示值");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "三象限无功电能示值");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "三象限无功电能示值");
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType,timeSpan, "正向有功总电能示值").IsValidData(new List<string>() { "0D_161", "0D_161_1", "0D_161_2", "0D_161_3", "0D_161_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType,timeSpan, "正向有功总电能示值").IsValidData(new List<string>() { "0D_161", "0D_161_1", "0D_161_2", "0D_161_3", "0D_161_4" });
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "正向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_162", "0D_162_1", "0D_162_2", "0D_162_3", "0D_162_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "正向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_162", "0D_162_1", "0D_162_2", "0D_162_3", "0D_162_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List<string>() { "0D_163", "0D_163_1", "0D_163_2", "0D_163_3", "0D_163_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List<string>() { "0D_163", "0D_163_1", "0D_163_2", "0D_163_3", "0D_163_4" });
|
||||||
|
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结反向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_164", "0D_164_1", "0D_164_2", "0D_164_3", "0D_164_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结反向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_164", "0D_164_1", "0D_164_2", "0D_164_3", "0D_164_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结一象限无功电能示值").IsValidData(new List<string>() { "0D_165", "0D_165_1", "0D_165_2", "0D_165_3", "0D_165_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结一象限无功电能示值").IsValidData(new List<string>() { "0D_165", "0D_165_1", "0D_165_2", "0D_165_3", "0D_165_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结二象限无功电能示值").IsValidData(new List<string>() { "0D_166", "0D_166_1", "0D_166_2", "0D_166_3", "0D_166_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结二象限无功电能示值").IsValidData(new List<string>() { "0D_166", "0D_166_1", "0D_166_2", "0D_166_3", "0D_166_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结三象限无功电能示值").IsValidData(new List<string>() { "0D_167", "0D_167_1", "0D_167_2", "0D_167_3", "0D_167_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结三象限无功电能示值").IsValidData(new List<string>() { "0D_167", "0D_167_1", "0D_167_2", "0D_167_3", "0D_167_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结四象限无功电能示值").IsValidData(new List<string>() { "0D_168", "0D_168_1", "0D_168_2", "0D_168_3", "0D_168_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "日冻结四象限无功电能示值").IsValidData(new List<string>() { "0D_168", "0D_168_1", "0D_168_2", "0D_168_3", "0D_168_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向有功电能示值").IsValidData(new List<string>() { "0D_177", "0D_177_1", "0D_177_2", "0D_177_3", "0D_177_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向有功电能示值").IsValidData(new List<string>() { "0D_177", "0D_177_1", "0D_177_2", "0D_177_3", "0D_177_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -51,7 +51,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -66,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_178", "0D_178_1", "0D_178_2", "0D_178_3", "0D_178_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结正向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_178", "0D_178_1", "0D_178_2", "0D_178_3", "0D_178_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List<string>() { "0D_179", "0D_179_1", "0D_179_2", "0D_179_3", "0D_179_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "反向有功总电能示值").IsValidData(new List<string>() { "0D_179", "0D_179_1", "0D_179_2", "0D_179_3", "0D_179_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结反向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_180", "0D_180_1", "0D_180_2", "0D_180_3", "0D_180_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结反向无功(组合无功 1)电能示值").IsValidData(new List<string>() { "0D_180", "0D_180_1", "0D_180_2", "0D_180_3", "0D_180_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -51,7 +51,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -66,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结一象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_181", "0D_181_1", "0D_181_2", "0D_181_3", "0D_181_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结一象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_181", "0D_181_1", "0D_181_2", "0D_181_3", "0D_181_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结二象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_182", "0D_182_1", "0D_182_2", "0D_182_3", "0D_182_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结二象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_182", "0D_182_1", "0D_182_2", "0D_182_3", "0D_182_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结三象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_183", "0D_183_1", "0D_183_2", "0D_183_3", "0D_183_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结三象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_183", "0D_183_1", "0D_183_2", "0D_183_3", "0D_183_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -51,7 +51,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -66,7 +66,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
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";
|
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-01 00:00:00";
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结四象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_184", "0D_184_1", "0D_184_2", "0D_184_3", "0D_184_4" });
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_m(3, dataType, timeSpan, "月冻结四象限无功电能示值(总、费率 1~M)").IsValidData(new List<string>() { "0D_184", "0D_184_1", "0D_184_2", "0D_184_3", "0D_184_4" });
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -52,7 +52,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -67,7 +67,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
string timeSpan = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
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}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "抄表日冻结正向有功最大需量及发生时间");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_d(3, dataType, timeSpan, "抄表日冻结正向有功最大需量及发生时间");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +53,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +68,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -87,13 +87,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(12, 1);
|
int ratingCount = hexMessageList.GetRatingCount(12, 1);
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 13;
|
int handlerNum = 13;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3;
|
handlerNum += 3;
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
|
|||||||
@ -34,10 +34,9 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "抄表日冻结正向无功最大需量及发生时间");
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(datas, "抄表日冻结正向无功最大需量及发生时间", dataType);
|
||||||
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
|
||||||
|
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||||
if (ammeterInfo != null)
|
if (ammeterInfo != null)
|
||||||
@ -47,7 +46,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||||
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -62,7 +61,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -81,18 +80,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(12, 1);
|
int ratingCount = hexMessageList.GetRatingCount(12, 1);
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 13;
|
int handlerNum = 13;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//12
|
handlerNum += 3 * (ratingCount + 1);//12
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);//28
|
handlerNum += 4 * (ratingCount + 1);//28
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//48
|
handlerNum += 3 * (ratingCount + 1);//48
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
@ -112,15 +111,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data, string filedDesc = "")
|
public AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> data, string filedDesc,string dataType)
|
||||||
{
|
{
|
||||||
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?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
};
|
};
|
||||||
|
|
||||||
decimal value = 0;
|
|
||||||
var errorCode = data[3].CheckErrorCode();
|
var errorCode = data[3].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -128,15 +125,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[3], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[3], out decimal value))
|
||||||
|
{
|
||||||
string timeSpan = $"{DateTime.Now.Year}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";//$"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)}";
|
meter.DataValue = value;
|
||||||
DateTime readingDate = DateTime.Now;
|
}
|
||||||
if (DateTime.TryParse(timeSpan, out readingDate))
|
}
|
||||||
|
string timeSpan = $"{DateTime.Now.Year}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";
|
||||||
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
}
|
}
|
||||||
|
meter.DataType = dataType;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
return meter;
|
return meter;
|
||||||
|
|||||||
@ -35,9 +35,9 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间");
|
|
||||||
data.DataType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间", dataType);
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||||
if (ammeterInfo != null)
|
if (ammeterInfo != null)
|
||||||
@ -47,7 +47,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||||
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -62,7 +62,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -83,13 +83,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 12;
|
int handlerNum = 12;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3), 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3), 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3;
|
handlerNum += 3;
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4), 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4), 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
var errorCode = data.CheckErrorCode();
|
var errorCode = data.CheckErrorCode();
|
||||||
@ -104,14 +104,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data, string filedDesc = "")
|
public AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> data, string filedDesc, string dataType)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
AnalysisBaseDto<decimal?> meter = new AnalysisBaseDto<decimal?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter,
|
DeviceType = MeterTypeEnum.Ammeter,
|
||||||
};
|
};
|
||||||
|
|
||||||
decimal value = 0;
|
|
||||||
var errorCode = data[3].CheckErrorCode();
|
var errorCode = data[3].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -119,15 +117,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[3], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[3], out decimal value))
|
||||||
|
{
|
||||||
string timeSpan = $"{data[0].Substring(0, 4)}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";//$"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)}";
|
meter.DataValue = value;
|
||||||
DateTime readingDate = DateTime.Now;
|
}
|
||||||
if (DateTime.TryParse(timeSpan, out readingDate))
|
}
|
||||||
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";
|
||||||
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
}
|
}
|
||||||
|
meter.DataType = dataType;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
return meter;
|
return meter;
|
||||||
|
|||||||
@ -35,10 +35,10 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间");
|
AnalysisBaseDto<decimal?> data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间", dataType);
|
||||||
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
// 查询电表信息
|
||||||
// 查询电表信息
|
|
||||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||||
if (ammeterInfo != null)
|
if (ammeterInfo != null)
|
||||||
{
|
{
|
||||||
@ -47,7 +47,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||||
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -62,7 +62,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Month,
|
DensityUnit = DensityUnit.Month,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -83,13 +83,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 12;
|
int handlerNum = 12;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3), 3,nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3), 3,nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3;
|
handlerNum += 3;
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4), 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4), 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
var errorCode = data.CheckErrorCode();
|
var errorCode = data.CheckErrorCode();
|
||||||
@ -104,14 +104,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
}
|
}
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
public AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data, string filedDesc = "")
|
public AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> data, string filedDesc,string dataType)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
AnalysisBaseDto<decimal?> meter = new AnalysisBaseDto<decimal?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
};
|
};
|
||||||
|
|
||||||
decimal value = 0;
|
|
||||||
var errorCode = data[3].CheckErrorCode();
|
var errorCode = data[3].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -119,15 +117,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[3], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[3], out decimal value))
|
||||||
|
{
|
||||||
string timeSpan = $"{data[0].Substring(0, 4)}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";//$"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)}";
|
meter.DataValue = value;
|
||||||
DateTime readingDate = DateTime.Now;
|
}
|
||||||
if (DateTime.TryParse(timeSpan, out readingDate))
|
}
|
||||||
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[4].Substring(0, 2)}-{data[4].Substring(2, 2)} {data[4].Substring(4, 2)}:{data[4].Substring(6, 2)}:00";
|
||||||
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
}
|
}
|
||||||
|
meter.DataType = dataType;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
return meter;
|
return meter;
|
||||||
|
|||||||
@ -10,6 +10,7 @@ using System.Data;
|
|||||||
using JiShe.CollectBus.Common.Extensions;
|
using JiShe.CollectBus.Common.Extensions;
|
||||||
using JiShe.CollectBus.IotSystems.Ammeters;
|
using JiShe.CollectBus.IotSystems.Ammeters;
|
||||||
using JiShe.CollectBus.Common.Helpers;
|
using JiShe.CollectBus.Common.Helpers;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||||
{
|
{
|
||||||
@ -37,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
|
|
||||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
List<AnalysisBaseDto<decimal>> data = GenerateFinalResult(datas, dataType, "月冻结电能表正向有功最大需量及发生时间");
|
List<AnalysisBaseDto<decimal?>> data = GenerateFinalResult(datas, dataType, "月冻结电能表正向有功最大需量及发生时间");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -53,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -68,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -87,18 +88,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
int ratingCount = hexMessageList.GetRatingCount(11, 1);
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 12;
|
int handlerNum = 12;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);
|
handlerNum += 3 * (ratingCount + 1);
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);
|
handlerNum += 3 * (ratingCount + 1);
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
@ -118,16 +119,15 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(List<string> data, string dataType,string filedDesc = "")
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(List<string> data, string dataType,string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
int fCount = Convert.ToInt32(data[2]) + 1;
|
int fCount = Convert.ToInt32(data[2]) + 1;
|
||||||
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.DeviceType= 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;
|
|
||||||
var errorCode = data[startIndex].CheckErrorCode();
|
var errorCode = data[startIndex].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -135,17 +135,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[startIndex], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[startIndex], out decimal value))
|
||||||
//2021 01 15
|
{
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
string timeSpan = $"{DateTime.Now.Year}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
string timeSpan = $"{DateTime.Now.Year}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
||||||
DateTime readingDate = DateTime.Now;
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
if (DateTime.TryParse(timeSpan, out readingDate))
|
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
}
|
}
|
||||||
meter.DataType = i == 1 ? dataType : $"{dataType}_{ i - 1}";
|
meter.DataType = i == 1 ? dataType : $"{dataType}_{ i - 1}";
|
||||||
|
|
||||||
filedDesc = i == 1 ? filedDesc : filedDesc.Replace("有功", "无功");
|
filedDesc = i == 1 ? filedDesc : filedDesc.Replace("有功", "无功");
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
|
|||||||
@ -41,7 +41,7 @@ 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";
|
var time = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = GenerateFinalResult(datas,dataType, "日冻结正向有/无功最大需量及发生时间");
|
List<AnalysisBaseDto<decimal?>> data = GenerateFinalResult(datas,dataType, "日冻结正向有/无功最大需量及发生时间");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -57,7 +57,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -72,7 +72,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -92,18 +92,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 13;
|
int handlerNum = 13;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//12
|
handlerNum += 3 * (ratingCount + 1);//12
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);//28
|
handlerNum += 4 * (ratingCount + 1);//28
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//48
|
handlerNum += 3 * (ratingCount + 1);//48
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
@ -123,61 +123,52 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
int fCount = Convert.ToInt32(data[2]) + 1;
|
int fCount = Convert.ToInt32(data[2]) + 1;
|
||||||
for (int i = 1; i <= 2; i++)
|
for (int i = 1; i <= 2; i++)
|
||||||
{
|
{
|
||||||
try
|
AnalysisBaseDto<decimal?> meter = new AnalysisBaseDto<decimal?>
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
{
|
};
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||||
};
|
|
||||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
|
||||||
|
|
||||||
var errorCode = data[startIndex].CheckErrorCode();
|
var errorCode = data[startIndex].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
decimal.TryParse(data[startIndex], out decimal value);//decimal.TryParse(data[startIndex], out value);
|
if(decimal.TryParse(data[startIndex], out decimal value))
|
||||||
meter.DataValue = value;
|
meter.DataValue = value;
|
||||||
|
|
||||||
//TODO:日冻结类数据时标Td 20210824
|
//TODO:日冻结类数据时标Td
|
||||||
var dataTime = string.Empty;
|
var dataTime = string.Empty;
|
||||||
errorCode = data[0].CheckErrorCode();
|
errorCode = data[0].CheckErrorCode();
|
||||||
if (data[0].Length == 8 && errorCode is null)
|
if (data[0].Length == 8 && errorCode is null)
|
||||||
dataTime = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} 00:00:00";
|
dataTime = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} 00:00:00";
|
||||||
if (!DateTime.TryParse(dataTime, out DateTime readingDate))
|
if (DateTime.TryParse(dataTime, out DateTime readingDate))
|
||||||
meter.ValidData = false;
|
meter.TimeSpan = readingDate;
|
||||||
meter.TimeSpan = readingDate;//
|
else
|
||||||
|
meter.ValidData = false;
|
||||||
//TODO:最大需量发生时间
|
//TODO:最大需量发生时间
|
||||||
errorCode = data[startIndex + fCount].CheckErrorCode();
|
errorCode = data[startIndex + fCount].CheckErrorCode();
|
||||||
if (errorCode != null && data[startIndex + fCount].Length != 8)
|
if (errorCode != null && data[startIndex + fCount].Length != 8)
|
||||||
|
meter.ValidData = false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string timeSpan = $"{data[0].Substring(0, 4)}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
||||||
|
if (!DateTime.TryParse(timeSpan, out DateTime tsField))
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
else
|
else
|
||||||
{
|
meter.TimeSpan=tsField;
|
||||||
string timeSpan = $"{data[0].Substring(0, 4)}-{data[startIndex + fCount].Substring(0, 2)}-{data[startIndex + fCount].Substring(2, 2)} {data[startIndex + fCount].Substring(4, 2)}:{data[startIndex + fCount].Substring(6, 2)}:00";
|
|
||||||
if (!DateTime.TryParse(timeSpan, out DateTime tsField))
|
|
||||||
meter.ValidData = false;
|
|
||||||
else
|
|
||||||
meter.TimeSpan=tsField;
|
|
||||||
}
|
|
||||||
|
|
||||||
meter.DataType = i == 1 ? dataType : $"{dataType}_{ i - 1}";
|
|
||||||
filedDesc = i == 1 ? filedDesc : filedDesc.Replace("有功", "无功");
|
|
||||||
meter.FiledDesc = filedDesc;
|
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
|
||||||
list.Add(meter);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
meter.DataType = i == 1 ? dataType : $"{dataType}_{ i - 1}";
|
||||||
|
filedDesc = i == 1 ? filedDesc : filedDesc.Replace("有功", "无功");
|
||||||
|
meter.FiledDesc = filedDesc;
|
||||||
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
|
list.Add(meter);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (list.Count == 0)
|
|
||||||
throw new Exception("错误数据");
|
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ 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";
|
var time = $"{datas[0].Substring(0, 4)}-{datas[0].Substring(4, 2)}-{datas[0].Substring(6, 2)} 00:00:00";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = GenerateFinalResult(datas, dataType, "日冻结反向有/无功最大需量及发生时间");
|
List<AnalysisBaseDto<decimal?>> data = GenerateFinalResult(datas, dataType, "日冻结反向有/无功最大需量及发生时间");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -56,7 +56,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -71,7 +71,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Day,
|
DensityUnit = DensityUnit.Day,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -91,18 +91,18 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
int ratingCount = hexMessageList.GetRatingCount(12, 1);//费率数 M(1≤M≤12)
|
||||||
values.Add(ratingCount.ToString());
|
values.Add(ratingCount.ToString());
|
||||||
int handlerNum = 13;
|
int handlerNum = 13;
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向有功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//12
|
handlerNum += 3 * (ratingCount + 1);//12
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向有功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);//28
|
handlerNum += 4 * (ratingCount + 1);//28
|
||||||
values.AddRange(await GetDataAsync<decimal>(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 3 * (ratingCount + 1)), ratingCount, 3, nameof(Appendix_A23)));//正向无功总最大需量
|
||||||
handlerNum += 3 * (ratingCount + 1);//48
|
handlerNum += 3 * (ratingCount + 1);//48
|
||||||
values.AddRange(await GetDataAsync<string>(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
values.AddRange(await GetDataAsync(hexMessageList.GetRange(handlerNum, 4 * (ratingCount + 1)), ratingCount, 4, nameof(Appendix_A17)));//正向无功总最大需量发生时间
|
||||||
handlerNum += 4 * (ratingCount + 1);
|
handlerNum += 4 * (ratingCount + 1);
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<string>> GetDataAsync<T>(List<string> data, int ratingCount, int len, string appendixName)
|
private async Task<List<string>> GetDataAsync(List<string> data, int ratingCount, int len, string appendixName)
|
||||||
{
|
{
|
||||||
List<string> values = new List<string>();
|
List<string> values = new List<string>();
|
||||||
for (int i = 0; i < ratingCount + 1; i++)
|
for (int i = 0; i < ratingCount + 1; i++)
|
||||||
@ -122,13 +122,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AnalysisBaseDto<decimal>> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
public List<AnalysisBaseDto<decimal?>> GenerateFinalResult(List<string> data,string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
int fCount = Convert.ToInt32(data[2]) + 1;
|
int fCount = Convert.ToInt32(data[2]) + 1;
|
||||||
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?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
};
|
};
|
||||||
@ -140,17 +140,17 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
decimal.TryParse(data[startIndex], out decimal value);//decimal.TryParse(data[startIndex], out value);
|
if(decimal.TryParse(data[startIndex], out decimal value))
|
||||||
meter.DataValue = value;
|
meter.DataValue = value;
|
||||||
|
//TODO:日冻结类数据时标Td
|
||||||
//TODO:日冻结类数据时标Td 20210824
|
|
||||||
var dataTime = string.Empty;
|
var dataTime = string.Empty;
|
||||||
errorCode = data[0].CheckErrorCode();
|
errorCode = data[0].CheckErrorCode();
|
||||||
if (data[0].Length == 8 && errorCode is null)
|
if (data[0].Length == 8 && errorCode is null)
|
||||||
dataTime = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} 00:00:00";
|
dataTime = $"{data[0].Substring(0, 4)}-{data[0].Substring(4, 2)}-{data[0].Substring(6, 2)} 00:00:00";
|
||||||
if (!DateTime.TryParse(dataTime, out DateTime readingDate))
|
if (!DateTime.TryParse(dataTime, out DateTime readingDate))
|
||||||
meter.ValidData = false;
|
meter.ValidData = false;
|
||||||
meter.TimeSpan = readingDate;
|
else
|
||||||
|
meter.TimeSpan = readingDate;
|
||||||
|
|
||||||
//TODO:最大需量发生时间
|
//TODO:最大需量发生时间
|
||||||
errorCode = data[startIndex + fCount].CheckErrorCode();
|
errorCode = data[startIndex + fCount].CheckErrorCode();
|
||||||
@ -169,7 +169,6 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
list.Add(meter);
|
list.Add(meter);
|
||||||
|
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "有功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "有功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相有功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相有功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相有功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相有功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相有功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相有功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "无功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "无功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相无功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相无功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相无功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相无功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相无功功率曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相无功功率曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电压曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电压曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电压曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电压曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电压曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电压曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -54,7 +54,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -69,7 +69,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电流曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "A相电流曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电流曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "B相电流曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电流曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "C相电流曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "测量点零序电流曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "测量点零序电流曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能量曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向有功总电能量曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能量曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "正向无功总电能量曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
int density = Convert.ToInt32(Convert.ToInt32(datas[1]).GetEnumDescription(typeof(DensityEnums)));
|
||||||
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
string dataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||||
|
|
||||||
List<AnalysisBaseDto<decimal>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能量曲线");
|
List<AnalysisBaseDto<decimal?>> data = datas.GenerateFinalResultTd_c(3, density, dataType, "反向有功总电能量曲线");
|
||||||
if (data.Count > 0)
|
if (data.Count > 0)
|
||||||
{
|
{
|
||||||
// 查询电表信息
|
// 查询电表信息
|
||||||
@ -55,7 +55,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<List<AnalysisBaseDto<decimal>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal>>>
|
UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>> unitDataAnalysis = new UnitDataAnalysis<List<AnalysisBaseDto<decimal?>>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -70,7 +70,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
|||||||
DensityUnit = DensityUnit.Minute,
|
DensityUnit = DensityUnit.Minute,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveMultipleDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,9 @@ using static FreeSql.Internal.GlobalFilter;
|
|||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 透抄 电网频率
|
||||||
|
/// </summary>
|
||||||
public class AFN16_F97_Analysis : IAnalysisStrategy<TB3761>
|
public class AFN16_F97_Analysis : IAnalysisStrategy<TB3761>
|
||||||
{
|
{
|
||||||
private readonly ILogger<AFN16_F97_Analysis> _logger;
|
private readonly ILogger<AFN16_F97_Analysis> _logger;
|
||||||
@ -37,7 +40,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
|||||||
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
ArgumentNullException.ThrowIfNull(input.UnitData?.HexMessageList);
|
||||||
|
|
||||||
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.DeviceType.ToString(), "15");
|
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||||
if (ammeterInfo != null)
|
if (ammeterInfo != null)
|
||||||
@ -47,7 +50,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
|||||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||||
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
data.DeviceAddress = ammeterInfo.AmmerterAddress;
|
||||||
}
|
}
|
||||||
UnitDataAnalysis<AnalysisBaseDto<decimal>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal>>
|
UnitDataAnalysis<AnalysisBaseDto<decimal?>> unitDataAnalysis = new UnitDataAnalysis<AnalysisBaseDto<decimal?>>
|
||||||
{
|
{
|
||||||
Code = input.A.Code!,
|
Code = input.A.Code!,
|
||||||
AFN = input.AFN_FC.AFN,
|
AFN = input.AFN_FC.AFN,
|
||||||
@ -62,7 +65,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
|||||||
DensityUnit = DensityUnit.Hour,
|
DensityUnit = DensityUnit.Hour,
|
||||||
ReceivedTime = input.ReceivedTime
|
ReceivedTime = input.ReceivedTime
|
||||||
};
|
};
|
||||||
await _dataStorage.SaveDataToIotDbAsync<decimal>(unitDataAnalysis);
|
await _dataStorage.SaveDataToIotDbAsync<decimal?>(unitDataAnalysis);
|
||||||
result?.Invoke(unitDataAnalysis);
|
result?.Invoke(unitDataAnalysis);
|
||||||
return await Task.FromResult(true);
|
return await Task.FromResult(true);
|
||||||
}
|
}
|
||||||
@ -73,10 +76,10 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnalysisBaseDto<decimal> GenerateFinalResult(List<string> data)
|
private AnalysisBaseDto<decimal?> GenerateFinalResult(List<string> data)
|
||||||
{
|
{
|
||||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
|
AnalysisBaseDto<decimal?> meter = new AnalysisBaseDto<decimal?>();
|
||||||
decimal.TryParse(data[7], out decimal value);
|
|
||||||
var errorCode = data[7].CheckErrorCode();
|
var errorCode = data[7].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -84,7 +87,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
meter.DataValue = value;
|
{
|
||||||
|
if(decimal.TryParse(data[7], out decimal value))
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
|
||||||
meter.DataType = "10_97";
|
meter.DataType = "10_97";
|
||||||
meter.ValidData = data[2].Equals("91") || data[2].Equals("B1");
|
meter.ValidData = data[2].Equals("91") || data[2].Equals("B1");
|
||||||
meter.FiledDesc = "电网频率";//"电网频率";
|
meter.FiledDesc = "电网频率";//"电网频率";
|
||||||
|
|||||||
@ -199,7 +199,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
|||||||
DeviceType = $"{item.DeviceType}.{IOTDBDataType.Data}",
|
DeviceType = $"{item.DeviceType}.{IOTDBDataType.Data}",
|
||||||
ProjectId = $"{item.ProjectId}",
|
ProjectId = $"{item.ProjectId}",
|
||||||
Timestamps = item.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeNanoseconds(), // TODO:这里暂时格式化15分钟数据,需要进行调整
|
Timestamps = item.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeNanoseconds(), // 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)
|
||||||
};
|
};
|
||||||
_runtimeContext.UseTableSessionPool = true; // 使用表模型池
|
_runtimeContext.UseTableSessionPool = true; // 使用表模型池
|
||||||
var taskSendInfo = await _dbProvider.QueryAsync<MeterReadingTelemetryPacketInfo>(new IoTDBQueryOptions() { TableNameOrTreePath = DevicePathBuilder.GetTableName<MeterReadingTelemetryPacketInfo>(), Conditions = conditions, PageIndex = 0, PageSize = 1 });
|
var taskSendInfo = await _dbProvider.QueryAsync<MeterReadingTelemetryPacketInfo>(new IoTDBQueryOptions() { TableNameOrTreePath = DevicePathBuilder.GetTableName<MeterReadingTelemetryPacketInfo>(), Conditions = conditions, PageIndex = 0, PageSize = 1 });
|
||||||
|
|||||||
@ -4,6 +4,7 @@ using JiShe.CollectBus.Common.Helpers;
|
|||||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
||||||
using NUglify.JavaScript.Syntax;
|
using NUglify.JavaScript.Syntax;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using YamlDotNet.Core.Tokens;
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Protocol.T37612012
|
namespace JiShe.CollectBus.Protocol.T37612012
|
||||||
{
|
{
|
||||||
@ -239,15 +240,15 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<AnalysisBaseDto<decimal>> GenerateFinalResultTd_c(this List<string> data, int index,int density,string dataType, string filedDesc = "")
|
public static List<AnalysisBaseDto<decimal?>> GenerateFinalResultTd_c(this List<string> data, int index,int density,string dataType, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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.DeviceType= MeterTypeEnum.Ammeter;
|
{
|
||||||
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
decimal value = 0;
|
};
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -255,9 +256,13 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
meter.DataType = dataType.ToUpper();
|
{
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
meter.DataType = dataType;
|
||||||
meter.FiledDesc = filedDesc;
|
meter.FiledDesc = filedDesc;
|
||||||
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
meter.FiledName = meter.DataType.GetDataFieldByGatherDataType() ?? string.Empty;
|
||||||
if (DateTime.TryParse(CalculateTimeSpan(i - 3, data[0], density), out DateTime readingDate))
|
if (DateTime.TryParse(CalculateTimeSpan(i - 3, data[0], density), out DateTime readingDate))
|
||||||
@ -276,14 +281,13 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
/// <param name="timeSpan"></param>
|
/// <param name="timeSpan"></param>
|
||||||
/// <param name="filedDesc"></param>
|
/// <param name="filedDesc"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<AnalysisBaseDto<decimal>> GenerateFinalResultTd_m(this List<string> data, int index,string dataType,string timeSpan, string filedDesc = "")
|
public static List<AnalysisBaseDto<decimal?>> GenerateFinalResultTd_m(this List<string> data, int index,string dataType,string timeSpan, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
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.DeviceType = MeterTypeEnum.Ammeter;
|
meter.DeviceType = MeterTypeEnum.Ammeter;
|
||||||
decimal value = 0;
|
|
||||||
var errorCode = data[i].CheckErrorCode();
|
var errorCode = data[i].CheckErrorCode();
|
||||||
if (errorCode != null)
|
if (errorCode != null)
|
||||||
{
|
{
|
||||||
@ -291,8 +295,12 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out decimal value))
|
||||||
|
{
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
@ -312,13 +320,13 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
/// <param name="remark"></param>
|
/// <param name="remark"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<AnalysisBaseDto<decimal>> GenerateFinalResultTd_d(this List<string> data, int index,string dataType, string timeSpan, string filedDesc = "")
|
public static List<AnalysisBaseDto<decimal?>> GenerateFinalResultTd_d(this List<string> data, int index,string dataType, string timeSpan, string filedDesc = "")
|
||||||
{
|
{
|
||||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
List<AnalysisBaseDto<decimal?>> list = new List<AnalysisBaseDto<decimal?>>();
|
||||||
int typeIndex = 0;
|
int typeIndex = 0;
|
||||||
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?>
|
||||||
{
|
{
|
||||||
DeviceType = MeterTypeEnum.Ammeter
|
DeviceType = MeterTypeEnum.Ammeter
|
||||||
};
|
};
|
||||||
@ -330,8 +338,12 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
meter.ErrorCodeMsg = errorCode.Item2;
|
meter.ErrorCodeMsg = errorCode.Item2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
decimal.TryParse(data[i], out value);
|
{
|
||||||
meter.DataValue = value;
|
if(decimal.TryParse(data[i], out value))
|
||||||
|
{
|
||||||
|
meter.DataValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
if (DateTime.TryParse(timeSpan, out DateTime readingDate))
|
||||||
{
|
{
|
||||||
meter.TimeSpan = readingDate;
|
meter.TimeSpan = readingDate;
|
||||||
@ -364,29 +376,33 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
|||||||
/// <param name="meterDatas"></param>
|
/// <param name="meterDatas"></param>
|
||||||
/// <param name="mark"></param>
|
/// <param name="mark"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<AnalysisBaseDto<decimal>> IsValidData(this List<AnalysisBaseDto<decimal>> meterDatas, List<string> mark)
|
public static List<AnalysisBaseDto<decimal?>> IsValidData(this List<AnalysisBaseDto<decimal?>> meterDatas, List<string> mark)
|
||||||
{
|
{
|
||||||
bool isUpload = false;
|
bool isUpload = false;
|
||||||
var jfpgSum = 0M;
|
var jfpgSum = 0M;
|
||||||
var totalItem = meterDatas.Find(f => f.DataType.Equals(mark[0]));//meterDatas.Find(f => f.DataType.Equals(mark[0]));
|
foreach (var item in meterDatas)
|
||||||
for (int i = 1; i <= meterDatas.Count - 1; i++)
|
|
||||||
{
|
{
|
||||||
var value = meterDatas[i];//meterDatas.Find(f => f.DataType.Equals(mark[i]));
|
if (item.ValidData && item.DataValue.HasValue)
|
||||||
if (value.ValidData)
|
jfpgSum += item.DataValue.Value;
|
||||||
jfpgSum += value.DataValue;
|
}
|
||||||
|
var totalItem = meterDatas.FirstOrDefault(f => f.DataType.Equals(mark[0]));//meterDatas.Find(f => f.DataType.Equals(mark[0]));
|
||||||
|
if (totalItem != null)
|
||||||
|
{
|
||||||
|
var floatingNum = (jfpgSum * 5 / 100);//上下浮动数据
|
||||||
|
var minjfpgSum = jfpgSum - floatingNum;//100-(100*5/100);
|
||||||
|
var maxjfpgSum = jfpgSum + floatingNum;
|
||||||
|
if ((totalItem.DataValue <= maxjfpgSum || totalItem.DataValue >= minjfpgSum))//总值,在JFPG之和的浮动范围内
|
||||||
|
isUpload = true;
|
||||||
|
else
|
||||||
|
isUpload = false;
|
||||||
}
|
}
|
||||||
var floatingNum = (jfpgSum * 5 / 100);//上下浮动数据
|
|
||||||
var minjfpgSum = jfpgSum - floatingNum;//100-(100*5/100);
|
|
||||||
var maxjfpgSum = jfpgSum + floatingNum;
|
|
||||||
if (totalItem.DataValue <= maxjfpgSum || totalItem.DataValue >= minjfpgSum)//总值,在JFPG之和的浮动范围内
|
|
||||||
isUpload = true;
|
|
||||||
else
|
|
||||||
isUpload = false;
|
|
||||||
if (!isUpload)
|
if (!isUpload)
|
||||||
|
{
|
||||||
meterDatas.ForEach(f =>
|
meterDatas.ForEach(f =>
|
||||||
{
|
{
|
||||||
f.ValidData = false;
|
f.ValidData = false;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
return meterDatas;
|
return meterDatas;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,10 +71,10 @@ namespace JiShe.CollectBus.Protocol.Contracts.Protocol.Dto
|
|||||||
|
|
||||||
public class AnalysisBaseDto<T> : AnalysisBaseDto
|
public class AnalysisBaseDto<T> : AnalysisBaseDto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 抄读值
|
/// 抄读值
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public T? DataValue { get; set; }
|
public T? DataValue { get; set; } = default;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1183,10 +1183,10 @@ namespace JiShe.CollectBus.Common.Extensions
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hexString"></param>
|
/// <param name="hexString"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string HexToDecStr(this int hexString)
|
public static string HexToDecStr(this int hexString,bool isUpper= true)
|
||||||
{
|
{
|
||||||
var decimalString = Convert.ToString(hexString, 16);
|
var decimalString = Convert.ToString(hexString, 16);
|
||||||
return decimalString;
|
return isUpper? decimalString.ToUpper(): decimalString;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user