diff --git a/system1-factory/api/controllers/monthlyComparisonController.js b/system1-factory/api/controllers/monthlyComparisonController.js index 9f0f3d9..b61b957 100644 --- a/system1-factory/api/controllers/monthlyComparisonController.js +++ b/system1-factory/api/controllers/monthlyComparisonController.js @@ -284,10 +284,12 @@ const MonthlyComparisonController = { const workers = await Model.getAllStatus(parseInt(year), parseInt(month), department_id ? parseInt(department_id) : null); - let confirmed = 0, pending = 0, rejected = 0; + let confirmed = 0, pending = 0, rejected = 0, review_sent = 0, change_request = 0; workers.forEach(w => { if (w.status === 'confirmed') confirmed++; else if (w.status === 'rejected') rejected++; + else if (w.status === 'review_sent') review_sent++; + else if (w.status === 'change_request') change_request++; else pending++; }); @@ -295,14 +297,17 @@ const MonthlyComparisonController = { success: true, data: { period: { year: parseInt(year), month: parseInt(month) }, - summary: { total_workers: workers.length, confirmed, pending, rejected }, + summary: { total_workers: workers.length, confirmed, pending, rejected, review_sent, change_request }, workers: workers.map(w => ({ user_id: w.user_id, worker_name: w.worker_name, job_type: w.job_type, department_name: w.department_name, status: w.status || 'pending', confirmed_at: w.confirmed_at, reject_reason: w.reject_reason, + change_details: w.change_details || null, + admin_checked: w.admin_checked || 0, total_work_days: w.total_work_days || 0, total_work_hours: parseFloat(w.total_work_hours || 0), total_overtime_hours: parseFloat(w.total_overtime_hours || 0), + vacation_days: parseFloat(w.vacation_days || 0), mismatch_count: w.mismatch_count || 0 })) }