diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index b2f411d..4670832 100644 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -875,11 +875,11 @@ class DashboardController extends ResourceController $builder = $this->db->table('partner_policy pp'); $builder->select(" - pp.premium_amount, - pp.agent_id AS PP_agent_id, pa.id AS agent_id, pa.name AS agent_name, pa.agent_code AS agent_code, + pp.agent_id AS PP_agent_id, + SUM(pp.premium_amount) AS total_premium_amount, CASE WHEN pa.is_active = 1 THEN 'Active Agent' ELSE 'Inactive Agent' @@ -887,20 +887,13 @@ class DashboardController extends ResourceController DATE_FORMAT(pp.created_on, '%d-%m-%Y') AS created_date_ui_formatted, pp.created_on AS created_date_sql_formatted "); - - $builder->join( - 'partner_agent pa', - 'pa.id = pp.agent_id', - 'left' - ); - - $builder->where('pp.manager_id',$manager_id); - + $builder->join('partner_agent pa', 'pa.id = pp.agent_id', 'left'); + $builder->where('pp.manager_id', $manager_id); $builder->where('pp.premium_amount <', 50000); - $builder->where("pp.created_on >= $interval", null, false); // false = prevent escaping raw SQL - $builder->orderBy('pp.created_on', 'DESC'); - $result = $builder->get()->getResultArray(); - return $result; - + $builder->where("pp.created_on >= $interval", null, false); // raw SQL + $builder->groupBy('pa.id'); + $builder->orderBy('total_premium_amount', 'DESC'); + $builder->orderBy('created_date_sql_formatted', 'DESC'); + return $builder->get()->getResultArray(); } }