diff --git a/system1-factory/api/controllers/vacationRequestController.js b/system1-factory/api/controllers/vacationRequestController.js index 8ec44a7..3fc74a5 100644 --- a/system1-factory/api/controllers/vacationRequestController.js +++ b/system1-factory/api/controllers/vacationRequestController.js @@ -201,6 +201,15 @@ const vacationRequestController = { return res.status(400).json({ success: false, message: '이미 처리된 신청입니다' }); } + // sp_vacation_balances 차감 (특별휴가 우선 → 이월 → 기본 순서) + const request = results[0]; + const year = new Date(request.start_date).getFullYear(); + const daysUsed = parseFloat(request.days_used) || 0; + if (daysUsed > 0) { + const vacationBalanceModel = require('../models/vacationBalanceModel'); + await vacationBalanceModel.deductByPriority(request.user_id, year, daysUsed); + } + await vacationRequestModel.updateStatus(id, { status: 'approved', reviewed_by, review_note }); res.json({ success: true, message: '휴가 신청이 승인되었습니다' }); } catch (error) {