v1.1.8 - 교육 근무 변경 시 상단 알람 표시 및 실제 알람 완전 유지

This commit is contained in:
sanjeok77
2026-08-17 16:52:40 +09:00
parent 8888150c84
commit d2f2e05d4c
6 changed files with 42 additions and 19 deletions
@@ -524,8 +524,18 @@ class MainActivity : AppCompatActivity() {
val alarmTimes = mutableListOf<String>()
val isOff = shift == "휴무" || shift == "휴가"
// 교육으로 변경된 경우 원래 근무의 알람을 표시
val prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
val matchShift = if (shift == "교육") {
val team = prefs.getString(KEY_TEAM, "A") ?: "A"
val factory = prefs.getString("selected_factory", "Jeonju") ?: "Jeonju"
ShiftCalculator.getShift(date, team, factory)
} else {
shift
}
for (alarm in allAlarms) {
if (alarm.isEnabled && (alarm.shiftType == "기타" || (!isOff && alarm.shiftType == shift))) {
if (alarm.isEnabled && (alarm.shiftType == "기타" || (!isOff && alarm.shiftType == matchShift))) {
if (!alarmTimes.contains(alarm.time)) {
alarmTimes.add(alarm.time)
}
@@ -733,8 +743,15 @@ class MainActivity : AppCompatActivity() {
syncAllAlarms(this)
android.widget.Toast.makeText(this, "${selected}로 설정되었습니다. 알람이 해제됩니다.", android.widget.Toast.LENGTH_SHORT).show()
}
"교육" -> {
// 교육은 원래 근무 알람을 유지
repo.setOverride(date, selected, team, factory)
updateCalendar()
syncAllAlarms(this)
android.widget.Toast.makeText(this, "교육으로 기록되었습니다. 원래 근무 알람이 유지됩니다.", android.widget.Toast.LENGTH_SHORT).show()
}
else -> {
// New Types: 월차, 연차, 반월, 반년, 교육 -> Saved as Override with no time
// New Types: 월차, 연차, 반월, 반년 -> Saved as Override with no time
repo.setOverride(date, selected, team, factory)
// 연차 계산을 먼저 수행하고 달력 업데이트
repo.updateRemainingAnnualLeave()