日志添加类型
This commit is contained in:
parent
083a28f7af
commit
f457e140f6
@ -13,7 +13,7 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
|||||||
[Generator(LanguageNames.CSharp)]
|
[Generator(LanguageNames.CSharp)]
|
||||||
public class ComplexTypeSourceAnalyzers : IIncrementalGenerator
|
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)
|
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模型单项数据实体
|
/// Table模型单项数据实体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[EntityType(EntityTypeEnum.TableModel)]
|
[EntityType(EntityTypeEnum.TableModel)]
|
||||||
[GenerateAccessors]
|
[SourceAnalyzers]
|
||||||
public class TableModelSingleMeasuringEntity<T> : IoTEntity
|
public class TableModelSingleMeasuringEntity<T> : IoTEntity
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -8,7 +8,7 @@ namespace JiShe.CollectBus.IoTDB.Model
|
|||||||
/// Tree模型单项数据实体
|
/// Tree模型单项数据实体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[EntityType(EntityTypeEnum.TreeModel)]
|
[EntityType(EntityTypeEnum.TreeModel)]
|
||||||
[GenerateAccessors]
|
[SourceAnalyzers]
|
||||||
public class TreeModelSingleMeasuringEntity<T> : IoTEntity
|
public class TreeModelSingleMeasuringEntity<T> : IoTEntity
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -124,7 +124,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
/// 水表数据采集
|
/// 水表数据采集
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task WatermeterScheduledMeterAutoReading();
|
Task WatermeterScheduledMeterAutoReadding();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@ -709,7 +709,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: tempItem,
|
itemCode: tempItem,
|
||||||
subItemCode: null,
|
subItemCode: null,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: (TelemetryPacketTypeEnum)timeDensity);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -791,7 +792,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: itemCode,
|
itemCode: itemCode,
|
||||||
subItemCode: subItemCode,
|
subItemCode: subItemCode,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: TelemetryPacketTypeEnum.AmmeterAutomaticVerificationTime);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
|
|
||||||
if (taskList == null || taskList.Count <= 0)
|
if (taskList == null || taskList.Count <= 0)
|
||||||
@ -855,7 +857,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
_logger.LogError($"{nameof(AmmeterScheduledAutoValveControl)} 定时阀控运行时间{currentTime}没有找到对应的协议组件,-105");
|
_logger.LogError($"{nameof(AmmeterScheduledAutoValveControl)} 定时阀控运行时间{currentTime}没有找到对应的协议组件,-105");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var item in DayFreezeCodes)
|
foreach (var item in DayFreezeCodes)
|
||||||
{
|
{
|
||||||
ProtocolBuildResponse builderResponse = await protocolPlugin.BuildAsync(new ProtocolBuildRequest()
|
ProtocolBuildResponse builderResponse = await protocolPlugin.BuildAsync(new ProtocolBuildRequest()
|
||||||
@ -872,10 +874,11 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: item,
|
itemCode: item,
|
||||||
subItemCode: null,
|
subItemCode: null,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: TelemetryPacketTypeEnum.AmmeterDayFreeze);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (taskList == null || taskList.Count <= 0)
|
if (taskList == null || taskList.Count <= 0)
|
||||||
{
|
{
|
||||||
@ -895,7 +898,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
_ = KafkaProducerIssuedMessageAction(ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, data, groupIndex);
|
_ = KafkaProducerIssuedMessageAction(ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, data, groupIndex);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
@ -954,7 +957,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: item,
|
itemCode: item,
|
||||||
subItemCode: null,
|
subItemCode: null,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: TelemetryPacketTypeEnum.AmmeterMonthFreeze);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1097,7 +1101,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
/// 水表数据采集
|
/// 水表数据采集
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual async Task WatermeterScheduledMeterAutoReading()
|
public virtual async Task WatermeterScheduledMeterAutoReadding()
|
||||||
{
|
{
|
||||||
//获取缓存中的水表信息
|
//获取缓存中的水表信息
|
||||||
int timeDensity = 60;//水表目前只有一个采集频率 60分钟
|
int timeDensity = 60;//水表目前只有一个采集频率 60分钟
|
||||||
@ -1129,7 +1133,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
Conditions = conditions,
|
Conditions = conditions,
|
||||||
});
|
});
|
||||||
|
|
||||||
_logger.LogInformation($"{nameof(WatermeterScheduledMeterAutoReading)} {timeDensity}分钟采集水表数据处理完成");
|
_logger.LogInformation($"{nameof(WatermeterScheduledMeterAutoReadding)} {timeDensity}分钟采集水表数据处理完成");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1214,7 +1218,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
DeviceId = $"{watermeter.MeterId}",
|
DeviceId = $"{watermeter.MeterId}",
|
||||||
Timestamps = DateTimeOffset.Now.ToUnixTimeNanoseconds(),
|
Timestamps = DateTimeOffset.Now.ToUnixTimeNanoseconds(),
|
||||||
DatabaseBusiID = watermeter.DatabaseBusiID,
|
DatabaseBusiID = watermeter.DatabaseBusiID,
|
||||||
PendingCopyReadTime = timestamps,
|
PacketType = (int)TelemetryPacketTypeEnum.WatermeterAutoReadding,
|
||||||
|
PendingCopyReadTime = timestamps,
|
||||||
CreationTime = currentTime,
|
CreationTime = currentTime,
|
||||||
MeterAddress = watermeter.MeterAddress,
|
MeterAddress = watermeter.MeterAddress,
|
||||||
AFN = builderResponse.AFn,
|
AFN = builderResponse.AFn,
|
||||||
@ -1298,7 +1303,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: itemCode,
|
itemCode: itemCode,
|
||||||
subItemCode: null,
|
subItemCode: null,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: TelemetryPacketTypeEnum.TerminalVersion);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
|
|
||||||
if (taskList == null || taskList.Count <= 0)
|
if (taskList == null || taskList.Count <= 0)
|
||||||
@ -1376,7 +1382,8 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
itemCode: itemCode,
|
itemCode: itemCode,
|
||||||
subItemCode: null,
|
subItemCode: null,
|
||||||
pendingCopyReadTime: currentTime,
|
pendingCopyReadTime: currentTime,
|
||||||
creationTime: currentTime);
|
creationTime: currentTime,
|
||||||
|
packetType: TelemetryPacketTypeEnum.TelematicsModule);
|
||||||
taskList.Add(meterReadingRecords);
|
taskList.Add(meterReadingRecords);
|
||||||
|
|
||||||
if (taskList == null || taskList.Count <= 0)
|
if (taskList == null || taskList.Count <= 0)
|
||||||
@ -1560,8 +1567,9 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
/// <param name="subItemCode">端到端采集项编码</param>
|
/// <param name="subItemCode">端到端采集项编码</param>
|
||||||
/// <param name="pendingCopyReadTime">待采集时间,定时采集频率才是特殊情况,其他默认当前时间戳</param>
|
/// <param name="pendingCopyReadTime">待采集时间,定时采集频率才是特殊情况,其他默认当前时间戳</param>
|
||||||
/// <param name="creationTime">数据创建时间戳</param>
|
/// <param name="creationTime">数据创建时间戳</param>
|
||||||
|
/// <param name="packetType">数据包类型</param>
|
||||||
/// <returns></returns>
|
/// <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);
|
string taskMark = CommonHelper.GetTaskMark(builderResponse.AFn, builderResponse.Fn, ammeterInfo.MeteringCode, builderResponse.MSA, builderResponse.Seq);
|
||||||
return new MeterReadingTelemetryPacketInfo()
|
return new MeterReadingTelemetryPacketInfo()
|
||||||
@ -1575,10 +1583,13 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
PendingCopyReadTime = pendingCopyReadTime,
|
PendingCopyReadTime = pendingCopyReadTime,
|
||||||
CreationTime = creationTime,
|
CreationTime = creationTime,
|
||||||
MeterAddress = ammeterInfo.AmmerterAddress,
|
MeterAddress = ammeterInfo.AmmerterAddress,
|
||||||
|
PacketType = (int)packetType,
|
||||||
AFN = builderResponse.AFn,
|
AFN = builderResponse.AFn,
|
||||||
Fn = builderResponse.Fn,
|
Fn = builderResponse.Fn,
|
||||||
Seq = builderResponse.Seq,
|
Seq = builderResponse.Seq,
|
||||||
MSA = builderResponse.MSA,
|
MSA = builderResponse.MSA,
|
||||||
|
FocusId = ammeterInfo.FocusId,
|
||||||
|
FocusAddress = ammeterInfo.FocusAddress,
|
||||||
ItemCode = itemCode,
|
ItemCode = itemCode,
|
||||||
SubItemCode = subItemCode,
|
SubItemCode = subItemCode,
|
||||||
TaskMark = taskMark,
|
TaskMark = taskMark,
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using JiShe.CollectBus.IoTDB.Model;
|
|||||||
namespace JiShe.CollectBus.Ammeters
|
namespace JiShe.CollectBus.Ammeters
|
||||||
{
|
{
|
||||||
[EntityType(EntityTypeEnum.TableModel)]
|
[EntityType(EntityTypeEnum.TableModel)]
|
||||||
[GenerateAccessors]
|
[SourceAnalyzers]
|
||||||
public class ElectricityMeter : IoTEntity
|
public class ElectricityMeter : IoTEntity
|
||||||
{
|
{
|
||||||
[ATTRIBUTEColumn]
|
[ATTRIBUTEColumn]
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using JiShe.CollectBus.IoTDB.Model;
|
|||||||
namespace JiShe.CollectBus.Ammeters
|
namespace JiShe.CollectBus.Ammeters
|
||||||
{
|
{
|
||||||
[EntityType(EntityTypeEnum.TreeModel)]
|
[EntityType(EntityTypeEnum.TreeModel)]
|
||||||
[GenerateAccessors]
|
[SourceAnalyzers]
|
||||||
public class ElectricityMeterTreeModel : IoTEntity
|
public class ElectricityMeterTreeModel : IoTEntity
|
||||||
{
|
{
|
||||||
[ATTRIBUTEColumn]
|
[ATTRIBUTEColumn]
|
||||||
|
|||||||
@ -10,7 +10,7 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
|||||||
/// 抄读任务数据
|
/// 抄读任务数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[EntityType(EntityTypeEnum.TableModel)]
|
[EntityType(EntityTypeEnum.TableModel)]
|
||||||
[GenerateAccessors]
|
[SourceAnalyzers]
|
||||||
public class MeterReadingTelemetryPacketInfo : IoTEntity
|
public class MeterReadingTelemetryPacketInfo : IoTEntity
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -19,6 +19,12 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
|||||||
[FIELDColumn]
|
[FIELDColumn]
|
||||||
public string ScoreValue { get; set; }
|
public string ScoreValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 数据包类型
|
||||||
|
/// </summary>
|
||||||
|
[FIELDColumn]
|
||||||
|
public int PacketType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否手动操作
|
/// 是否手动操作
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -55,12 +61,6 @@ namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[FIELDColumn]
|
[FIELDColumn]
|
||||||
public string FocusAddress { get; set; }
|
public string FocusAddress { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 表Id
|
|
||||||
/// </summary>
|
|
||||||
[FIELDColumn]
|
|
||||||
public int MeterId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <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>
|
/// </summary>
|
||||||
[AttributeUsage(AttributeTargets.Class)]
|
[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