diff --git a/app/src/main/java/com/example/shiftalarm/FragmentSettingsLab.kt b/app/src/main/java/com/example/shiftalarm/FragmentSettingsLab.kt index 67942b8..e36592f 100644 --- a/app/src/main/java/com/example/shiftalarm/FragmentSettingsLab.kt +++ b/app/src/main/java/com/example/shiftalarm/FragmentSettingsLab.kt @@ -31,6 +31,7 @@ class FragmentSettingsLab : Fragment() { setupSpinner() loadAnnualLeave() + loadSaturdayOvertime() } private fun setupSpinner() { @@ -106,6 +107,14 @@ class FragmentSettingsLab : Fragment() { } } + private fun loadSaturdayOvertime() { + lifecycleScope.launch { + val repo = ShiftRepository(requireContext()) + val overtimeHours = repo.getSaturdayOvertimeHours() + binding.tvSaturdayOvertime.text = "$overtimeHours" + } + } + override fun onDestroyView() { super.onDestroyView() _binding = null diff --git a/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt b/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt index b7f1511..fd2aabb 100644 --- a/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt +++ b/app/src/main/java/com/example/shiftalarm/ShiftRepository.kt @@ -108,4 +108,19 @@ class ShiftRepository(private val context: Context) { )) } } + + suspend fun getSaturdayOvertimeHours(): Int = withContext(Dispatchers.IO) { + val currentYear = LocalDate.now().year + val allOverrides = dao.getAllOverrides() + + val saturdayWorkDays = allOverrides.filter { override -> + val date = LocalDate.parse(override.date) + date.year == currentYear && + date.dayOfWeek == java.time.DayOfWeek.SATURDAY && + override.shift != "휴무" && + override.shift != "휴가" + } + + saturdayWorkDays.size * 2 + } } diff --git a/app/src/main/res/layout/fragment_settings_lab.xml b/app/src/main/res/layout/fragment_settings_lab.xml index e0a12ae..7a21ddf 100644 --- a/app/src/main/res/layout/fragment_settings_lab.xml +++ b/app/src/main/res/layout/fragment_settings_lab.xml @@ -123,14 +123,64 @@ android:layout_marginBottom="8dp" android:gravity="center"/> - + + + + + + + + + + + + + + + + +