日志添加类型
This commit is contained in:
parent
083a28f7af
commit
f457e140f6
@ -13,7 +13,7 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
||||
[Generator(LanguageNames.CSharp)]
|
||||
public class ComplexTypeSourceAnalyzers : IIncrementalGenerator
|
||||
{
|
||||
private const string AttributeFullName = "JiShe.CollectBus.Analyzers.Shared.GenerateAccessorsAttribute";
|
||||
private const string AttributeFullName = "JiShe.CollectBus.Analyzers.Shared.SourceAnalyzersAttribute";
|
||||
|
||||
public void Initialize(IncrementalGeneratorInitializationContext context)
|
||||
{
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace JiShe.CollectBus.Analyzers
|
||||
{
|
||||
internal class ISourceAnalyzersProvider
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -8,7 +8,7 @@ namespace JiShe.CollectBus.IoTDB.Model
|
||||
/// Table模型单项数据实体
|
||||
/// </summary>
|
||||
[EntityType(EntityTypeEnum.TableModel)]
|
||||
[GenerateAccessors]
|
||||
[SourceAnalyzers]
|
||||
public class TableModelSingleMeasuringEntity<T> : IoTEntity
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@ -8,7 +8,7 @@ namespace JiShe.CollectBus.IoTDB.Model
|
||||
/// Tree模型单项数据实体
|
||||
/// </summary>
|
||||
[EntityType(EntityTypeEnum.TreeModel)]
|
||||
[GenerateAccessors]
|
||||
[SourceAnalyzers]
|
||||
public class TreeModelSingleMeasuringEntity<T> : IoTEntity
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
@ -124,7 +124,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
/// 水表数据采集
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task WatermeterScheduledMeterAutoReading();
|
||||
Task WatermeterScheduledMeterAutoReadding();
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@ -709,7 +709,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: tempItem,
|
||||
subItemCode: null,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: (TelemetryPacketTypeEnum)timeDensity);
|
||||
taskList.Add(meterReadingRecords);
|
||||
}
|
||||
|
||||
@ -791,7 +792,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: itemCode,
|
||||
subItemCode: subItemCode,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: TelemetryPacketTypeEnum.AmmeterAutomaticVerificationTime);
|
||||
taskList.Add(meterReadingRecords);
|
||||
|
||||
if (taskList == null || taskList.Count <= 0)
|
||||
@ -855,7 +857,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
_logger.LogError($"{nameof(AmmeterScheduledAutoValveControl)} 定时阀控运行时间{currentTime}没有找到对应的协议组件,-105");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
foreach (var item in DayFreezeCodes)
|
||||
{
|
||||
ProtocolBuildResponse builderResponse = await protocolPlugin.BuildAsync(new ProtocolBuildRequest()
|
||||
@ -872,10 +874,11 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: item,
|
||||
subItemCode: null,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: TelemetryPacketTypeEnum.AmmeterDayFreeze);
|
||||
taskList.Add(meterReadingRecords);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (taskList == null || taskList.Count <= 0)
|
||||
{
|
||||
@ -895,7 +898,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
_ = KafkaProducerIssuedMessageAction(ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, data, groupIndex);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@ -954,7 +957,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: item,
|
||||
subItemCode: null,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: TelemetryPacketTypeEnum.AmmeterMonthFreeze);
|
||||
taskList.Add(meterReadingRecords);
|
||||
}
|
||||
|
||||
@ -1097,7 +1101,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
/// 水表数据采集
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual async Task WatermeterScheduledMeterAutoReading()
|
||||
public virtual async Task WatermeterScheduledMeterAutoReadding()
|
||||
{
|
||||
//获取缓存中的水表信息
|
||||
int timeDensity = 60;//水表目前只有一个采集频率 60分钟
|
||||
@ -1129,7 +1133,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
Conditions = conditions,
|
||||
});
|
||||
|
||||
_logger.LogInformation($"{nameof(WatermeterScheduledMeterAutoReading)} {timeDensity}分钟采集水表数据处理完成");
|
||||
_logger.LogInformation($"{nameof(WatermeterScheduledMeterAutoReadding)} {timeDensity}分钟采集水表数据处理完成");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -1214,7 +1218,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
DeviceId = $"{watermeter.MeterId}",
|
||||
Timestamps = DateTimeOffset.Now.ToUnixTimeNanoseconds(),
|
||||
DatabaseBusiID = watermeter.DatabaseBusiID,
|
||||
PendingCopyReadTime = timestamps,
|
||||
PacketType = (int)TelemetryPacketTypeEnum.WatermeterAutoReadding,
|
||||
PendingCopyReadTime = timestamps,
|
||||
CreationTime = currentTime,
|
||||
MeterAddress = watermeter.MeterAddress,
|
||||
AFN = builderResponse.AFn,
|
||||
@ -1298,7 +1303,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: itemCode,
|
||||
subItemCode: null,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: TelemetryPacketTypeEnum.TerminalVersion);
|
||||
taskList.Add(meterReadingRecords);
|
||||
|
||||
if (taskList == null || taskList.Count <= 0)
|
||||
@ -1376,7 +1382,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
itemCode: itemCode,
|
||||
subItemCode: null,
|
||||
pendingCopyReadTime: currentTime,
|
||||
creationTime: currentTime);
|
||||
creationTime: currentTime,
|
||||
packetType: TelemetryPacketTypeEnum.TelematicsModule);
|
||||
taskList.Add(meterReadingRecords);
|
||||
|
||||
if (taskList == null || taskList.Count <= 0)
|
||||
@ -1560,8 +1567,9 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
/// <param name="subItemCode">端到端采集项编码</param>
|
||||
/// <param name="pendingCopyReadTime">待采集时间,定时采集频率才是特殊情况,其他默认当前时间戳</param>
|
||||
/// <param name="creationTime">数据创建时间戳</param>
|
||||
/// <param name="packetType">数据包类型</param>
|
||||
/// <returns></returns>
|
||||
protected MeterReadingTelemetryPacketInfo CreateAmmeterPacketInfo(AmmeterInfo ammeterInfo, long timestamps, ProtocolBuildResponse builderResponse, string itemCode, string subItemCode, DateTime pendingCopyReadTime, DateTime creationTime)
|
||||
protected MeterReadingTelemetryPacketInfo CreateAmmeterPacketInfo(AmmeterInfo ammeterInfo, long timestamps, ProtocolBuildResponse builderResponse, string itemCode, string subItemCode, DateTime pendingCopyReadTime, DateTime creationTime, TelemetryPacketTypeEnum packetType)
|
||||
{
|
||||
string taskMark = CommonHelper.GetTaskMark(builderResponse.AFn, builderResponse.Fn, ammeterInfo.MeteringCode, builderResponse.MSA, builderResponse.Seq);
|
||||
return new MeterReadingTelemetryPacketInfo()
|
||||
@ -1575,10 +1583,13 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
PendingCopyReadTime = pendingCopyReadTime,
|
||||
CreationTime = creationTime,
|
||||
MeterAddress = ammeterInfo.AmmerterAddress,
|
||||
PacketType = (int)packetType,
|
||||
AFN = builderResponse.AFn,
|
||||
Fn = builderResponse.Fn,
|
||||
Seq = builderResponse.Seq,
|
||||
MSA = builderResponse.MSA,
|
||||
FocusId = ammeterInfo.FocusId,
|
||||
FocusAddress = ammeterInfo.FocusAddress,
|
||||
ItemCode = itemCode,
|
||||
SubItemCode = subItemCode,
|
||||
TaskMark = taskMark,
|
||||
|
||||
@ -6,7 +6,7 @@ using JiShe.CollectBus.IoTDB.Model;
|
||||
namespace JiShe.CollectBus.Ammeters
|
||||
{
|
||||
[EntityType(EntityTypeEnum.TableModel)]
|
||||
[GenerateAccessors]
|
||||
[SourceAnalyzers]
|
||||
public class ElectricityMeter : IoTEntity
|
||||
{
|
||||
[ATTRIBUTEColumn]
|
||||
|
||||
@ -6,7 +6,7 @@ using JiShe.CollectBus.IoTDB.Model;
|
||||
namespace JiShe.CollectBus.Ammeters
|
||||
{
|
||||
[EntityType(EntityTypeEnum.TreeModel)]
|
||||
[GenerateAccessors]
|
||||
[SourceAnalyzers]
|
||||
public class ElectricityMeterTreeModel : IoTEntity
|
||||
{
|
||||
[ATTRIBUTEColumn]
|
||||
|
||||
@ -10,7 +10,7 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
||||
/// 抄读任务数据
|
||||
/// </summary>
|
||||
[EntityType(EntityTypeEnum.TableModel)]
|
||||
[GenerateAccessors]
|
||||
[SourceAnalyzers]
|
||||
public class MeterReadingTelemetryPacketInfo : IoTEntity
|
||||
{
|
||||
/// <summary>
|
||||
@ -19,6 +19,12 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
||||
[FIELDColumn]
|
||||
public string ScoreValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据包类型
|
||||
/// </summary>
|
||||
[FIELDColumn]
|
||||
public int PacketType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否手动操作
|
||||
/// </summary>
|
||||
@ -55,12 +61,6 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
||||
/// </summary>
|
||||
[FIELDColumn]
|
||||
public string FocusAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表Id
|
||||
/// </summary>
|
||||
[FIELDColumn]
|
||||
public int MeterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表地址
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace JiShe.CollectBus.Analyzers
|
||||
{
|
||||
public interface ISourceAnalyzersProvider<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取属性值
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <param name="propertyName"></param>
|
||||
/// <returns></returns>
|
||||
object GetPropertyValue(T entity, string propertyName);
|
||||
|
||||
/// <summary>
|
||||
/// 设置属性值
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <param name="propertyName"></param>
|
||||
/// <param name="value"></param>
|
||||
void SetPropertyValue(T entity, string propertyName, object value);
|
||||
|
||||
/// <summary>
|
||||
/// 判断是否是元组属性
|
||||
/// </summary>
|
||||
/// <param name="propertyName"></param>
|
||||
/// <returns></returns>
|
||||
bool IsTupleProperty(string propertyName);
|
||||
|
||||
/// <summary>
|
||||
/// 获取元组属性值
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <param name="tuplePropertyName"></param>
|
||||
/// <returns></returns>
|
||||
(object Item1, object Item2) GetTupleParts(T entity, string tuplePropertyName);
|
||||
}
|
||||
}
|
||||
@ -6,7 +6,7 @@ namespace JiShe.CollectBus.Analyzers.Shared
|
||||
/// 标记需要生成源码的类
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class GenerateAccessorsAttribute : Attribute
|
||||
public class SourceAnalyzersAttribute : Attribute
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace JiShe.CollectBus.Common.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// 遥测数据包类型枚举
|
||||
/// </summary>
|
||||
public enum TelemetryPacketTypeEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 1分钟密度
|
||||
/// </summary>
|
||||
[Description("1分钟密度")]
|
||||
AmmeterOneMinute = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 5分钟密度
|
||||
/// </summary>
|
||||
[Description("5分钟密度")]
|
||||
AmmeterMeterFiveMinute = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 15分钟密度
|
||||
/// </summary>
|
||||
[Description("15分钟密度")]
|
||||
AmmeterFifteenMinute = 15,
|
||||
|
||||
/// <summary>
|
||||
/// 自动校时
|
||||
/// </summary>
|
||||
[Description("自动校时")]
|
||||
AmmeterAutomaticVerificationTime = 16,
|
||||
|
||||
/// <summary>
|
||||
/// 日冻结
|
||||
/// </summary>
|
||||
[Description("日冻结")]
|
||||
AmmeterDayFreeze = 17,
|
||||
|
||||
/// <summary>
|
||||
/// 月冻结
|
||||
/// </summary>
|
||||
[Description("月冻结")]
|
||||
AmmeterMonthFreeze = 18,
|
||||
|
||||
/// <summary>
|
||||
/// 自动阀控
|
||||
/// </summary>
|
||||
[Description("自动阀控")]
|
||||
AmmeterAutoValveControl = 19,
|
||||
|
||||
/// <summary>
|
||||
/// 集中器终端版本
|
||||
/// </summary>
|
||||
[Description("集中器终端版本")]
|
||||
TerminalVersion = 20,
|
||||
|
||||
/// <summary>
|
||||
/// 集中器通信模块SIM
|
||||
/// </summary>
|
||||
[Description("集中器通信模块SIM")]
|
||||
TelematicsModule = 21,
|
||||
|
||||
/// <summary>
|
||||
/// 水表抄读
|
||||
/// </summary>
|
||||
[Description("水表抄读")]
|
||||
WatermeterAutoReadding = 22,
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user