From e5d362bac9326e93b4a3c95242fdaa3cc581cdbb Mon Sep 17 00:00:00 2001 From: Carlos Macaneta Date: Tue, 15 Oct 2024 10:35:45 +0200 Subject: [PATCH] fix: fixing overdue event count --- .../rei/data/source/repository/DataManagerImpl.kt | 3 ++- .../main/java/org/saudigitus/rei/utils/Extensions.kt | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/rei/src/main/java/org/saudigitus/rei/data/source/repository/DataManagerImpl.kt b/rei/src/main/java/org/saudigitus/rei/data/source/repository/DataManagerImpl.kt index 10a6a6e3c1..1f8c0730cb 100644 --- a/rei/src/main/java/org/saudigitus/rei/data/source/repository/DataManagerImpl.kt +++ b/rei/src/main/java/org/saudigitus/rei/data/source/repository/DataManagerImpl.kt @@ -13,6 +13,7 @@ import org.saudigitus.rei.utils.Constants import org.saudigitus.rei.utils.HardcodeData import org.saudigitus.rei.utils.Utils.fromJson import org.saudigitus.rei.utils.countEventsByStatusToday +import org.saudigitus.rei.utils.overdueEventCount import javax.inject.Inject class DataManagerImpl @@ -48,7 +49,7 @@ class DataManagerImpl val (scheduledCount, completedCount, overdueCount) = awaitAll( async { d2.countEventsByStatusToday(program, stage, EventStatus.SCHEDULE) }, async { d2.countEventsByStatusToday(program, stage, EventStatus.COMPLETED) }, - async { d2.countEventsByStatusToday(program, stage, EventStatus.OVERDUE) }, + async { d2.overdueEventCount(program, stage) }, ) val stageStatus = HardcodeData.getHomeTabItemData() diff --git a/rei/src/main/java/org/saudigitus/rei/utils/Extensions.kt b/rei/src/main/java/org/saudigitus/rei/utils/Extensions.kt index 700a5507a6..1ff0f94e22 100644 --- a/rei/src/main/java/org/saudigitus/rei/utils/Extensions.kt +++ b/rei/src/main/java/org/saudigitus/rei/utils/Extensions.kt @@ -25,3 +25,13 @@ fun D2.countEventsByStatusToday( .byEventDate().eq(DateUtils.getInstance().today) .byStatus().eq(eventStatus) .blockingCount() + + +fun D2.overdueEventCount( + program: String, + stage: String, +): Int = eventModule().events() + .byProgramUid().eq(program) + .byProgramStageUid().eq(stage) + .byDueDate().before(DateUtils.getInstance().today) + .blockingCount() \ No newline at end of file