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"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+