From e62f21c86acf9ee02047e3c0fe1080d1d0b03918 Mon Sep 17 00:00:00 2001 From: sanjeok77 Date: Fri, 13 Mar 2026 06:48:50 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=97=B0=EC=9E=A5=EA=B7=BC=EB=AC=B4?= =?UTF-8?q?=EB=A5=BC=20=ED=95=B4=EB=8B=B9=EC=9B=94=20=ED=86=A0=EC=9A=94?= =?UTF-8?q?=EC=9D=BC=20=ED=9A=9F=EC=88=98=20=EA=B8=B0=EB=B3=B8=EA=B0=92?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 기존: 실제 근무한 토요일만 계산 - 변경: 해당 월의 토요일 개수 × 2시간으로 기본 표시 - 예: 4개 토요일 → 8시간, 5개 토요일 → 10시간 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- .../com/example/shiftalarm/ShiftRepository.kt | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) 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 } }