优化报文数据构建
This commit is contained in:
parent
921973e5d4
commit
9603b02532
@ -56,7 +56,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -81,7 +81,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -106,7 +106,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -130,7 +130,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -155,7 +155,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -179,7 +179,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -204,7 +204,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -228,7 +228,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -253,7 +253,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
};
|
||||
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter,request.DataUnit);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -283,7 +283,7 @@ namespace JiShe.CollectBus.Protocol.T37612012.SendData
|
||||
Fn = request.Fn
|
||||
};
|
||||
var bytes = Build3761SendData.BuildSendCommandBytes(reqParameter, dataUnit);
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA, };
|
||||
return new Telemetry3761PacketResponse() { Seq = reqParameter.Seq.PRSEQ, Data = bytes, MSA = reqParameter.MSA,Pn = reqParameter.Pn,AFn = (int)reqParameter.AFN,Fn = reqParameter.Fn };
|
||||
}
|
||||
|
||||
#region SpecialAmmeter 特殊电表转发
|
||||
|
||||
@ -15,6 +15,22 @@
|
||||
/// </summary>
|
||||
public int MSA { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 帧功能域AFN
|
||||
/// </summary>
|
||||
public int AFn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 帧功能域FN
|
||||
/// </summary>
|
||||
public int Fn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 抄读计量点,也就是终端电表对应端口
|
||||
/// </summary>
|
||||
public int Pn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报文体
|
||||
/// </summary>
|
||||
|
||||
@ -20,6 +20,11 @@
|
||||
/// </summary>
|
||||
public int Fn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 抄读计量点,也就是终端电表对应端口
|
||||
/// </summary>
|
||||
public int Pn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 帧序列域SEQ
|
||||
/// </summary>
|
||||
|
||||
@ -540,7 +540,7 @@ public class SampleAppService : CollectBusAppService, ISampleAppService, IKafkaS
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[KafkaSubscribe(ProtocolConst.TESTSENDTOPIC)/*, ApiExplorerSettings(IgnoreApi = true)*/]
|
||||
[KafkaSubscribe(ProtocolConst.TESTSENDTOPIC), ApiExplorerSettings(IgnoreApi = true)]
|
||||
|
||||
public async Task<ISubscribeAck> KafkaSubscribeTestSendAsync(KafkaSendDto dto)
|
||||
{
|
||||
|
||||
@ -137,29 +137,117 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
|
||||
//电表定时广播校时,一天一次。
|
||||
string currentTimeStr = $"{currentTime:HH:mm:00}";
|
||||
if (string.Equals(currentTimeStr, _applicationOptions.AutomaticVerificationTime, StringComparison.CurrentCultureIgnoreCase))//自动校时
|
||||
{
|
||||
//_logger.LogInformation($"{nameof(AmmeterScheduledAutomaticVerificationTime)} 电表自动校时,非自动校时时间");
|
||||
//return;
|
||||
//if (string.Equals(currentTimeStr, _applicationOptions.AutomaticVerificationTime, StringComparison.CurrentCultureIgnoreCase))//自动校时
|
||||
//{
|
||||
// //_logger.LogInformation($"{nameof(AmmeterScheduledAutomaticVerificationTime)} 电表自动校时,非自动校时时间");
|
||||
// //return;
|
||||
|
||||
_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
timeDensity: timeDensity,
|
||||
nextTaskTime: currentTime,
|
||||
meterType: MeterTypeEnum.Ammeter,
|
||||
taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
{
|
||||
var tempTask = await AmmeterScheduledAutomaticVerificationTime(timeDensity, data, groupIndex, timestamps);
|
||||
// _ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledAutomaticVerificationTime(timeDensity, data, groupIndex, timestamps);
|
||||
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表自动校时 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
//}
|
||||
//else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTerminalVersionTime, StringComparison.CurrentCultureIgnoreCase))//集中器版本号读取
|
||||
//{
|
||||
// _ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await ConcentratorScheduledAutomaticGetTerminalVersion(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"集中器 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
//}
|
||||
//else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTelematicsModuleTime, StringComparison.CurrentCultureIgnoreCase))//SIM卡读取
|
||||
//{
|
||||
// _ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await ConcentratorScheduledAutomaticGetTelematicsModule(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"集中器 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
//}
|
||||
//else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTelematicsModuleTime, StringComparison.CurrentCultureIgnoreCase))//月冻结
|
||||
//{
|
||||
// _ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledGetAutomaticDayFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
//}
|
||||
//else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticDayFreezeTime, StringComparison.CurrentCultureIgnoreCase))//日冻结
|
||||
//{
|
||||
// _ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledGetAutomaticMonthFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// _logger.LogInformation($"{nameof(CreateToBeIssueTasks)} 不是自动校时、采集终端信息等时间,继续处理其他");
|
||||
//}
|
||||
|
||||
|
||||
//_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledAutomaticVerificationTime(timeDensity, data, groupIndex, timestamps);
|
||||
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表自动校时 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
|
||||
if (tempTask == null || tempTask.Count <= 0)
|
||||
{
|
||||
_logger.LogWarning($"电表自动校时 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
return;
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
});
|
||||
}
|
||||
else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTerminalVersionTime, StringComparison.CurrentCultureIgnoreCase))//集中器版本号读取
|
||||
{
|
||||
_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
timeDensity: timeDensity,
|
||||
nextTaskTime: currentTime,
|
||||
@ -174,62 +262,53 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
});
|
||||
}
|
||||
else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTelematicsModuleTime, StringComparison.CurrentCultureIgnoreCase))//SIM卡读取
|
||||
{
|
||||
_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
timeDensity: timeDensity,
|
||||
nextTaskTime: currentTime,
|
||||
meterType: MeterTypeEnum.Ammeter,
|
||||
taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
{
|
||||
var tempTask = await ConcentratorScheduledAutomaticGetTelematicsModule(timeDensity, data, groupIndex, timestamps);
|
||||
if (tempTask == null || tempTask.Count <= 0)
|
||||
{
|
||||
_logger.LogWarning($"集中器 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
return;
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
});
|
||||
}
|
||||
else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticTelematicsModuleTime, StringComparison.CurrentCultureIgnoreCase))//月冻结
|
||||
{
|
||||
_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
timeDensity: timeDensity,
|
||||
nextTaskTime: currentTime,
|
||||
meterType: MeterTypeEnum.Ammeter,
|
||||
taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
{
|
||||
var tempTask = await AmmeterScheduledGetAutomaticDayFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
if (tempTask == null || tempTask.Count <= 0)
|
||||
{
|
||||
_logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
return;
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
});
|
||||
}
|
||||
else if (string.Equals(currentTimeStr, _applicationOptions.AutomaticDayFreezeTime, StringComparison.CurrentCultureIgnoreCase))//日冻结
|
||||
{
|
||||
_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
timeDensity: timeDensity,
|
||||
nextTaskTime: currentTime,
|
||||
meterType: MeterTypeEnum.Ammeter,
|
||||
taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
{
|
||||
var tempTask = await AmmeterScheduledGetAutomaticMonthFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
if (tempTask == null || tempTask.Count <= 0)
|
||||
{
|
||||
_logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
return;
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogInformation($"{nameof(CreateToBeIssueTasks)} 不是自动校时、采集终端信息等时间,继续处理其他");
|
||||
}
|
||||
|
||||
//_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await ConcentratorScheduledAutomaticGetTelematicsModule(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"集中器 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
|
||||
//_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledGetAutomaticDayFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
|
||||
|
||||
|
||||
//_ = CreateMeterPublishTask<DeviceInfo>(
|
||||
// timeDensity: timeDensity,
|
||||
// nextTaskTime: currentTime,
|
||||
// meterType: MeterTypeEnum.Ammeter,
|
||||
// taskCreateAction: async (timeDensity, data, groupIndex, timestamps) =>
|
||||
// {
|
||||
// var tempTask = await AmmeterScheduledGetAutomaticMonthFreezeData(timeDensity, data, groupIndex, timestamps);
|
||||
// if (tempTask == null || tempTask.Count <= 0)
|
||||
// {
|
||||
// _logger.LogWarning($"电表 {data.Name} 任务数据构建失败:{data.Serialize()}");
|
||||
// return;
|
||||
// }
|
||||
// _ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerOtherIssuedEventName, tempTask));
|
||||
// });
|
||||
|
||||
//检查任务时间节点,由于定时任务10秒钟运行一次,需要判定当前时间是否在任务时间节点内,不在则跳过
|
||||
var currentTaskTime = tasksToBeIssueModel.LastTaskTime.CalculateNextCollectionTime(timeDensity);//程序启动缓存电表的时候,NextTaskTime需要格式化到下一个采集点时间。
|
||||
@ -294,15 +373,15 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
await FreeRedisProvider.Instance.SetAsync(item, tasksToBeIssueModel);
|
||||
}
|
||||
|
||||
//电表定时阀控任务处理。
|
||||
var autoValveControlTask = await AmmeterScheduledAutoValveControl();
|
||||
////电表定时阀控任务处理。
|
||||
//var autoValveControlTask = await AmmeterScheduledAutoValveControl();
|
||||
|
||||
if (autoValveControlTask == null || autoValveControlTask.Count <= 0)
|
||||
{
|
||||
_logger.LogWarning($"{nameof(AmmeterScheduledAutoValveControl)}电表定时阀控没有可操作的任务");
|
||||
return;
|
||||
}
|
||||
_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerAutoValveControlIssuedEventName, autoValveControlTask));
|
||||
//if (autoValveControlTask == null || autoValveControlTask.Count <= 0)
|
||||
//{
|
||||
// _logger.LogWarning($"{nameof(AmmeterScheduledAutoValveControl)}电表定时阀控没有可操作的任务");
|
||||
// return;
|
||||
//}
|
||||
//_ = _dataChannelManage.ScheduledMeterTaskWriterAsync(DataChannelManage.TaskDataChannel.Writer, (ProtocolConst.AmmeterSubscriberWorkerAutoValveControlIssuedEventName, autoValveControlTask));
|
||||
}
|
||||
|
||||
#region 电表采集处理
|
||||
@ -1346,12 +1425,15 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
|
||||
try
|
||||
{
|
||||
#if DEBUG
|
||||
#else
|
||||
//判断是否是自动获取版本号时间
|
||||
if (!string.Equals(currentTimeStr, _applicationOptions.AutomaticTerminalVersionTime, StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
_logger.LogInformation($"{nameof(ConcentratorScheduledAutomaticGetTerminalVersion)} 集中器自动获取版本号,非自动处理时间");
|
||||
return null;
|
||||
}
|
||||
#endif
|
||||
|
||||
List<MeterReadingTelemetryPacketInfo> taskList = new List<MeterReadingTelemetryPacketInfo>();
|
||||
|
||||
@ -1475,7 +1557,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
||||
throw;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
#region 公共处理方法
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user