diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index e3e921a..348b42a 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -3784,7 +3784,7 @@ class EmployeeRestController extends AdminController ->where('cp.enrolment_visibility', 1) ->where('cp.open_for_enrollment', 1) ->where('cp.policy_status', 1) - ->whereIn('cp.policy_type_id', [1, 2, 6, 7]) + ->whereIn('cp.policy_type_id', [1, 2, 3, 6, 7]) ->orderBy('employees.created_at', 'desc') ->groupBy('employee_polices.client_policy_id'); @@ -3820,6 +3820,15 @@ class EmployeeRestController extends AdminController * STEP 8: Count Only Draft (Not Enrolled yet) * --------------------------------------------------------------- */ $notEnrolledQuery = $this->employeeModel + ->select(" + ( + SELECT COUNT(e2.id) + FROM employees AS e2 + WHERE e2.is_active = 1 + AND e2.emp_status = 'draft' + AND e2.emp_code = employees.emp_code + ) AS draft_count + ") ->join('employee_polices', 'employees.id = employee_polices.employee_id') ->join('client_policy cp', 'employee_polices.client_policy_id = cp.id') ->where('employees.is_active', 1) @@ -3827,9 +3836,8 @@ class EmployeeRestController extends AdminController ->where('cp.enrolment_visibility', 1) ->where('cp.open_for_enrollment', 1) ->where('cp.policy_status', 1) - ->whereIn('cp.policy_type_id', [1, 2, 6, 7]) - ->orderBy('employees.created_at', 'desc') - ->groupBy('employee_polices.client_policy_id'); + ->whereIn('cp.policy_type_id', [1, 2, 3, 6, 7]) + ->orderBy('employees.created_at', 'desc'); // 🔹 Apply Client Filter if Provided if (!empty($clientId)) { @@ -3852,7 +3860,7 @@ class EmployeeRestController extends AdminController $notEnrolledQuery->whereIn('employees.emp_status', ['draft']) ->whereIn('employee_polices.status', ['draft']); - $not_enrolled_count = $notEnrolledQuery->get()->getNumRows(); + $not_enrolled_count = $notEnrolledQuery->get()->getRowArray()['draft_count'] ?? 0; log_message('error', 'Not enrolled policy count = ' . $not_enrolled_count); /** --------------------------------------------------------------- @@ -3860,7 +3868,7 @@ class EmployeeRestController extends AdminController * --------------------------------------------------------------- */ return $this->respond([ 'pre_policy_count' => $count, - 'emp_not_enrolled_count' => $not_enrolled_count + 'emp_not_enrolled_count' => (int) $not_enrolled_count ]); } catch (\Throwable $e) {