fix(tksupport): 전사 휴가 차감 시 관리계정·미입사자 제외
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,21 +61,25 @@ const companyHolidayModel = {
|
||||
}
|
||||
const typeId = types[0].id;
|
||||
|
||||
// 3. 전 활성 사원 연차 차감 (잔여일 무관 일괄 적용)
|
||||
// 3. 활성 사원 연차 차감 (관리계정 제외, 입사일 이후 휴가만 적용)
|
||||
const [result] = await conn.query(`
|
||||
UPDATE sp_vacation_balances SET used_days = used_days + 1, updated_at = NOW()
|
||||
WHERE vacation_type_id = ? AND year = YEAR(?) AND balance_type = 'AUTO'
|
||||
AND user_id IN (SELECT user_id FROM sso_users WHERE is_active = 1)
|
||||
`, [typeId, holiday.holiday_date]);
|
||||
AND user_id IN (
|
||||
SELECT user_id FROM sso_users
|
||||
WHERE is_active = 1 AND hire_date IS NOT NULL AND hire_date <= ?
|
||||
)
|
||||
`, [typeId, holiday.holiday_date, holiday.holiday_date]);
|
||||
|
||||
// 4. 차감 완료 표시
|
||||
await conn.query(
|
||||
'UPDATE company_holidays SET deduction_applied_at = NOW() WHERE id = ?', [holidayId]
|
||||
);
|
||||
|
||||
// 5. balance 없는 사원 수 체크 (경고용)
|
||||
// 5. balance 없는 사원 수 체크 (경고용, 관리계정·미입사자 제외)
|
||||
const [activeUsers] = await conn.query(
|
||||
'SELECT COUNT(*) as cnt FROM sso_users WHERE is_active = 1'
|
||||
'SELECT COUNT(*) as cnt FROM sso_users WHERE is_active = 1 AND hire_date IS NOT NULL AND hire_date <= ?',
|
||||
[holiday.holiday_date]
|
||||
);
|
||||
const missing = activeUsers[0].cnt - result.affectedRows;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user