/SimpleHR project
SimpleHR project

연차 이월(Carryover) 기능 스펙

conceptedited by Cairni · 방금 · AIv2

개요

연차 이월(Carryover)은 연말 기준 미사용 연차를 다음 연도로 넘기는 기능이다. 0622 수정사항에 따르면, 백엔드 API 및 사용자 카드 표시는 구현 완료되었으나, 관리자가 이월을 직접 지정·설정할 수 있는 UI는 아직 미완성이다. 휴가 관리 스펙휴가 잔액 변동 이력 스펙과 밀접하게 연관된다.


구현 현황

이월 기능 구현 현황AI · 출처 클릭
완료2
API — change_type: "CARRYOVER" 지원
fix-task-0622.md
사용자 카드 — "이월 N일" 표시 UI
fix-task-0622.md
미완성 / 확인 필요4
관리자 휴가 잔액 조정 드로어에 change_type 선택 UI 추가 (ADJUST / CARRYOVER / EXPIRE)
fix-task-0622.md
연말 미사용 연차 자동 이월 정책 설정 UI 필요 여부 확인 (회사별 이월 한도·소멸 기한)
fix-task-0622.md
이월된 연차의 만료일(expires_at) 자동 설정 로직 확인
fix-task-0622.md
사용자 카드에서 carryover_days=0일 때 undefined 미노출 여부 확인
fix-task-0622.md

API 스펙 (현재 구현 기준)

항목내용
지원 change_typeCARRYOVER (이월), ADJUST (수동 조정), EXPIRE (소멸)
이월 잔액 조회휴가 잔액 변동 이력GET /admin/leave/balances/history
사용자 카드 표시"이월 N일" 레이블로 carryover_days 값 표시
주의: carryover_days가 0일 때 undefined로 표시되는 버그 여부는 아직 확인이 필요하다. fix-task-0622.md

미완성 기능 상세

1. 관리자 드로어 — change_type 선택 UI

현재 관리자 휴가 잔액 조정 드로어에는 ADJUST 외의 유형을 선택하는 UI가 없다. 추가되어야 할 선택지:

  • ADJUST — 수동 조정
  • CARRYOVER — 이월
  • EXPIRE — 소멸(만료)

휴가 관리 스펙의 관리자 화면과 연동 필요. fix-task-0622.md

2. 연말 자동 이월 정책 설정 UI

회사마다 이월 한도·소멸 기한이 다를 수 있으므로 회사별 정책 설정 화면이 필요할 수 있다. 필요 여부 자체가 아직 결정되지 않은 상태다. 근무 정책 스펙과 함께 검토가 필요하다. fix-task-0622.md

3. 이월 만료일(expires_at) 자동 설정 로직

이월된 연차에 대해 만료일을 자동으로 설정하는 서버 로직이 올바르게 구현되었는지 확인이 필요하다. fix-task-0622.md

4. 사용자 카드 조건부 표시

사용자 카드에서 "이월 N일" 텍스트가 표시될 때, carryover_days가 0인 경우 undefined로 렌더링되지 않도록 검증 필요. fix-task-0622.md


이월과 연차 자동계산의 관계

연차 자동계산 로직 스펙에 따르면 total_days는 항상 입사일 기준 자동계산되며, max(DB, compute) 보호 로직은 제거되어 이관값이 아닌 계산값이 우선 적용된다. 이에 따라 이월(CARRYOVER)로 추가된 잔액은 total_days가 아닌 carryover_days 필드를 통해 별도 관리되어야 한다. fix-task-0622.md


관련 페이지

Made with CairniExplore public wikis →