ソースを参照

Reduce to 10 days.

Jon Mårtensson 3 年 前
コミット
7f4961005a
1 ファイル変更9 行追加14 行削除
  1. 9 14
      FreeAPS/Sources/APS/APSManager.swift

+ 9 - 14
FreeAPS/Sources/APS/APSManager.swift

@@ -691,19 +691,15 @@ final class BaseAPSManager: APSManager, Injectable {
         var uniqEvents: [TDD] = []
         storage.transaction { storage in
             storage.append(tdd, to: file, uniqBy: \.id)
-            uniqEvents = storage.retrieve(file, as: [TDD].self)?
-                .filter { $0.timestamp.addingTimeInterval(14.days.timeInterval) > Date() && $0.TDD != 0 }
-                .sorted { $0.timestamp > $1.timestamp } ?? []
+            uniqEvents = storage.retrieve(file, as: [TDD].self) ?? []
+            let tddArray = uniqEvents.map({ tddArray in tddArray }).sorted { $0.timestamp > $1.timestamp }
+            let _10_Array = tddArray.filter { $0.timestamp.addingTimeInterval(10.days.timeInterval) > Date() && $0.TDD != 0 }
+            let _2_hours_Array = tddArray.filter { $0.timestamp.addingTimeInterval(2.hours.timeInterval) > Date() && $0.TDD != 0 }
 
-            var totalAmount: [Decimal] = [0]
-            allTDD = uniqEvents.map({ allTDD in allTDD.TDD }) // .reduce(0, +)
+            allTDD = _10_Array.map({ each in each.TDD })
             let average14 = allTDD.reduce(0, +) / Decimal(allTDD.count)
-
-            let entriesPast2hours = uniqEvents // storage.retrieve(file, as: [TDD].self)?
-                .filter { $0.timestamp.addingTimeInterval(2.hours.timeInterval) > Date() }
-            totalAmount = entriesPast2hours.map({ totalAmount in totalAmount.TDD }) // .reduce(0, +)
-            let average2hours = totalAmount.reduce(0, +) / Decimal(totalAmount.count)
-
+            let _2hoursTDD = _2_hours_Array.map({ each in each.TDD })
+            let average2hours = _2hoursTDD.reduce(0, +) / Decimal(_2hoursTDD.count)
             let weight = preferences.weightPercentage
             let weighted_average = weight * average2hours + (1 - weight) * average14
             let averages = TDD_averages(
@@ -713,9 +709,8 @@ final class BaseAPSManager: APSManager, Injectable {
                 date: Date()
             )
             storage.save(averages, as: OpenAPS.Monitor.tdd_averages)
-            storage.save(Array(uniqEvents), as: file)
+            storage.save(Array(_10_Array), as: file)
         }
-        print("Test time of tdd() computation: \(-1 * tddStartedAt.timeIntervalSinceNow) s")
     }
 
     private func roundDecimal(_ decimal: Decimal, _ digits: Double) -> Decimal {
@@ -1219,7 +1214,7 @@ final class BaseAPSManager: APSManager, Injectable {
             storage.save(Array(uniqeEvents), as: file)
         }
         nightscout.uploadStatistics(dailystat: dailystat)
-        // nightscout.uploadPreferences()
+        nightscout.uploadPreferences()
         print("Test time of statistics computation: \(-1 * statisticsStartedAt.timeIntervalSinceNow) s")
     }