diff --git a/user-management/api/models/vacationModel.js b/user-management/api/models/vacationModel.js index c59307f..833a6d8 100644 --- a/user-management/api/models/vacationModel.js +++ b/user-management/api/models/vacationModel.js @@ -264,15 +264,17 @@ async function autoGrantLongServiceLeave(users, year, createdBy, settings) { if (!u.hire_date) continue; const hire = new Date(u.hire_date); - const yearsWorked = year - hire.getFullYear(); - // 해당 연도 내 threshold 도래 건만 (소급 없음) - if (yearsWorked !== thresholdYears) continue; - - // 기념일이 해당 연도인지 확인 + // 정확한 5년 기념일 계산 const anniversaryDate = new Date(hire); anniversaryDate.setFullYear(hire.getFullYear() + thresholdYears); + + // 기념일이 해당 연도가 아니면 스킵 if (anniversaryDate.getFullYear() !== year) continue; + // 기념일이 아직 도래하지 않았으면 스킵 (정확히 5년 경과 필요) + const today = new Date(); + if (today < anniversaryDate) continue; + // long_service_excluded 체크 const [userRows] = await db.query( 'SELECT long_service_excluded FROM sso_users WHERE user_id = ?', diff --git a/user-management/web/index.html b/user-management/web/index.html index 4770dcd..155a157 100644 --- a/user-management/web/index.html +++ b/user-management/web/index.html @@ -904,15 +904,21 @@ -