Commit 35dce489 authored by Mahmoud Aglan's avatar Mahmoud Aglan

fix(hr): use hr_employee_profiles instead of employees table in Shift/Permission controllers

The employees table has no employee_number or employment_status columns.
These controllers should join hr_employee_profiles which has those fields.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 2097bc24
......@@ -26,11 +26,11 @@ class PermissionRequestController extends Controller
}
$permissions = $db->select(
"SELECT p.*, e.full_name_ar as employee_name, e.employee_number,
ap.full_name_ar as approved_by_name
"SELECT p.*, CONCAT(e.first_name_ar, ' ', e.last_name_ar) as employee_name, e.employee_number,
CONCAT(ap.first_name_ar, ' ', ap.last_name_ar) as approved_by_name
FROM hr_permission_requests p
JOIN employees e ON e.id = p.employee_id
LEFT JOIN employees ap ON ap.id = p.approved_by
JOIN hr_employee_profiles e ON e.id = p.employee_id
LEFT JOIN hr_employee_profiles ap ON ap.id = p.approved_by
WHERE {$where}
ORDER BY p.permission_date DESC",
$params
......@@ -48,7 +48,7 @@ class PermissionRequestController extends Controller
$this->authorize('hr.permissions.create');
$db = App::getInstance()->db();
$employees = $db->select("SELECT id, full_name_ar, employee_number FROM employees WHERE is_archived = 0 AND employment_status = 'active' ORDER BY full_name_ar");
$employees = $db->select("SELECT id, CONCAT(first_name_ar, ' ', last_name_ar) as full_name_ar, employee_number FROM hr_employee_profiles WHERE is_archived = 0 AND employment_status = 'active' ORDER BY first_name_ar");
return $this->view('HR.Views.permissions.form', ['employees' => $employees]);
}
......
......@@ -63,15 +63,15 @@ class ShiftController extends Controller
$db = App::getInstance()->db();
$assignments = $db->select(
"SELECT sa.*, e.full_name_ar as employee_name, e.employee_number, s.name_ar as shift_name
"SELECT sa.*, CONCAT(e.first_name_ar, ' ', e.last_name_ar) as employee_name, e.employee_number, s.name_ar as shift_name
FROM hr_shift_assignments sa
JOIN employees e ON e.id = sa.employee_id
JOIN hr_employee_profiles e ON e.id = sa.employee_id
JOIN hr_shifts s ON s.id = sa.shift_id
WHERE sa.is_active = 1
ORDER BY e.full_name_ar"
ORDER BY e.first_name_ar"
);
$employees = $db->select("SELECT id, full_name_ar, employee_number FROM employees WHERE is_archived = 0 AND employment_status = 'active' ORDER BY full_name_ar");
$employees = $db->select("SELECT id, CONCAT(first_name_ar, ' ', last_name_ar) as full_name_ar, employee_number FROM hr_employee_profiles WHERE is_archived = 0 AND employment_status = 'active' ORDER BY first_name_ar");
$shifts = $db->select("SELECT id, name_ar FROM hr_shifts WHERE is_active = 1");
return $this->view('HR.Views.shifts.assignments', [
......@@ -122,9 +122,9 @@ class ShiftController extends Controller
}
$violations = $db->select(
"SELECT v.*, e.full_name_ar as employee_name, e.employee_number
"SELECT v.*, CONCAT(e.first_name_ar, ' ', e.last_name_ar) as employee_name, e.employee_number
FROM hr_attendance_violations v
JOIN employees e ON e.id = v.employee_id
JOIN hr_employee_profiles e ON e.id = v.employee_id
WHERE {$where}
ORDER BY v.violation_date DESC, v.created_at DESC",
$params
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment