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 ...@@ -26,11 +26,11 @@ class PermissionRequestController extends Controller
} }
$permissions = $db->select( $permissions = $db->select(
"SELECT p.*, e.full_name_ar as employee_name, e.employee_number, "SELECT p.*, CONCAT(e.first_name_ar, ' ', e.last_name_ar) as employee_name, e.employee_number,
ap.full_name_ar as approved_by_name CONCAT(ap.first_name_ar, ' ', ap.last_name_ar) as approved_by_name
FROM hr_permission_requests p FROM hr_permission_requests p
JOIN employees e ON e.id = p.employee_id JOIN hr_employee_profiles e ON e.id = p.employee_id
LEFT JOIN employees ap ON ap.id = p.approved_by LEFT JOIN hr_employee_profiles ap ON ap.id = p.approved_by
WHERE {$where} WHERE {$where}
ORDER BY p.permission_date DESC", ORDER BY p.permission_date DESC",
$params $params
...@@ -48,7 +48,7 @@ class PermissionRequestController extends Controller ...@@ -48,7 +48,7 @@ class PermissionRequestController extends Controller
$this->authorize('hr.permissions.create'); $this->authorize('hr.permissions.create');
$db = App::getInstance()->db(); $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]); return $this->view('HR.Views.permissions.form', ['employees' => $employees]);
} }
......
...@@ -63,15 +63,15 @@ class ShiftController extends Controller ...@@ -63,15 +63,15 @@ class ShiftController extends Controller
$db = App::getInstance()->db(); $db = App::getInstance()->db();
$assignments = $db->select( $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 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 JOIN hr_shifts s ON s.id = sa.shift_id
WHERE sa.is_active = 1 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"); $shifts = $db->select("SELECT id, name_ar FROM hr_shifts WHERE is_active = 1");
return $this->view('HR.Views.shifts.assignments', [ return $this->view('HR.Views.shifts.assignments', [
...@@ -122,9 +122,9 @@ class ShiftController extends Controller ...@@ -122,9 +122,9 @@ class ShiftController extends Controller
} }
$violations = $db->select( $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 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} WHERE {$where}
ORDER BY v.violation_date DESC, v.created_at DESC", ORDER BY v.violation_date DESC, v.created_at DESC",
$params $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