diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 21dc770..24b1441 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -148,25 +148,28 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { $routes->get("dashboard/productivityDashboard", "DashboardController::productivityDashboard"); //DASHBOARD Season 1 EXPORT EXCEL (ManagerDashboard - staffLevelPendingSummaryData) - $routes->get("dashboard/downloadStaffPendingSummaryExcel", "ExcelExportController::downloadStaffPendingSummaryExcel"); - $routes->get("dashboard/downloadStaffPendingSummaryExcelByID", "ExcelExportController::downloadStaffPendingSummaryExcelByID"); + $routes->get("dashboard/downloadExcelStaffPendingSummary", "ExcelExportController::downloadExcelStaffPendingSummary"); + $routes->get("dashboard/downloadExcelStaffPendingSummaryByID", "ExcelExportController::downloadExcelStaffPendingSummaryByID"); //DASHBOARD Season 2 EXPORT EXCEL (businessDashboard) - $routes->get("dashboard/downloadBrokerPoliciesExcel", "ExcelExportController::downloadBrokerPoliciesExcel"); - $routes->get("dashboard/downloadInsurerPoliciesExcel", "ExcelExportController::downloadInsurerPoliciesExcel"); - $routes->get("dashboard/downloadProductPoliciesExcel", "ExcelExportController::downloadProductPoliciesExcel"); + $routes->get("dashboard/downloadExcelBroker", "ExcelExportController::downloadExcelBroker"); + $routes->get("dashboard/downloadExcelInsurer", "ExcelExportController::downloadExcelInsurer"); + $routes->get("dashboard/downloadExcelProduct", "ExcelExportController::downloadExcelProduct"); + //DASHBOARD Season 3 EXPORT EXCEL (partnerDashboard) - $routes->get("dashboard/downloadT50AgentPoliciesExcel", "ExcelExportController::downloadT50AgentPoliciesExcel"); // whole agent but top 50 - $routes->get("dashboard/downloadAgentMonthlyPoliciesExcel", "ExcelExportController::downloadAgentMonthlyPoliciesExcel"); // particular Agent - $routes->get("dashboard/downloadLowPremiumAgentExcel", "ExcelExportController::downloadLowPremiumAgentExcel"); - $routes->get("dashboard/downloadAgentsWithoutPoliciesExcel", "ExcelExportController::downloadAgentsWithoutPoliciesExcel"); + $routes->get("dashboard/downloadExcelLowPremium", "ExcelExportController::downloadExcelLowPremium"); + $routes->get("dashboard/downloadExcelPerformingAgentsByID", "ExcelExportController::downloadExcelPerformingAgentsByID"); + $routes->get("dashboard/downloadExcelPerformingAgentsTop50", "ExcelExportController::downloadExcelPerformingAgentsTop50"); + $routes->get("dashboard/downloadExcelWithoutPolicies", "ExcelExportController::downloadExcelWithoutPolicies"); //DASHBOARD Season 4 EXPORT EXCEL AS ZIP (partnerDashboard - 3Excel in Zip Folder) $routes->get("dashboard/downloadExcelAsZIP", "ExcelExportController::downloadExcelAsZIP"); //DASHBOARD Season 5 EXPORT EXCEL (productivityDashboard) - $routes->get("dashboard/downloadStaffAndProductPoliciesExcel", "ExcelExportController::downloadStaffAndProductPoliciesExcel"); + $routes->get("dashboard/downloadExcelStaffAndProduct", "ExcelExportController::downloadExcelStaffAndProduct"); + + $routes->get('reports/endorsement-excel', 'PolicyReportController::downloadExcelEndorsement'); diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index dbeabd1..6ed0a07 100644 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -830,6 +830,8 @@ class DashboardController extends ResourceController $builder = $this->db->table('partner_policy pp'); + $fromDate = date('Y-m-d', strtotime('-10 days')); + $toDate = date('Y-m-d'); $builder->select(" pa.id AS agent_id, @@ -842,10 +844,10 @@ class DashboardController extends ResourceController $builder->join('partner_agent pa', 'pp.agent_id = pa.id', 'inner'); $builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left'); - $builder->where("MONTH(pp.issued_date) = MONTH('$customDate')", null, false); - $builder->where("YEAR(pp.issued_date) = YEAR('$customDate')", null, false); + $builder->where('pp.issued_date >=', $fromDate); + $builder->where('pp.issued_date <=', $toDate); - $builder->where('pp.manager_id',$manager_id); + // $builder->where('pp.manager_id',$manager_id); $builder->groupBy(['pa.id']); $builder->orderBy('policy_count', 'DESC'); @@ -856,6 +858,7 @@ class DashboardController extends ResourceController } $result = $builder->get()->getResultArray(); + // echo $this->db->getLastQuery()->getQuery();die; return $result; } diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index b4ebdd8..335f696 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -31,6 +31,8 @@ class EnquiryController extends ResourceController } // List all enquiries + // This query is also copied in PolicyReportController::downloadExcel(). Please apply the same changes there as well. + // to refer this API URI = enquiry/enquiryList?manager_id=1&only_policy_data=true&from_date=18-12-2025&to_date=02-01-2026&staff_id= public function enquiryList() { try { diff --git a/app/Controllers/ExcelExportController.php b/app/Controllers/ExcelExportController.php index 4479182..761f5c7 100644 --- a/app/Controllers/ExcelExportController.php +++ b/app/Controllers/ExcelExportController.php @@ -111,7 +111,7 @@ class ExcelExportController extends ResourceController } // 1) Broker generate the Excel file - public function BrokerWiseExcel() + public function downloadExcelBroker() { try{ $managerId = $this->request->getGet('manager_id'); @@ -177,12 +177,7 @@ class ExcelExportController extends ResourceController $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $brokerName = $finalData[0][11] ?? ''; - if (empty($brokerName) || $brokerName === 'N/A') { - $fileName = "Broker_Policies_Details_{$monthName}.xlsx"; - } else { - $cleanName = str_replace(' ', '_', strtolower(trim($brokerName))); - $fileName = "{$cleanName}_Policies_Details_{$monthName}.xlsx"; - } + $fileName = "Broker_Policies_Details_{$monthName}.xlsx"; $titleName = str_replace(['_', '.xlsx'], [' ', ''], $fileName); @@ -239,7 +234,7 @@ class ExcelExportController extends ResourceController } // 2) Product generate the Excel file - public function ProductWiseExcel() + public function downloadExcelProduct() { try{ $managerId = $this->request->getGet('manager_id'); @@ -309,12 +304,8 @@ class ExcelExportController extends ResourceController $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $vehicleType = $finalData[0][11] ?? ''; - if (empty($vehicleType) || $vehicleType === 'N/A') { - $fileName = "Product_Policies_Details_{$monthName}.xlsx"; - } else { - $cleanName = str_replace(' ', '_', strtolower(trim($vehicleType))); - $fileName = "{$cleanName}_Policies_Details_{$monthName}.xlsx"; - } + + $fileName = "Product_Policies_Details_{$monthName}.xlsx"; $titleName = str_replace(['_', '.xlsx'], [' ', ''], $fileName); // --- CALL CENTRALIZED FUNCTION --- @@ -367,7 +358,7 @@ class ExcelExportController extends ResourceController } // 3) Insurer generate the Excel file - public function InsurerWiseExcel() + public function downloadExcelInsurer() { try{ $managerId = $this->request->getGet('manager_id'); @@ -443,12 +434,8 @@ class ExcelExportController extends ResourceController $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $InsurerName = $finalData[0][8] ?? "" ; - if (empty($InsurerName) || $InsurerName === 'N/A') { - $fileName = "Insurer_Policies_Details_{$monthName}.xlsx"; - } else { - $cleanName = str_replace(' ', '_', strtolower(trim($InsurerName))); - $fileName = "{$cleanName}_Policies_Details_{$monthName}.xlsx"; - } + + $fileName = "Insurer_Policies_Details_{$monthName}.xlsx"; $titleName = str_replace(['_', '.xlsx'], [' ', ''], $fileName); // --- CALL CENTRALIZED FUNCTION --- @@ -684,13 +671,7 @@ class ExcelExportController extends ResourceController $PartnerName = $finalData[0][11] ?? ''; - if (empty($PartnerName) || $PartnerName === 'N/A') { - $fileName = 'Performing_Partner_Policy_Details.xlsx'; - } else { - $cleanName = str_replace(' ', '_', strtolower(trim($PartnerName))); - $cleanName = ucwords($cleanName); - $fileName = "Performing_Partner_({$cleanName})_Policy_Details.xlsx"; - } + $fileName = 'Performing_Partner_Policy_Details.xlsx'; $titleName = str_replace(['_', '.xlsx'], [' ', ''], $fileName); // --- CALL CENTRALIZED FUNCTION --- @@ -1025,14 +1006,7 @@ class ExcelExportController extends ResourceController $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); - - $cleanExec = str_replace(' ', '_', strtolower(trim($executiveName))); - $cleanVeh = str_replace(' ', '_', strtolower(trim($vehicleType))); - - $parts = array_filter([$cleanExec, $cleanVeh]); - $prefix = !empty($parts) ? implode('_', $parts) . '_' : 'Staff_Product_'; - - $fileName = $prefix . "Policies_Details_" . $monthName . ".xlsx"; + $fileName = "Sales_Executive_Product_Wise_" . $monthName . ".xlsx"; $titleName = str_replace(['_', '.xlsx'], [' ', ''], $fileName); $this->streamExcelFile($header,$finalData,$titleName,$fileName,true); @@ -1424,6 +1398,7 @@ class ExcelExportController extends ResourceController { try{ $managerId = $this->request->getGet('manager_id'); + $search = $this->request->getGet('search'); // --- ADDED VALIDATION (Simplified logic for clarity) --- @@ -1433,7 +1408,7 @@ class ExcelExportController extends ResourceController return $this->response->setJSON(['status' => 'error', 'code' => 400, 'data' => [], 'message' => 'Missing required parameters', 'ref' => $ref])->setStatusCode(200); } - $data = $this->getDataEndorsement($managerId); + $data = $this->getDataEndorsement($managerId,$search); if (empty($data)) { @@ -1906,7 +1881,8 @@ class ExcelExportController extends ResourceController $data = []; try { - $customDate = date('Y-m-d'); + $fromDate = date('Y-m-d', strtotime('-10 days')); + $toDate = date('Y-m-d'); $builder = $this->db->table('partner_policy pp'); @@ -1920,8 +1896,11 @@ class ExcelExportController extends ResourceController $builder->join('partner_agent pa', 'pp.agent_id = pa.id', 'inner'); $builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left'); - $builder->where("MONTH(pp.issued_date) = MONTH('$customDate')", null, false); - $builder->where("YEAR(pp.issued_date) = YEAR('$customDate')", null, false); + // $builder->where("MONTH(pp.issued_date) = MONTH('$customDate')", null, false); + // $builder->where("YEAR(pp.issued_date) = YEAR('$customDate')", null, false); + $builder->where('pp.issued_date >=', $fromDate); + $builder->where('pp.issued_date <=', $toDate); + $builder->where('pp.manager_id',$manager_id); @@ -2335,7 +2314,7 @@ class ExcelExportController extends ResourceController } - private function getDataEndorsement($managerId): array + private function getDataEndorsement($managerId, $search = ''): array { try { @@ -2354,31 +2333,63 @@ class ExcelExportController extends ResourceController per.endorsement_description AS remarks, CONCAT('₹ ', FORMAT(per.endorsement_premium, 2, 'en_IN')) AS premium_amount, per.endorsement_premium AS raw_premium - FROM partner_endorsement_request AS per + FROM partner_endorsement_request per LEFT JOIN partner_policy pp ON pp.agent_id = per.agent_id LEFT JOIN partner_enquiry pe ON pe.agent_id = per.agent_id LEFT JOIN partner_agent pa ON pa.id = per.agent_id LEFT JOIN partner_staff ps ON ps.id = pe.assigned_to LEFT JOIN insurers I ON I.id = pe.insurer_id LEFT JOIN partner_endorsement_type_master petm ON petm.id = per.endorsement_type - WHERE per.manager_id = :manager_id: - AND per.is_active = 1 - GROUP BY per.id"; + WHERE per.manager_id = ? + AND per.is_active = 1"; + + $bindings = [$managerId]; + + if (!empty($search)) { + + $searchTerm = '%' . strtolower(trim($search)) . '%'; + + $sql .= " AND ( + LOWER(per.policy_from) LIKE ? OR + LOWER(per.status) LIKE ? OR + LOWER(pe.reg_no) LIKE ? OR + LOWER(I.name) LIKE ? OR + LOWER(pp.policy_number) LIKE ? OR + LOWER(petm.endorsement_type) LIKE ? OR + LOWER(per.endorsement_no) LIKE ? + )"; + + for ($i = 0; $i < 7; $i++) { + $bindings[] = $searchTerm; + } + } + + // GROUP BY must be LAST + $sql .= " GROUP BY per.id"; + + $query = $this->db->query($sql, $bindings); + $results = $query->getResultArray(); + + // Convert associative rows to indexed rows (Excel-friendly) + $data = []; + foreach ($results as $row) { + $data[] = array_values($row); + } + // foreach ($results as $row) { + // foreach ($row as $key => $value) { + // if ($value === null || $value === '') { + // $row[$key] = '-'; + // } + // } + // $data[] = array_values($row); + // } - $query = $this->db->query($sql, ['manager_id' => $managerId]); - - $results = $query->getResultArray(); - $data = []; - foreach ($results as $row) { - $data[] = array_values($row); - } - - return $data; + return $data; } catch (\Exception $e) { log_message('error', 'Excel Fetch Error: ' . $e->getMessage()); - throw $e; + throw $e; } } diff --git a/app/Controllers/PolicyReportController.php b/app/Controllers/PolicyReportController.php index 297fe69..723a679 100644 --- a/app/Controllers/PolicyReportController.php +++ b/app/Controllers/PolicyReportController.php @@ -30,64 +30,180 @@ class PolicyReportController extends Controller } // ----------------------------- - // QUERY (100% Excel-aligned) + // QUERY (100% Excel-aligned) // Old Query Don't Delete It. Any Doubt ask MG Bhai // ----------------------------- - $data = $db->query(" - SELECT - pos.pos_code AS pos_code, - pos.name AS pos_name, - pa.agent_code AS ref_code, - pp.created_on AS inward_date, - pa.name AS partner_name, - ins.short_name AS insurer, - pp.policy_number, - pp.insured_name, - pq.insurance_plan_type_id AS plan_type, - pp.vehicle_type AS product, + // $data = $db->query(" + // SELECT + // pos.pos_code AS pos_code, + // pos.name AS pos_name, + // pa.agent_code AS ref_code, + // pp.created_on AS inward_date, + // pa.name AS partner_name, + // ins.short_name AS insurer, + // pp.policy_number, + // pp.insured_name, + // pq.insurance_plan_type_id AS plan_type, + // pp.vehicle_type AS product, - pp.od AS od, - pp.tp AS tp, - (IFNULL(pp.od,0) + IFNULL(pp.tp,0)) AS net_amount, + // pp.od AS od, + // pp.tp AS tp, + // (IFNULL(pp.od,0) + IFNULL(pp.tp,0)) AS net_amount, - (IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0)) AS service_tax, + // (IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0)) AS service_tax, - (IFNULL(pp.od,0) + IFNULL(pp.tp,0) - + IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0) - ) AS total_amount, + // (IFNULL(pp.od,0) + IFNULL(pp.tp,0) + // + IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0) + // ) AS total_amount, - pm.value AS payment_mode, - CONCAT(pp.rto_state_code,'-',pp.rto_city_code) AS rto_loc, - NULL AS ncb_percent, - pp.end_date AS expire_date, + // pm.value AS payment_mode, + // CONCAT(pp.rto_state_code,'-',pp.rto_city_code) AS rto_loc, + // NULL AS ncb_percent, + // pp.end_date AS expire_date, - pb.short_name AS broker_code, - ps.name AS assigned_to, - pp.manager_id AS sales_manager, - pa.name AS sales_executive, - pa.mobile AS contact_no, - pos.address, - pos.pincode, + // pb.short_name AS broker_code, + // ps.name AS assigned_to, + // pp.manager_id AS sales_manager, + // pa.name AS sales_executive, + // pa.mobile AS contact_no, + // pos.address, + // pos.pincode, - pe.status AS booking_status, - pe.created_on AS booking_date, - pe.id AS booking_ref_no, + // pe.status AS booking_status, + // pe.created_on AS booking_date, + // pe.id AS booking_ref_no, - pp.agent_retention_rate AS grid_percent, - pp.commission_amount AS grid_amount, - pe.remarks AS remark - FROM partner_policy pp - LEFT JOIN partner_agent pa ON pa.id = pp.agent_id - LEFT JOIN partner_pos pos ON pos.id = pa.pos_id - LEFT JOIN partner_quotation pq ON pq.id = pp.quotation_id - LEFT JOIN insurers ins ON ins.id = pq.insurer_id - LEFT JOIN partner_payment_mode_master pm ON pm.id = pq.payment_mode_id - LEFT JOIN partner_enquiry pe ON pe.id = pp.enquiry_id - LEFT JOIN partner_staff ps ON ps.id = pe.assigned_to - LEFT JOIN partner_brokers pb ON pb.id = pe.broker_id - WHERE pp.manager_id = ? - AND pp.issued_date BETWEEN ? AND ? - ORDER BY pp.created_on DESC - ", [$managerId, $fromDate, $toDate])->getResultArray(); + // pp.agent_retention_rate AS grid_percent, + // pp.commission_amount AS grid_amount, + // pe.remarks AS remark + // FROM partner_policy pp + // LEFT JOIN partner_agent pa ON pa.id = pp.agent_id + // LEFT JOIN partner_pos pos ON pos.id = pa.pos_id + // LEFT JOIN partner_quotation pq ON pq.id = pp.quotation_id + // LEFT JOIN insurers ins ON ins.id = pq.insurer_id + // LEFT JOIN partner_payment_mode_master pm ON pm.id = pq.payment_mode_id + // LEFT JOIN partner_enquiry pe ON pe.id = pp.enquiry_id + // LEFT JOIN partner_staff ps ON ps.id = pe.assigned_to + // LEFT JOIN partner_brokers pb ON pb.id = pe.broker_id + // WHERE pp.manager_id = ? + // AND pp.issued_date BETWEEN ? AND ? + // ORDER BY pp.created_on DESC + // ", [$managerId, $fromDate, $toDate])->getResultArray(); + + // New Query + // This query is copied from enquiryList() in EnquiryController + // to refer this API URI = enquiry/enquiryList?manager_id=1&only_policy_data=true&from_date=18-12-2025&to_date=02-01-2026&staff_id= + + $sql = "SELECT + pos.pos_code AS pos_code, + pos.name AS pos_name, + pa.agent_code AS ref_code, + CASE + WHEN pp.created_on IS NULL + OR pp.created_on = '0000-00-00 00:00:00' + THEN 'N/A' + ELSE DATE_FORMAT(pp.created_on, '%d-%m-%Y %h:%i %p') + END AS inward_date, + pa.name AS partner_name, + ins.short_name AS insurer, + pp.policy_number, + pp.insured_name, + pq.insurance_plan_type_id AS plan_type, + pp.vehicle_type AS product, + CASE + WHEN pp.od IS NULL OR pp.od = '' THEN 0 + ELSE pp.od + END AS od, + CASE + WHEN pp.tp IS NULL OR pp.tp = '' THEN 0 + ELSE pp.tp + END AS tp, + (IFNULL(pp.od,0) + IFNULL(pp.tp,0)) AS net_amount, + (IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0)) + AS service_tax, + (IFNULL(pp.od,0) + IFNULL(pp.tp,0) + IFNULL(pp.cgst,0) + IFNULL(pp.sgst,0) + IFNULL(pp.igst,0)) + AS total_amount, + pm.value AS payment_mode, + CONCAT(pp.rto_state_code,'-',pp.rto_city_code) AS rto_loc, + CASE + WHEN pp.end_date IS NULL + OR pp.end_date = '0000-00-00 00:00:00' + THEN 'N/A' + ELSE DATE_FORMAT(pp.end_date, '%d-%m-%Y %h:%i %p') + END AS expire_date, + NULL AS ncb_percent, + pb.short_name AS broker_code, + ps.name AS assigned_to, + ps2.name AS sales_manager, + pse.name AS sales_executive, + pse.mobile AS contact_no, + pos.address, + pos.pincode, + pe.status AS booking_status, + CASE + WHEN pe.created_on IS NULL + OR pe.created_on = '0000-00-00 00:00:00' + THEN 'N/A' + ELSE DATE_FORMAT(pe.created_on, '%d-%m-%Y %h:%i %p') + END AS booking_date, + pe.id AS booking_ref_no, + pp.agent_retention_rate AS grid_percent, + pp.commission_amount AS grid_amount, + pe.remarks AS remark + FROM partner_enquiry pe + LEFT JOIN partner_agent pa ON pa.id = pe.agent_id + LEFT JOIN partner_staff ps ON ps.id = pe.assigned_to + LEFT JOIN partner_quotation pq ON pq.enquiry_id = pe.id AND pq.status = 'Accepted' + LEFT JOIN insurers ins ON ins.id = pe.insurer_id + LEFT JOIN partner_policy pp ON pp.quotation_id = pq.id + LEFT JOIN partner_payment_mode_master pm ON pm.id = pq.payment_mode_id + LEFT JOIN partner_pos pos ON pos.id = pa.pos_id + LEFT JOIN partner_sales_executive pse ON pse.id = pa.sales_executive_id + LEFT JOIN partner_staff ps2 ON ps2.id = pse.manager_id + LEFT JOIN partner_brokers pb ON pb.id = pe.broker_id + WHERE pe.is_active = 1 + AND pe.is_quick_quote = 0 + AND pp.id IS NOT NULL + AND pp.created_on BETWEEN ? AND ? + AND pe.manager_id = ?"; + + $bindings = [$fromDate, $toDate, $managerId]; + + $search = $this->request->getGet('search'); + + if (!empty($search)) { + + $searchTerm = '%' . strtolower(trim($search)) . '%'; + + $sql .= " AND ( + LOWER(ps.name) LIKE ? + OR LOWER(pa.name) LIKE ? + OR LOWER(ins.short_name) LIKE ? + OR LOWER(pe.reg_no) LIKE ? + OR LOWER(pp.insured_name) LIKE ? + OR CAST(pp.premium_amount AS CHAR) LIKE ? + OR LOWER(pm.value) LIKE ? + OR LOWER(pp.policy_number) LIKE ? + )"; + + // Bind search term 8 times + for ($i = 0; $i < 8; $i++) { + $bindings[] = $searchTerm; + } + + // YES / NO search support + if (strtolower($search) === 'yes') { + $sql .= " OR pp.is_bds_pushed = 1"; + } elseif (strtolower($search) === 'no') { + $sql .= " OR pp.is_bds_pushed = 0"; + } + } + + // ORDER BY must be LAST + $sql .= " ORDER BY pe.created_on DESC"; + + $query = $db->query($sql, $bindings); + + $data = $query->getResultArray(); // ----------------------------- // EXCEL GENERATION @@ -97,11 +213,11 @@ class PolicyReportController extends Controller // EXACT HEADER FROM YOUR EXCEL $headers = [ - 'POS CODE','POS NAME','REFF CODE','Inward Date','PARTNER NAME', - 'Insurer','Policy No','Issured Name','PLAN TYPE','Product', + 'POS CODE','POS NAME','REFF CODE','INWARD DATE','PARTNER NAME', + 'INSURER','POLICY NO','ISSURED NAME','PLAN TYPE','PRODUCT', 'A (OD)','B (TP)','A+B (NET)','S.TAX','TOTAL', 'PAYMENT MODE','RTO LOC.','NCB %','Expire Date','BROKER CODE', - 'Assigned To','SALES MANAGER','SALES EXECUTIVE','CONTACT NO', + 'ASSIDNED TO','SALES MANAGER','SALES EXECUTIVE','CONTACT NO', 'ADDRESS','PIN CODE','BOOKING STATUS','DATE OF BOOKING', 'BOOKING REF NO','GRID %','GRID AMT','REMARK' ];