diff --git a/app/Config/Routes.php b/app/Config/Routes.php index d70d1ab8..36b9a672 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -536,7 +536,7 @@ $routes->group("/bdsReport", ["filter" => "authMVC"], function ($routes) { $routes->get('insurer_wise_data/(:any)','BDSReportController::Insurer_wise_Data/$1'); $routes->get('bap_wise_data/(:any)','BDSReportController::Bap_Wise_Data/$1'); $routes->match( ['get', 'post'], 'renewal_report','BDSReportController::renewalReport'); - + $routes->get('getTATReport','BDSReportController::bdsTATReport'); }); //New Tickets diff --git a/app/Controllers/BDSReportController.php b/app/Controllers/BDSReportController.php index 54abf46f..f0fbd79a 100644 --- a/app/Controllers/BDSReportController.php +++ b/app/Controllers/BDSReportController.php @@ -927,4 +927,80 @@ class BDSReportController extends AdminController return $this->respond(['status' => true, 'html' => $html], 200); } } + + public function bdsTATReport() + { + $sql = " + SELECT + tc.TAT_Category, + COALESCE(SUM(CASE WHEN subquery.status = 'under_process' THEN 1 ELSE 0 END), 0) AS `Under Process`, + COALESCE(SUM(CASE WHEN subquery.status = 'client_pending' THEN 1 ELSE 0 END), 0) AS `Client Pending`, + COALESCE(SUM(CASE WHEN subquery.status = 'insurer_pending' THEN 1 ELSE 0 END), 0) AS `Insurer Pending`, + COALESCE(SUM(CASE WHEN subquery.status = 'instalment_pending' THEN 1 ELSE 0 END), 0) AS `Instalment Pending`, + COALESCE(SUM(CASE WHEN subquery.status = 'co_insurer_pending' THEN 1 ELSE 0 END), 0) AS `Co-Insurer Pending`, + COALESCE(SUM(CASE WHEN subquery.status = 'tpa_pending' THEN 1 ELSE 0 END), 0) AS `TPA Pending`, + COALESCE(SUM(CASE WHEN subquery.status = 'validated' THEN 1 ELSE 0 END), 0) AS `Validated`, + COALESCE(SUM(CASE WHEN subquery.status = 'cancelled' THEN 1 ELSE 0 END), 0) AS `Cancelled`, + COALESCE(SUM(CASE WHEN subquery.status = 'completed' THEN 1 ELSE 0 END), 0) AS `Completed`, + COALESCE(SUM(CASE WHEN subquery.status = 'lost' THEN 1 ELSE 0 END), 0) AS `Lost` FROM + ( + SELECT 'Above 12 Days' AS TAT_Category + UNION ALL + SELECT '9-12 Days' + UNION ALL + SELECT '5-8 Days' + UNION ALL + SELECT '0-4 Days' + ) AS tc + LEFT JOIN ( + SELECT + pt.id AS policy_id, + ls.status, + CASE + WHEN DATEDIFF(CURRENT_DATE, pt.created_at) BETWEEN 0 AND 4 THEN '0-4 Days' + WHEN DATEDIFF(CURRENT_DATE, pt.created_at) BETWEEN 5 AND 8 THEN '5-8 Days' + WHEN DATEDIFF(CURRENT_DATE, pt.created_at) BETWEEN 9 AND 12 THEN '9-12 Days' + ELSE 'Above 12 Days' + END AS TAT_Category + FROM + policy_transaction pt + LEFT JOIN ( + SELECT + pts1.* + FROM + policy_transaction_status pts1 + INNER JOIN ( + SELECT + policy_tran_id, + MAX(created_at) AS max_created_at + FROM + policy_transaction_status + WHERE is_active = 1 + GROUP BY policy_tran_id + ) pts2 + ON pts1.policy_tran_id = pts2.policy_tran_id + AND pts1.created_at = pts2.max_created_at + WHERE pts1.is_active = 1 + ) ls + ON pt.id = ls.policy_tran_id + WHERE pt.is_active = 1 + ) AS subquery + ON tc.TAT_Category = subquery.TAT_Category + GROUP BY + tc.TAT_Category + ORDER BY + FIELD(tc.TAT_Category, '0-4 Days', '5-8 Days' , '9-12 Days' , 'Above 12 Days' ) + "; + + // Run the query + $db = \Config\Database::connect(); + $query = $db->query($sql); + + // Get the result + $result = $query->getResultArray(); + // dd(db_connect()->getLastQuery(),$result); + $data['data'] = $result; + // dd($data, get_role_id(), ENROLLMENT_TEAM_ID, user_team()); + return $this->loadLayout('bds_tat_wise_report', $data); + } } diff --git a/app/Views/bds_tat_wise_report.php b/app/Views/bds_tat_wise_report.php new file mode 100644 index 00000000..e3c428f4 --- /dev/null +++ b/app/Views/bds_tat_wise_report.php @@ -0,0 +1,122 @@ + + + +
+
+
+
+
+
+

BDS TAT Band Wise Report

+
+
+ +
+ + + + + + + + + + + + + + $value): + $numValue = is_numeric($value) ? (int) $value : 0; + if ($key != 'TAT_Category') { + $columnTotals[$key] += $numValue; + $rowTotal += $numValue; + } + ?> + + + + + + + + + + $total): ?> + + + + + +
TOTAL
+
+ +
+
+
+
+ + diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php index 3491cacb..a7500816 100755 --- a/app/Views/layout/header.php +++ b/app/Views/layout/header.php @@ -758,6 +758,9 @@
  • Renewal Reports
  • +
  • + TAT Band Reports +