Compare commits
2 Commits
1718a0afa7
...
1ae875606f
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ae875606f | |||
| 34d4bc0b8f |
@ -1,4 +1,6 @@
|
||||
using JiShe.CollectBus.Common.Enums;
|
||||
using JiShe.CollectBus.IotSystems.Ammeters;
|
||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Interfaces;
|
||||
using JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_00H;
|
||||
@ -9,6 +11,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static FreeSql.Internal.GlobalFilter;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
{
|
||||
@ -18,25 +22,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
public class AFN2_F1_Analysis : IAnalysisStrategy<TB3761>
|
||||
{
|
||||
private readonly ILogger<AFN2_F1_Analysis> _logger;
|
||||
|
||||
public AFN2_F1_Analysis(ILogger<AFN2_F1_Analysis> logger)
|
||||
private readonly DataStorage _dataStorage;
|
||||
public AFN2_F1_Analysis(ILogger<AFN2_F1_Analysis> logger, DataStorage dataStorage)
|
||||
{
|
||||
_logger = logger;
|
||||
_dataStorage= dataStorage;
|
||||
}
|
||||
|
||||
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(input);
|
||||
ArgumentNullException.ThrowIfNull(input.A.Code);
|
||||
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string>
|
||||
var data = new AnalysisBaseDto<string>()
|
||||
{
|
||||
FiledDesc = "登录",
|
||||
FiledName = "Type",
|
||||
DataValue = "Login"
|
||||
};
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.DeviceId = ammeterInfo.FocusId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
data.DeviceType = MeterTypeEnum.Focus;
|
||||
}
|
||||
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
|
||||
{
|
||||
Code = input.A.Code,
|
||||
AFN = input.AFN_FC.AFN,
|
||||
Fn = input.DT.Fn,
|
||||
Pn = input.DA.Pn,
|
||||
Data = $"登录帧",
|
||||
Data = data,
|
||||
HexMessage = input.BaseHexMessage.HexMessageString,
|
||||
MessageId = input.MessageId,
|
||||
ReceivedTime = input.ReceivedTime,
|
||||
@ -44,13 +65,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
TimeDensity = -1
|
||||
};
|
||||
result?.Invoke(dto);
|
||||
return Task.FromResult(true);
|
||||
await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, $"02_1解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
|
||||
}
|
||||
return Task.FromResult(false);
|
||||
return await Task.FromResult(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
using JiShe.CollectBus.Common.Enums;
|
||||
using JiShe.CollectBus.IotSystems.Ammeters;
|
||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Interfaces;
|
||||
using JiShe.CollectBus.Protocol3761;
|
||||
@ -17,25 +19,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
public class AFN2_F2_Analysis : IAnalysisStrategy<TB3761>
|
||||
{
|
||||
private readonly ILogger<AFN2_F2_Analysis> _logger;
|
||||
|
||||
public AFN2_F2_Analysis(ILogger<AFN2_F2_Analysis> logger)
|
||||
private readonly DataStorage _dataStorage;
|
||||
public AFN2_F2_Analysis(ILogger<AFN2_F2_Analysis> logger, DataStorage dataStorage)
|
||||
{
|
||||
_logger = logger;
|
||||
_dataStorage = dataStorage;
|
||||
}
|
||||
|
||||
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(input);
|
||||
ArgumentNullException.ThrowIfNull(input.A.Code);
|
||||
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string>
|
||||
var data = new AnalysisBaseDto<string>()
|
||||
{
|
||||
FiledDesc = "退出登录",
|
||||
FiledName = "Type",
|
||||
DataValue = "LogOut"
|
||||
};
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.DeviceId = ammeterInfo.FocusId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
data.DeviceType = MeterTypeEnum.Focus;
|
||||
}
|
||||
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
|
||||
{
|
||||
Code = input.A.Code,
|
||||
AFN = input.AFN_FC.AFN,
|
||||
Fn = input.DT.Fn,
|
||||
Pn = input.DA.Pn,
|
||||
Data = $"退出登录帧",
|
||||
Data = data,
|
||||
HexMessage = input.BaseHexMessage.HexMessageString,
|
||||
MessageId = input.MessageId,
|
||||
ReceivedTime = input.ReceivedTime,
|
||||
@ -43,13 +62,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
TimeDensity = -1
|
||||
};
|
||||
result?.Invoke(dto);
|
||||
return Task.FromResult(true);
|
||||
await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, $"02_2解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
|
||||
}
|
||||
return Task.FromResult(false);
|
||||
return await Task.FromResult(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
using JiShe.CollectBus.Common.Enums;
|
||||
using JiShe.CollectBus.IotSystems.Ammeters;
|
||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Interfaces;
|
||||
using JiShe.CollectBus.Protocol3761;
|
||||
@ -17,25 +19,42 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
public class AFN2_F3_Analysis : IAnalysisStrategy<TB3761>
|
||||
{
|
||||
private readonly ILogger<AFN2_F3_Analysis> _logger;
|
||||
|
||||
public AFN2_F3_Analysis(ILogger<AFN2_F3_Analysis> logger)
|
||||
private readonly DataStorage _dataStorage;
|
||||
public AFN2_F3_Analysis(ILogger<AFN2_F3_Analysis> logger, DataStorage dataStorage)
|
||||
{
|
||||
_logger = logger;
|
||||
_dataStorage = dataStorage;
|
||||
}
|
||||
|
||||
public Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
public async Task<bool> ExecuteAsync(TB3761 input, Action<dynamic>? result = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(input);
|
||||
ArgumentNullException.ThrowIfNull(input.A.Code);
|
||||
UnitDataAnalysis<string> dto = new UnitDataAnalysis<string>
|
||||
var data = new AnalysisBaseDto<string>()
|
||||
{
|
||||
FiledDesc = "心跳",
|
||||
FiledName = "Type",
|
||||
DataValue = "Heartbeat"
|
||||
};
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(MeterTypeEnum.Focus.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.DeviceId = ammeterInfo.FocusId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
data.DeviceType = MeterTypeEnum.Focus;
|
||||
}
|
||||
UnitDataAnalysis<AnalysisBaseDto<string>> dto = new UnitDataAnalysis<AnalysisBaseDto<string>>
|
||||
{
|
||||
Code = input.A.Code,
|
||||
AFN = input.AFN_FC.AFN,
|
||||
Fn = input.DT.Fn,
|
||||
Pn = input.DA.Pn,
|
||||
Data = $"心跳帧",
|
||||
Data = data,
|
||||
HexMessage = input.BaseHexMessage.HexMessageString,
|
||||
MessageId = input.MessageId,
|
||||
ReceivedTime = input.ReceivedTime,
|
||||
@ -43,13 +62,14 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_02H
|
||||
TimeDensity = -1
|
||||
};
|
||||
result?.Invoke(dto);
|
||||
return Task.FromResult(true);
|
||||
await _dataStorage.SaveStatusToIotDbAsync<string>(dto);
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, $"02_1解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
|
||||
_logger.LogError(ex, $"02_3解析失败:{input.A.Code}-{input.DT.Fn}-{input.BaseHexMessage.HexMessageString},{ex.Message}");
|
||||
}
|
||||
return Task.FromResult(false);
|
||||
return await Task.FromResult(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0CH
|
||||
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>();
|
||||
|
||||
|
||||
@ -40,11 +40,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
||||
|
||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, dataType,"上月(上一结算日)正向有功最大需量及发生时间");
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.MeterId = ammeterInfo.MeterId;
|
||||
data.DeviceId = ammeterInfo.MeterId;
|
||||
data.DatabaseBusiID=ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress= ammeterInfo.AmmerterAddress;
|
||||
}
|
||||
@ -122,7 +122,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AFN_0CH
|
||||
}
|
||||
decimal.TryParse(data[2], out decimal value);
|
||||
dto.DataValue = value;
|
||||
dto.MeterType= MeterTypeEnum.Ammeter;
|
||||
dto.DeviceType= MeterTypeEnum.Ammeter;
|
||||
//TODO:最大需量发生时间
|
||||
errorCodeInfo = data[3].CheckErrorCode();
|
||||
if (data[3].Length != 8 && errorCodeInfo != null)
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
@ -125,7 +125,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -39,13 +39,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.MeterId = ammeterInfo.MeterId;
|
||||
data.DeviceId = ammeterInfo.MeterId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
}
|
||||
@ -117,7 +117,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
List<AnalysisBaseDto<decimal>> list = new List<AnalysisBaseDto<decimal>>();
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
|
||||
decimal value = 0;
|
||||
|
||||
@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结正向有功最大需量及发生时间");
|
||||
data.DataType= $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.MeterId = ammeterInfo.MeterId;
|
||||
data.DeviceId = ammeterInfo.MeterId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
}
|
||||
@ -108,7 +108,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter,
|
||||
DeviceType = MeterTypeEnum.Ammeter,
|
||||
};
|
||||
|
||||
decimal value = 0;
|
||||
|
||||
@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas, "月冻结反向有功最大需量及发生时间");
|
||||
data.DataType = $"{input.AFN_FC.AFN.HexToDecStr().PadLeft(2, '0')}_{input.DT.Fn}";
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.MeterId = ammeterInfo.MeterId;
|
||||
data.DeviceId = ammeterInfo.MeterId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
}
|
||||
@ -108,7 +108,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
|
||||
decimal value = 0;
|
||||
|
||||
@ -41,13 +41,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
@ -125,7 +125,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
for (int i = 1; i <= 2; i++)
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
|
||||
meter.MeterType= MeterTypeEnum.Ammeter;
|
||||
meter.DeviceType= MeterTypeEnum.Ammeter;
|
||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||
decimal value = 0;
|
||||
var errorCode = data[startIndex].CheckErrorCode();
|
||||
|
||||
@ -45,13 +45,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
@ -133,7 +133,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||
|
||||
|
||||
@ -44,13 +44,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
@ -130,7 +130,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
int startIndex = i == 1 ? 3 : (3 + i * fCount);
|
||||
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -42,13 +42,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -43,13 +43,13 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_0DH
|
||||
if (data.Count > 0)
|
||||
{
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data[0].DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ForEach(item =>
|
||||
{
|
||||
item.ProjectId = ammeterInfo.ProjectID;
|
||||
item.MeterId = ammeterInfo.MeterId;
|
||||
item.DeviceId = ammeterInfo.MeterId;
|
||||
item.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
item.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
});
|
||||
|
||||
@ -39,11 +39,11 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.AFN_10H
|
||||
List<string> datas = await AnalysisDataUnitAsync(input.UnitData.HexMessageList);
|
||||
AnalysisBaseDto<decimal> data = GenerateFinalResult(datas);
|
||||
// 查询电表信息
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.MeterType.ToString(), "15");
|
||||
AmmeterInfo ammeterInfo = await _dataStorage.GetMeterInfoAsync(data.DeviceType.ToString(), "15");
|
||||
if (ammeterInfo != null)
|
||||
{
|
||||
data.ProjectId = ammeterInfo.ProjectID;
|
||||
data.MeterId = ammeterInfo.MeterId;
|
||||
data.DeviceId = ammeterInfo.MeterId;
|
||||
data.DatabaseBusiID = ammeterInfo.DatabaseBusiID;
|
||||
data.MeterAddress = ammeterInfo.AmmerterAddress;
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@ using System.Diagnostics.Metrics;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
using Volo.Abp.Guids;
|
||||
using static FreeSql.Internal.GlobalFilter;
|
||||
using static JiShe.CollectBus.Common.Consts.T37612012PacketItemCodeConst;
|
||||
|
||||
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
{
|
||||
@ -44,7 +45,12 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
public async Task<AmmeterInfo> GetMeterInfoAsync(string meterType,string timeDensity="15")
|
||||
{
|
||||
var redisCacheMeterInfoHashKeyTemp = $"{string.Format(RedisConst.CacheMeterInfoHashKey, _applicationOptions.SystemType, _applicationOptions.ServerTagName, meterType, timeDensity)}";
|
||||
return await Task.FromResult(new AmmeterInfo());
|
||||
// TODO:临时写死,等确认后如何取再调整
|
||||
return await Task.FromResult(new AmmeterInfo() {
|
||||
ProjectID = 10000,
|
||||
MeterId=11111,
|
||||
FocusId=22222
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -86,8 +92,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
var meter = new TreeModelSingleMeasuringEntity<T>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{data.MeterId}",
|
||||
DeviceType = $"{data.MeterType}",
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
DeviceType = $"{data.DeviceType.ToString()}.{IOTDBDataType.Data}",
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
Timestamps = data.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(),
|
||||
SingleMeasuring = new Tuple<string, T>(data.FiledName ?? string.Empty, data.DataValue ?? default)
|
||||
@ -111,8 +117,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
DeviceType = $"{data.MeterType}",
|
||||
DeviceId = $"{data.MeterId}",
|
||||
DeviceType = $"{data.DeviceType}",
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
Timestamps = DateTime.Now.GetDateTimeOffset().ToUnixTimeNanoseconds(),
|
||||
DatabaseBusiID = data.DatabaseBusiID,
|
||||
PendingCopyReadTime = data.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity),
|
||||
@ -189,8 +195,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
var meter = new TreeModelSingleMeasuringEntity<T>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{item.MeterId}",
|
||||
DeviceType = $"{item.MeterType}",
|
||||
DeviceId = $"{item.DeviceId}",
|
||||
DeviceType = $"{item.DeviceType}.{IOTDBDataType.Data}",
|
||||
ProjectId = $"{item.ProjectId}",
|
||||
Timestamps = item.TimeSpan!.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity).GetDateTimeOffset().ToUnixTimeMilliseconds(), // TODO:这里暂时格式化15分钟数据,需要进行调整
|
||||
SingleMeasuring = new Tuple<string, T>(item.FiledName ?? string.Empty, item.DataValue ?? default)
|
||||
@ -214,8 +220,8 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
ProjectId = $"{item.ProjectId}",
|
||||
DeviceType = $"{item.MeterType}",
|
||||
DeviceId = $"{item.MeterId}",
|
||||
DeviceType = $"{item.DeviceType}",
|
||||
DeviceId = $"{item.DeviceId}",
|
||||
Timestamps = DateTime.Now.CheckTimePoint().GetDateTimeOffset().ToUnixTimeNanoseconds(),
|
||||
DatabaseBusiID = item.DatabaseBusiID,
|
||||
PendingCopyReadTime = item.TimeSpan.Value.GetFormatTime(analysisBaseDto.DensityUnit, analysisBaseDto.TimeDensity),
|
||||
@ -254,7 +260,72 @@ namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存状态到IotDb
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="analysisBaseDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> SaveStatusToIotDbAsync<T>(UnitDataAnalysis<AnalysisBaseDto<T>> analysisBaseDto)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(nameof(analysisBaseDto.Data));
|
||||
ArgumentNullException.ThrowIfNullOrWhiteSpace(nameof(analysisBaseDto.Data.FiledName));
|
||||
ArgumentNullException.ThrowIfNullOrWhiteSpace(nameof(analysisBaseDto.Data.DataValue));
|
||||
var data = analysisBaseDto.Data!;
|
||||
if (!data.TimeSpan.HasValue)
|
||||
data.TimeSpan = analysisBaseDto.ReceivedTime;
|
||||
// 类型(心跳,登录,上电,掉电)
|
||||
long timestamps = DateTime.Now.GetDateTimeOffset().ToUnixTimeMilliseconds();
|
||||
var treeData = new TreeModelSingleMeasuringEntity<T>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
Timestamps = timestamps,
|
||||
SingleMeasuring = new Tuple<string, T>(data.FiledName!, data.DataValue!)
|
||||
};
|
||||
_runtimeContext.UseTableSessionPool = false; // 使树模型池
|
||||
await _dbProvider.InsertAsync(treeData);
|
||||
// 时间
|
||||
var treeRecordingTimeData = new TreeModelSingleMeasuringEntity<long>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
Timestamps = timestamps,
|
||||
SingleMeasuring = new Tuple<string, long>(ConcentratorStatusFieldConst.RecordingTime, data.TimeSpan!.Value.GetDateTimeOffset().ToUnixTimeNanoseconds())
|
||||
};
|
||||
_runtimeContext.UseTableSessionPool = false; // 使树模型池
|
||||
await _dbProvider.InsertAsync(treeRecordingTimeData);
|
||||
// 备注
|
||||
var treeRemarkData = new TreeModelSingleMeasuringEntity<string>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
Timestamps = timestamps,
|
||||
SingleMeasuring = new Tuple<string, string>(ConcentratorStatusFieldConst.Remark, data.FiledDesc ?? string.Empty)
|
||||
};
|
||||
_runtimeContext.UseTableSessionPool = false; // 使树模型池
|
||||
await _dbProvider.InsertAsync(treeRemarkData);
|
||||
// 数据帧
|
||||
var treeFrameData = new TreeModelSingleMeasuringEntity<string>()
|
||||
{
|
||||
SystemName = _applicationOptions.SystemType,
|
||||
DeviceId = $"{data.DeviceId}",
|
||||
DeviceType = $"{data.DeviceType}.{IOTDBDataType.Status}",
|
||||
ProjectId = $"{data.ProjectId}",
|
||||
Timestamps = timestamps,
|
||||
SingleMeasuring = new Tuple<string, string>(ConcentratorStatusFieldConst.FrameData, analysisBaseDto.HexMessage ?? string.Empty )
|
||||
};
|
||||
|
||||
_runtimeContext.UseTableSessionPool = false; // 使树模型池
|
||||
await _dbProvider.InsertAsync(treeFrameData);
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -245,7 +245,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
for (int i = index; i < data.Count; i++)
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
|
||||
meter.MeterType= MeterTypeEnum.Ammeter;
|
||||
meter.DeviceType= MeterTypeEnum.Ammeter;
|
||||
|
||||
decimal value = 0;
|
||||
var errorCode = data[i].CheckErrorCode();
|
||||
@ -282,7 +282,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
for (int i = index; i < data.Count; i++)
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>();
|
||||
meter.MeterType = MeterTypeEnum.Ammeter;
|
||||
meter.DeviceType = MeterTypeEnum.Ammeter;
|
||||
decimal value = 0;
|
||||
var errorCode = data[i].CheckErrorCode();
|
||||
if (errorCode != null)
|
||||
@ -320,7 +320,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
{
|
||||
AnalysisBaseDto<decimal> meter = new AnalysisBaseDto<decimal>
|
||||
{
|
||||
MeterType = MeterTypeEnum.Ammeter
|
||||
DeviceType = MeterTypeEnum.Ammeter
|
||||
};
|
||||
decimal value = 0;
|
||||
var errorCode = data[i].CheckErrorCode();
|
||||
|
||||
@ -111,9 +111,6 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
_logger.LogError("376.1协议解析AFN失败");
|
||||
return;
|
||||
}
|
||||
// 登录心跳已做了处理,故需要忽略登录和心跳帧
|
||||
//if (tB3761.DT.Fn == (int)FN.登录 || tB3761.DT.Fn == (int)FN.心跳)
|
||||
// return;
|
||||
//TODO:根据AFN进行分流推送到kafka
|
||||
string topicName = string.Format(ProtocolConst.AFNTopicNameFormat, tB3761.AFN_FC.AFN.ToString().PadLeft(2, '0'));
|
||||
tB3761.MessageId = Guid.NewGuid().ToString();
|
||||
@ -154,24 +151,24 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
{
|
||||
string oldClientId = $"{client.Id}";
|
||||
await client.ResetIdAsync(code);
|
||||
var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
|
||||
if (deviceInfoList != null && deviceInfoList.Count > 1)
|
||||
{
|
||||
//todo 推送集中器编号重复预警
|
||||
_logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
|
||||
return;
|
||||
}
|
||||
//var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
|
||||
//if (deviceInfoList != null && deviceInfoList.Count > 1)
|
||||
//{
|
||||
// //todo 推送集中器编号重复预警
|
||||
// _logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
|
||||
// return;
|
||||
//}
|
||||
|
||||
var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
|
||||
if (entity == null)
|
||||
{
|
||||
await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.UpdateByLoginAndHeartbeat(oldClientId);
|
||||
await _deviceRepository.UpdateAsync(entity);
|
||||
}
|
||||
//var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
|
||||
//if (entity == null)
|
||||
//{
|
||||
// await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// entity.UpdateByLoginAndHeartbeat(oldClientId);
|
||||
// await _deviceRepository.UpdateAsync(entity);
|
||||
//}
|
||||
|
||||
var messageReceivedLoginEvent = new MessageReceivedLogin
|
||||
{
|
||||
@ -230,34 +227,34 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
{
|
||||
|
||||
string clientId = code;
|
||||
string oldClientId = $"{client.Id}";
|
||||
var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
|
||||
if (deviceInfoList != null && deviceInfoList.Count > 1)
|
||||
{
|
||||
//todo 推送集中器编号重复预警
|
||||
_logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
|
||||
return;
|
||||
}
|
||||
//string oldClientId = $"{client.Id}";
|
||||
//var deviceInfoList = await _deviceRepository.GetListAsync(a => a.Number == code);
|
||||
//if (deviceInfoList != null && deviceInfoList.Count > 1)
|
||||
//{
|
||||
// //todo 推送集中器编号重复预警
|
||||
// _logger.LogError($"集中器编号:{code},存在多个集中器,请检查集中器编号是否重复");
|
||||
// return;
|
||||
//}
|
||||
|
||||
var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
|
||||
if (entity == null) //没有登录帧的设备,只有心跳帧
|
||||
{
|
||||
//var entity = deviceInfoList?.FirstOrDefault(a => a.Number == code);
|
||||
//if (entity == null) //没有登录帧的设备,只有心跳帧
|
||||
//{
|
||||
await client.ResetIdAsync(clientId);
|
||||
await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (clientId != oldClientId)
|
||||
{
|
||||
entity.UpdateByLoginAndHeartbeat(oldClientId);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.UpdateByLoginAndHeartbeat();
|
||||
}
|
||||
//await _deviceRepository.InsertAsync(new Device(code, oldClientId, DateTime.Now, DateTime.Now, DeviceStatus.Online));
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// if (clientId != oldClientId)
|
||||
// {
|
||||
// entity.UpdateByLoginAndHeartbeat(oldClientId);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// entity.UpdateByLoginAndHeartbeat();
|
||||
// }
|
||||
|
||||
await _deviceRepository.UpdateAsync(entity);
|
||||
}
|
||||
// await _deviceRepository.UpdateAsync(entity);
|
||||
//}
|
||||
|
||||
var messageReceivedHeartbeatEvent = new MessageReceivedHeartbeat
|
||||
{
|
||||
@ -397,7 +394,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
{
|
||||
HexMessageList = hexStringList
|
||||
};
|
||||
baseHexMessage.HexMessageString = string.Join(" ", baseHexMessage.HexMessageList);
|
||||
baseHexMessage.HexMessageString = string.Join("", baseHexMessage.HexMessageList);
|
||||
TB3761 tB3761 = new TB3761
|
||||
{
|
||||
BaseHexMessage=baseHexMessage,
|
||||
@ -610,7 +607,7 @@ namespace JiShe.CollectBus.Protocol.T37612012
|
||||
{
|
||||
unitData = new UnitData
|
||||
{
|
||||
HexMessageList = hexStringList. (14, hexStringList.Count - 14 - 2) //总数字节数-固定长度报文头-控制域C-地址域A-校验和CS-结束字符(16H)
|
||||
HexMessageList = hexStringList.GetRange(14, hexStringList.Count - 14 - 2) //总数字节数-固定长度报文头-控制域C-地址域A-校验和CS-结束字符(16H)
|
||||
};
|
||||
unitData.HexMessageString = string.Join(" ", unitData.HexMessageList);
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ using System.Threading.Tasks;
|
||||
using JiShe.CollectBus.Protocol;
|
||||
using TouchSocket.Sockets;
|
||||
using JiShe.CollectBus.Protocol.Dto;
|
||||
using JiShe.CollectBus.Protocol.Contracts.Protocol.Dto;
|
||||
|
||||
namespace JiShe.CollectBus.Subscribers
|
||||
{
|
||||
@ -146,7 +147,7 @@ namespace JiShe.CollectBus.Subscribers
|
||||
var executor = _serviceProvider.GetRequiredService<AnalysisStrategyContext>();
|
||||
await executor.ExecuteAsync<TB3761>(serverName, receivedMessage.Data, (result) =>
|
||||
{
|
||||
var ssss = (UnitDataAnalysis<string>)result;
|
||||
var ssss = (UnitDataAnalysis<AnalysisBaseDto<string>>)result;
|
||||
_logger.LogInformation($"解析AFN02H数据:{ssss.Serialize()}");
|
||||
});
|
||||
return SubscribeAck.Success();
|
||||
|
||||
@ -47,14 +47,14 @@ namespace JiShe.CollectBus.Protocol.Contracts.Protocol.Dto
|
||||
public int ProjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电表ID
|
||||
/// 设备ID(电表ID,水表ID,气表ID,集中器ID等)
|
||||
/// </summary>
|
||||
public int MeterId { get; set; }
|
||||
public int DeviceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表类型
|
||||
/// 设备类型
|
||||
/// </summary>
|
||||
public MeterTypeEnum MeterType { get; set;}
|
||||
public MeterTypeEnum DeviceType { get; set;}
|
||||
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -88,7 +88,7 @@ namespace JiShe.CollectBus.Common.Consts
|
||||
public const string CDL = "CDL";
|
||||
public const string LXDL = "LXDL";
|
||||
|
||||
public const string PowerGridFrequency = "PowerGridFrequency";
|
||||
public const string DWPL = "DWPL";
|
||||
|
||||
public const string Ua = "Ua";
|
||||
public const string Ub = "Ub";
|
||||
@ -141,7 +141,7 @@ namespace JiShe.CollectBus.Common.Consts
|
||||
public const string CDL = "0D_94"; //C相电流曲线
|
||||
public const string LXDL = "0D_95"; // 零序电流
|
||||
|
||||
public const string PowerGridFrequency = "10_97"; //电网频率
|
||||
public const string DWPL = "10_97"; //电网频率
|
||||
|
||||
public const string Ua = "0C_49_Uab_Ua"; // 当前电压、电流相位角
|
||||
public const string Ub = "0C_49_Ub"; // 当前电压、电流相位角
|
||||
@ -152,6 +152,48 @@ namespace JiShe.CollectBus.Common.Consts
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IOTDB数据树类型
|
||||
/// </summary>
|
||||
public class IOTDBDataType
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据
|
||||
/// </summary>
|
||||
public const string Data = "Data";
|
||||
|
||||
/// <summary>
|
||||
/// 事件
|
||||
/// </summary>
|
||||
public const string Event = "Event";
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public const string Status = "Status";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 集中器状态字段
|
||||
/// </summary>
|
||||
public class ConcentratorStatusFieldConst
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 记录时间
|
||||
/// </summary>
|
||||
public const string RecordingTime = "RecordingTime";
|
||||
|
||||
/// <summary>
|
||||
/// 帧数据
|
||||
/// </summary>
|
||||
public const string FrameData = "FrameData";
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public const string Remark="Remark";
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,5 +49,10 @@ namespace JiShe.CollectBus.Common.Enums
|
||||
/// 采集器
|
||||
/// </summary>
|
||||
Collector = 9,
|
||||
|
||||
/// <summary>
|
||||
/// 集中器
|
||||
/// </summary>
|
||||
Focus = 10,
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link href="libs/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<title>后端服务</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user