|
|
@@ -25,6 +25,7 @@ using TDengineDriver; |
|
|
|
using TDengineDriver.Impl; |
|
|
|
using TDengineTMQ; |
|
|
|
using HealthMonitor.Service.Cache; |
|
|
|
using System.Text.RegularExpressions; |
|
|
|
|
|
|
|
namespace HealthMonitor.Service.Biz.db |
|
|
|
{ |
|
|
@@ -1002,8 +1003,8 @@ namespace HealthMonitor.Service.Biz.db |
|
|
|
.Queryable<PregnancyHeartRateModel>() |
|
|
|
.AS(tableName) |
|
|
|
.Where(i => i.SerialNumber.Equals(serialNo)) |
|
|
|
.Where(i => i.Timestamp > daysAgo) |
|
|
|
.OrderByDescending(i => i.Timestamp) |
|
|
|
.Where(i => i.LastUpdate > daysAgo) |
|
|
|
.OrderByDescending(i => i.LastUpdate) |
|
|
|
.ToArrayAsync(); |
|
|
|
|
|
|
|
// 去除高频数据 |
|
|
@@ -1012,7 +1013,7 @@ namespace HealthMonitor.Service.Biz.db |
|
|
|
|
|
|
|
foreach (var item in collection) |
|
|
|
{ |
|
|
|
if (previousItem == null || (previousItem.Timestamp - item.Timestamp).TotalSeconds >= highFreqSampleInterval) |
|
|
|
if (previousItem == null || Math.Abs((previousItem.LastUpdate - item.LastUpdate).TotalSeconds) >= highFreqSampleInterval) |
|
|
|
{ |
|
|
|
filteredCollection.Add(item); |
|
|
|
previousItem = item; |
|
|
@@ -1035,6 +1036,9 @@ namespace HealthMonitor.Service.Biz.db |
|
|
|
// _logger.LogInformation($"{serialNo} 心率数据不足,无法计算其众数"); |
|
|
|
// return null; |
|
|
|
//} |
|
|
|
var listRes = filteredCollection.Select(i => new { last_update=i.LastUpdate,heart_rate=i.PregnancyHeartRate }).ToList(); |
|
|
|
_logger.LogInformation($"highFreqSampleInterval:{highFreqSampleInterval},{serialNo} 去除高频数据后列表: {JsonConvert.SerializeObject(listRes)}"); |
|
|
|
|
|
|
|
_logger.LogInformation($"{serialNo} 去除高频数据后的数据集: " + string.Join(", ", res)); |
|
|
|
|
|
|
|
#region 计算众数 |
|
|
|