diff --git a/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt b/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt index fd2aabb..ae70ed0 100644 --- a/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt +++ b/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt @@ -110,17 +110,21 @@ class ShiftRepository(private val context: Context) { } suspend fun getSaturdayOvertimeHours(): Int = withContext(Dispatchers.IO) { - val currentYear = LocalDate.now().year - val allOverrides = dao.getAllOverrides() + val today = LocalDate.now() + val yearMonth = java.time.YearMonth.of(today.year, today.monthValue) - val saturdayWorkDays = allOverrides.filter { override -> - val date = LocalDate.parse(override.date) - date.year == currentYear && - date.dayOfWeek == java.time.DayOfWeek.SATURDAY && - override.shift != "휴무" && - override.shift != "휴가" + // 해당 월의 토요일 개수 계산 + var saturdayCount = 0 + var date = yearMonth.atDay(1) + val lastDay = yearMonth.atEndOfMonth() + + while (!date.isAfter(lastDay)) { + if (date.dayOfWeek == java.time.DayOfWeek.SATURDAY) { + saturdayCount++ + } + date = date.plusDays(1) } - saturdayWorkDays.size * 2 + saturdayCount * 2 } }