diff --git a/app/Models/ClaimsCollectionV2DashboardModel.php b/app/Models/ClaimsCollectionV2DashboardModel.php index 3067443f..57039270 100644 --- a/app/Models/ClaimsCollectionV2DashboardModel.php +++ b/app/Models/ClaimsCollectionV2DashboardModel.php @@ -346,22 +346,29 @@ JOIN ( ep2.client_policy_id, COALESCE(SUM( CASE - WHEN e2.change_event = 'inception' - THEN ep2.rata_premimum - WHEN e2.change_event != 'inception' - AND (ep2.date_of_exit IS NULL OR ep2.date_of_exit = '') - THEN ep2.rata_premimum WHEN ep2.date_of_exit IS NOT NULL AND ep2.date_of_exit != '' - AND ep2.claim_status = 0 - THEN -ep2.rata_premimum - ELSE 0 + AND (ep2.claim_status = 0 OR ep2.claim_status IS NULL) + AND ep2.date_coverage IS NOT NULL + AND ep2.date_coverage != '' + AND ep2.policy_end_date IS NOT NULL + AND ep2.policy_end_date != '' + THEN (ep2.rata_premimum + COALESCE(ep2.gst, 0)) + * ( + (DATEDIFF(ep2.policy_end_date, ep2.date_coverage) + 1) + - (DATEDIFF(ep2.policy_end_date, ep2.date_of_exit) - 1) + ) + / NULLIF(DATEDIFF(ep2.policy_end_date, ep2.date_coverage) + 1, 0) + ELSE (ep2.rata_premimum + COALESCE(ep2.gst, 0)) END ), 0) AS premium_as_on_date FROM employee_polices ep2 JOIN employees e2 ON e2.id = ep2.employee_id WHERE ep2.client_policy_id = :policy_id: AND ep2.is_active = 1 + AND ep2.status = 'active' + AND e2.is_active = 1 + AND e2.emp_status = 'active' GROUP BY ep2.client_policy_id ) prem ON prem.client_policy_id = cp.id