Commit Graph

9 Commits

Author SHA1 Message Date
김보곤
511bfa3ec5 feat: [leave] 휴가 신청 시 결재선 선택 기능 추가
- 휴가 신청 모달에 결재선 드롭다운 + 미리보기 UI 추가
- 선택된 결재선으로 결재 생성 (미선택 시 기본결재선 fallback)
- 휴가 목록에 결재진행 컬럼 추가 (원형 아이콘: ✓승인/✗반려/숫자대기/파랑현재)
- approval.steps.approver eager load 추가
2026-03-03 22:36:30 +09:00
김보곤
e0980702a6 fix: [leaves] 최종결재자 조회 시 reorder() 적용
- steps() 관계의 기본 orderBy(ASC)와 충돌 방지
- reorder('step_order', 'desc')로 마지막 승인자 정확히 조회
2026-02-28 16:03:28 +09:00
김보곤
603767cb0e fix: [leaves] 결재 승인 시 최종결재자 ID 조회 수정
- $approval->steps (캐시된 컬렉션) → $approval->steps() (fresh 쿼리)로 변경
- 트랜잭션 내에서 업데이트된 step이 정확히 반영되도록 수정
2026-02-28 16:01:49 +09:00
김보곤
34b8a75b08 feat: [leaves] 휴가신청 → 전자결재 자동 연동
- LeaveService: 휴가 신청 시 결재 자동 생성+상신
- LeaveService: approveByApproval/rejectByApproval 메서드 추가
- LeaveService: deletePendingLeave 시 연결된 결재 자동 취소
- ApprovalService: 승인/반려/회수/전결 시 휴가 상태 자동 동기화
- Leave 모델: approval_id, approval() 관계 추가
- UI: pending 휴가에 결재 상세 링크 추가, 승인/반려 버튼 제거
2026-02-28 15:54:59 +09:00
김보곤
c3bb357513 feat: [leave] 잔여연차 퇴사자 포함 및 퇴사일 기준 연차 계산
- getBalanceSummary에 resigned 상태 포함
- 퇴사자 연차는 퇴사일까지만 산출
- 퇴사자 1년 미만 재계산 대상 제외
- 상태 컬럼 추가 (재직/휴직/퇴사 배지)
- 퇴사자 행 회색 배경 시각적 구분
- 근속 계산: 퇴사자는 입사일~퇴사일 기준
2026-02-27 13:16:26 +09:00
김보곤
52a0ef7899 feat: [leave] 잔여연차 테이블 헤더 클릭 정렬 기능 추가
- 사원, 부서, 입사일, 부여, 사용, 잔여, 소진율 컬럼 정렬 지원
- 기본 정렬: 입사일 오름차순 (빠른 순)
- 활성 정렬 컬럼 파란색 강조 + 방향 화살표 표시
2026-02-27 13:09:04 +09:00
김보곤
494454ce1d fix: [leave] 1년 미만 직원 연차 부여를 월별 발생 방식으로 수정
- 입사일~오늘 완료 월수 기준으로 연차 산출 (기존: 연말까지 선부여)
- 잔여연차 조회 시 1년 미만 직원 total_days 자동 재계산
- 도움말 가이드 연차 산출 방식 설명 갱신
2026-02-27 12:58:04 +09:00
김보곤
c116551090 feat: [leave] 잔여연차 탭 전체 직원 자동 표시 + 연차일수 자동 산출
- 사원관리 재직/휴직 직원 전체가 잔여연차 탭에 자동 표시
- balance 레코드 없는 직원은 insertOrIgnore로 자동 생성
- 입사일 기반 근속년수로 연차일수 자동 산출 (근로기준법 제60조)
- 테이블에 입사일/근속 컬럼 추가 (6→8컬럼)
2026-02-27 11:22:54 +09:00
김보곤
8c4b6a2786 feat: [leave] 휴가관리 Phase 1 구현
- Leave, LeavePolicy, LeaveGrant 모델 생성
- LeaveBalance 헬퍼 메서드 추가 (useLeave, restoreLeave, canUse)
- LeaveService 핵심 로직 (신청, 승인, 반려, 취소, 잔여연차, 통계)
- API 컨트롤러 (목록, 등록, 승인/반려/취소, 잔여연차, 통계, CSV 내보내기)
- 뷰 컨트롤러 + 라우트 등록 (web, api)
- Blade 뷰 (index + 3개 탭 partials: table, balance, stats)
2026-02-27 09:06:52 +09:00