Files
sam-docs/changes/20260320_attendance_calendar_exclude_fix.md

1.6 KiB

근태현황 캘린더 영업팀 제외 필터 누락 수정

날짜: 2026-03-20 작업자: Claude Code

변경 개요

근태현황 캘린더에서 영업팀 사원(오세형)이 결근으로 표시되는 오류를 수정한다.


원인 분석

2가지 문제가 복합적으로 발생:

  1. 자동 결근 스케줄러에 영업팀 제외 로직 부재: 기존 markAbsentees()getExcludedUserIds()를 호출하지 않아 영업팀 사원도 결근 처리됨 (3/19 23:50 자동 실행으로 오세형 결근 레코드 생성)
  2. 캘린더 뷰에 제외 필터 누락: getMonthlyCalendarData()에만 getExcludedUserIds() 필터가 빠져있음. 목록/통계/요약에는 적용되어 있었음

수정된 파일

파일 변경 내용
mng/app/Services/HR/AttendanceService.php getMonthlyCalendarData()getExcludedUserIds() 필터 추가

추가 조치

조치 내용
운영DB 오세형(user_id:84) 잘못된 결근 레코드(id:432) 직접 삭제

제외 필터 적용 현황 (수정 후)

메서드 제외 필터
buildFilteredQuery() (목록)
getMonthlyStats() (통계)
getMonthlyCalendarData() (캘린더) (이번 수정)
getEmployeeMonthlySummary() (요약)
getOvertimeAlerts() (초과근무)
markAbsentees() (결근 처리) (이전 커밋에서 수정)

관련 문서