diff --git a/INDEX.md b/INDEX.md index 7e4b923..44677c8 100644 --- a/INDEX.md +++ b/INDEX.md @@ -300,6 +300,7 @@ DB 도메인별: | [20260320_income_statement_monthly_total_and_items.md](changes/20260320_income_statement_monthly_total_and_items.md) | 손익계산서 월별보기 합계 열 추가 및 세부계정과목 표시 개선 | | [20260320_attendance_manual_absent.md](changes/20260320_attendance_manual_absent.md) | 근태현황 자동 결근 처리 → 수동 트리거 전환 (스케줄러 비활성화, 버튼 추가) | | [20260320_attendance_calendar_exclude_fix.md](changes/20260320_attendance_calendar_exclude_fix.md) | 근태 캘린더 영업팀 제외 필터 누락 수정 + 운영DB 오류 데이터 삭제 | +| [20260320_leave_list_sort_by_period.md](changes/20260320_leave_list_sort_by_period.md) | 휴가관리 목록 정렬 기준 변경 (created_at → start_date 최신순) | --- diff --git a/changes/20260320_leave_list_sort_by_period.md b/changes/20260320_leave_list_sort_by_period.md new file mode 100644 index 0000000..abac66a --- /dev/null +++ b/changes/20260320_leave_list_sort_by_period.md @@ -0,0 +1,43 @@ +# 휴가관리 목록 정렬 기준 변경 (기간 최신순) + +**날짜:** 2026-03-20 +**작업자:** Claude Code + +## 변경 개요 + +휴가관리 목록의 정렬 기준을 `created_at`(등록일) → `start_date`(시작일) 내림차순으로 변경하여, 기간이 최신인 휴가가 상단에 표시되도록 수정. + +## 수정된 파일 + +| 파일 | 변경 내용 | +|------|----------| +| `mng/app/Services/HR/LeaveService.php` | `getLeaves()` 메서드의 `orderBy('created_at', 'desc')` → `orderBy('start_date', 'desc')` | + +## 상세 변경 사항 + +### 변경 전 + +```php +return $query + ->orderByRaw("FIELD(status, 'pending', 'approved', 'rejected', 'cancelled')") + ->orderBy('created_at', 'desc') + ->paginate($perPage); +``` + +### 변경 후 + +```php +return $query + ->orderByRaw("FIELD(status, 'pending', 'approved', 'rejected', 'cancelled')") + ->orderBy('start_date', 'desc') + ->paginate($perPage); +``` + +### 정렬 우선순위 + +1. **상태 우선**: 대기(pending) → 승인(approved) → 반려(rejected) → 취소(cancelled) +2. **기간 최신순**: `start_date` 내림차순 (최신 기간이 위) + +## 관련 문서 + +- 없음