Merge branch 'main' of bitbucket.org:jubilian/nhance_partner_be

This commit is contained in:
Gowtham M 2025-12-17 11:05:35 +05:30
commit f9053b56ad
2 changed files with 187 additions and 47 deletions

View File

@ -678,7 +678,7 @@ class DashboardController extends ResourceController
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
$builder->select(" $builder->select("
pb.name AS broker_name, pb.name AS broker_name,
pb.short_name AS broker_short_name pb.short_name AS broker_short_name,
pb.id AS broker_id, pb.id AS broker_id,
COUNT( COUNT(
CASE CASE

View File

@ -58,10 +58,14 @@ class ExcelExportController extends ResourceController
// $sheet->mergeCells("A1:{$lastCol}1"); // $sheet->mergeCells("A1:{$lastCol}1");
$sheet->setCellValue('A1', $title); $sheet->setCellValue('A1', $title);
$sheet->getStyle('A1')->getFont()->setBold(true);
$sheet->getStyle('A1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getStyle('A1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
// 2. Headers (Row 2) // 2. Headers (Row 2)
// $sheet->fromArray($header, NULL, 'A2')->getFont()->setBold(true);
$headerRange = 'A2:' . $lastCol . '2';
$sheet->fromArray($header, NULL, 'A2'); $sheet->fromArray($header, NULL, 'A2');
$sheet->getStyle($headerRange)->getFont()->setBold(true);
// 3. Data (Starting from Row 3) // 3. Data (Starting from Row 3)
// Note: The total row MUST be included in the $data array passed to this function. // Note: The total row MUST be included in the $data array passed to this function.
@ -115,18 +119,26 @@ class ExcelExportController extends ResourceController
$data = $this->getBrokerPoliciesData($managerId, $brokerId, $month); $data = $this->getBrokerPoliciesData($managerId, $brokerId, $month);
$header = ['Broker Name', 'Issue Date', 'Policy Number', 'Premium Amount']; $header = [
'Received Date', 'Assigned To',
'Partner Name' , 'Partner Code',
'Insurer Name' ,'Insurer Short Name',
'Insured Name', 'Vehicle Number',
'Payment Mode', 'Plan Type',
'Broker Name', 'Issue Date', 'Policy Number', 'Premium Amount'];
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No policies found...', 404); throw new \RuntimeException('No policies found...', 404);
} }
// Calculate and append total // Calculate and append total
$grandTotal = array_sum(array_column($data, 3)); $grandTotal = array_sum(array_column($data, 13));
$data[] = ['','','Total:', $grandTotal]; // Column C (index 2) is 'Total:', Column D (index 3) is the value $data[] = ['','','','','','','','','','','','','Total:', $grandTotal]; // Column C (index 2) is 'Total:', Column D (index 3) is the value
$monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month'));
$brokerName = $data[0][0] ?? 'Broker'; $brokerName = $data[0][10] ?? 'Broker';
$cleanbrokerName = str_replace(' ', '_', strtolower($brokerName)); $cleanbrokerName = str_replace(' ', '_', strtolower($brokerName));
$fileName = $cleanbrokerName . '_Policies_Details_' . $monthName . '.xlsx'; $fileName = $cleanbrokerName . '_Policies_Details_' . $monthName . '.xlsx';
@ -136,8 +148,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Broker Policies Details for {$monthName}", "Broker Policies Details for {$monthName}",
$fileName, $fileName,
'C', // Total Label Column (aligned right) 'M', // Total Label Column (aligned right)
'D' // Total Value Column (bold) 'N' // Total Value Column (bold)
); );
return; return;
@ -205,17 +217,24 @@ class ExcelExportController extends ResourceController
} }
$data = $this->getProductPoliciesData($managerId, $vehicleType, $month); $data = $this->getProductPoliciesData($managerId, $vehicleType, $month);
$header = ['Vehicle Type', 'Issue Date', 'Policy Number', 'Premium Amount']; // $header = ['Vehicle Type', 'Issue Date', 'Policy Number', 'Premium Amount'];
$header = [
'Received Date', 'Assigned To',
'Partner Name' , 'Partner Code',
'Insurer Name' ,'Insurer Short Name',
'Insured Name', 'Vehicle Number',
'Payment Mode', 'Plan Type',
'Vehicle Type', 'Issue Date', 'Policy Number', 'Premium Amount'];
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No policies found for this vehicle type...', 404); throw new \RuntimeException('No policies found for this vehicle type...', 404);
} }
$grandTotal = array_sum(array_column($data, 3)); $grandTotal = array_sum(array_column($data, 13));
$data[] = ['','','Total:',$grandTotal]; // Column C is 'Total:', Column D is the value $data[] = ['','','','','','','','','','','','','Total:',$grandTotal]; // Column C is 'Total:', Column D is the value
$monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month'));
$vehicleType = $data[0][0] ?? 'Vehicle'; $vehicleType = $data[0][10] ?? 'Vehicle';
$cleanVehicleType = str_replace(' ', '_', strtolower($vehicleType)); $cleanVehicleType = str_replace(' ', '_', strtolower($vehicleType));
$fileName = $cleanVehicleType . '_Policies_Details_' . $monthName . '.xlsx'; $fileName = $cleanVehicleType . '_Policies_Details_' . $monthName . '.xlsx';
@ -225,8 +244,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Vehicle Type Policies Details for {$monthName}", "Vehicle Type Policies Details for {$monthName}",
$fileName, $fileName,
'C', // Total Label Column 'M', // Total Label Column
'D' // Total Value Column 'N' // Total Value Column
); );
return; return;
@ -300,18 +319,23 @@ class ExcelExportController extends ResourceController
$data = $this->getInsurerPoliciesData($managerId, $insurerId, $month); $data = $this->getInsurerPoliciesData($managerId, $insurerId, $month);
// Define column headers // Define column headers
$header = ['Insurer Name', 'Insurer Short Name','Insured Name', 'Policy Issued Date','Policy Number', 'Premium Amount']; $header = [
'Received Date', 'Assigned To',
'Partner Name' , 'Partner Code',
'Vehicle Number',
'Payment Mode', 'Plan Type',
'Insurer Name', 'Insurer Short Name','Insured Name', 'Policy Issued Date','Policy Number', 'Premium Amount'];
// --- 1. MODIFIED LOGIC: Throw RuntimeException if no data --- // --- 1. MODIFIED LOGIC: Throw RuntimeException if no data ---
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No policies found for this insurer for the specified month.', 404); throw new \RuntimeException('No policies found for this insurer for the specified month.', 404);
} }
$grandTotal = array_sum(array_column($data, 5)); $grandTotal = array_sum(array_column($data, 12));
$data[] = ['','','','','Total:',$grandTotal]; $data[] = ['','','','','','','','','','','','Total:',$grandTotal];
$monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month'));
$InsurerName = $data[0][0] ?? 'Insurer' ; $InsurerName = $data[0][7] ?? 'Insurer' ;
$cleanInsurerName = str_replace(' ', '_', strtolower($InsurerName)); $cleanInsurerName = str_replace(' ', '_', strtolower($InsurerName));
$fileName = $cleanInsurerName . '_Policies_Details_' . $monthName . '.xlsx'; $fileName = $cleanInsurerName . '_Policies_Details_' . $monthName . '.xlsx';
@ -321,8 +345,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Insurer Policies Details for {$monthName}", "Insurer Policies Details for {$monthName}",
$fileName, $fileName,
'E', // Total Label Column 'L', // Total Label Column
'F' // Total Value Column 'M' // Total Value Column
); );
return; // STOP CI4 rendering anything else return; // STOP CI4 rendering anything else
@ -383,19 +407,24 @@ class ExcelExportController extends ResourceController
} }
$data = $this->getLowPremiumAgentData($managerId); $data = $this->getLowPremiumAgentData($managerId);
$header = ['Partner Name', 'Partner Code','Partner Status' ,'Policy Number','Issued Date', 'Premium Amount']; $header = [
'Received Date', 'Assigned To',
'Insurer Name' ,'Insurer Short Name',
'Insured Name', 'Vehicle Number',
'Payment Mode', 'Plan Type',
'Partner Name', 'Partner Code','Partner Status' ,'Policy Number','Issued Date', 'Premium Amount'];
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No low premium agents found...', 404); throw new \RuntimeException('No low premium agents found...', 404);
} }
$grandTotal = array_sum(array_column($data, 5)); $grandTotal = array_sum(array_column($data, 13));
$data[] = ['','','','','Total:', $grandTotal]; // Column E is 'Total:', Column F is the value $data[] = ['','','','','','','','','','','','','Total:', $grandTotal]; // Column E is 'Total:', Column F is the value
// Note: $month variable is undefined, assuming you want current month for filename // Note: $month variable is undefined, assuming you want current month for filename
$monthName = date('Ym'); $monthName = date('M_Y');
$PartnerName = $data[0][0] ?? 'Partner'; $PartnerName = $data[0][8] ?? 'Partner';
$fileName = $PartnerName . '_Low_Premium_Details_' . $monthName . '.xlsx'; $fileName = 'Partners_Low_Premium_Policy_Details.xlsx';
// --- CALL CENTRALIZED FUNCTION --- // --- CALL CENTRALIZED FUNCTION ---
$this->streamExcelFile( $this->streamExcelFile(
@ -403,8 +432,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Partners Low Premium Policy Details", "Partners Low Premium Policy Details",
$fileName, $fileName,
'E', // Total Label Column 'M', // Total Label Column
'F' // Total Value Column 'N' // Total Value Column
); );
return; return;
@ -468,18 +497,23 @@ class ExcelExportController extends ResourceController
// Renamed helper function for consistency: getAgentMonthlyPoliciesData // Renamed helper function for consistency: getAgentMonthlyPoliciesData
$data = $this->getAgentMonthlyPoliciesData($managerId, $agentId); // , $month); $data = $this->getAgentMonthlyPoliciesData($managerId, $agentId); // , $month);
$header = ['Partner Name','Partner Code' , 'Policy Number','Issue Date', 'Premium Amount']; $header = [
'Received Date', 'Assigned To',
'Insurer Name' ,'Insurer Short Name',
'Insured Name', 'Vehicle Number',
'Payment Mode', 'Plan Type',
'Partner Name','Partner Code' , 'Policy Number','Issue Date', 'Premium Amount'];
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No policies found for this agent for the specified month.', 404); throw new \RuntimeException('No policies found for this agent for the specified month.', 404);
} }
$grandTotal = array_sum(array_column($data, 4)); $grandTotal = array_sum(array_column($data, 12));
$data[] = ['','','','Total:',$grandTotal]; // Column D is 'Total:', Column E is the value $data[] = ['','','','','','','','','','','','Total:',$grandTotal]; // Column D is 'Total:', Column E is the value
// $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); // $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month'));
$monthName = date('M_Y') ; $monthName = date('M Y') ;
$PartnerName = $data[0][0] ?? 'Partner'; $PartnerName = $data[0][8] ?? 'Partner';
$cleanPartnerName = str_replace(' ', '_', strtolower($PartnerName)); $cleanPartnerName = str_replace(' ', '_', strtolower($PartnerName));
$fileName = $cleanPartnerName . '_Policies_Details_' . $monthName . '.xlsx'; $fileName = $cleanPartnerName . '_Policies_Details_' . $monthName . '.xlsx';
@ -489,8 +523,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Partner Policies Details for {$monthName}", "Partner Policies Details for {$monthName}",
$fileName, $fileName,
'D', // Total Label Column 'L', // Total Label Column
'E' // Total Value Column 'M' // Total Value Column
); );
return; return;
@ -636,18 +670,25 @@ class ExcelExportController extends ResourceController
} }
$data = $this->getStaffAndProductPoliciesExcel($managerId, $executiveId,$vehicleType, $month); $data = $this->getStaffAndProductPoliciesExcel($managerId, $executiveId,$vehicleType, $month);
$executiveName = $data[0][0] ?? 'Sales Executive'; $executiveName = $data[0][11] ?? 'Sales Executive';
$vehicleType = $data[0][1] ?? 'Vehicle Type'; $vehicleType = $data[0][12] ?? 'Vehicle Type';
// Define column headers // Define column headers
$header = ['Sales Executive Name', 'Vehicle Type', 'Policy Number','Issued Date', 'Premium Amount'];
$header = [
'Received Date', 'Assigned To',
'Partner Name' , 'Partner Code',
'Insurer Name' ,'Insurer Short Name',
'Insured Name', 'Vehicle Number',
'Payment Mode', 'Plan Type',
'Sales Executive Name', 'Vehicle Type', 'Policy Number','Issued Date', 'Premium Amount'];
// --- 1. MODIFIED LOGIC: Throw RuntimeException if no data --- // --- 1. MODIFIED LOGIC: Throw RuntimeException if no data ---
if (empty($data)) { if (empty($data)) {
throw new \RuntimeException('No policies found for the specified month.', 404); throw new \RuntimeException('No policies found for the specified month.', 404);
} }
$grandTotal = array_sum(array_column($data, 4)); $grandTotal = array_sum(array_column($data, 14));
$data[] = ['','','','Total:',$grandTotal]; // Column D is 'Total:', Column E is the value $data[] = ['','','','','','','','','','','','','','Total:',$grandTotal]; // Column D is 'Total:', Column E is the value
$monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month')); $monthName = ($month === 'current') ? date('M_Y') : date('M_Y', strtotime('-1 month'));
@ -662,8 +703,8 @@ class ExcelExportController extends ResourceController
$data, $data,
"Staff And Product Policies Details for {$monthName}", "Staff And Product Policies Details for {$monthName}",
$fileName, $fileName,
'D', // Total Label Column 'N', // Total Label Column
'E' // Total Value Column 'O' // Total Value Column
); );
return; // STOP CI4 rendering anything else return; // STOP CI4 rendering anything else
@ -724,9 +765,26 @@ class ExcelExportController extends ResourceController
try { try {
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
// Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details // Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details
$builder->select('pb.name AS broker_name, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount');
$builder->select('
DATE_FORMAT(pe.created_on, "%d-%m-%Y %h:%i %p") AS received_date,
S.name as assigned_to_name,
A.name as agent_name, A.agent_code,
I.name as insurer_name,I.short_name as insurer_short_name,
pe.name as insured_name,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
pb.name AS broker_name, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left'); $builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_brokers pb', 'pb.id = pe.broker_id', 'left'); $builder->join('partner_brokers pb', 'pb.id = pe.broker_id', 'left');
$builder->join('partner_quotation Q', 'Q.enquiry_id = pe.id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left');
$builder->join('partner_agent A', 'A.id = pe.agent_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = Q.insurance_plan_type_id', 'left');
$builder->join('insurers I', 'I.id = Q.insurer_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
// --- Correction 2: Use Robust Date Range Filtering --- // --- Correction 2: Use Robust Date Range Filtering ---
if ($month === "current") { if ($month === "current") {
@ -777,7 +835,24 @@ class ExcelExportController extends ResourceController
try { try {
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
// Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details // Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details
$builder->select('pp.vehicle_type, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount'); $builder->select('
DATE_FORMAT(pe.created_on, "%d-%m-%Y %h:%i %p") AS received_date,
S.name as assigned_to_name,
A.name as agent_name, A.agent_code,
I.name as insurer_name,I.short_name as insurer_short_name,
pe.name as insured_name,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
pp.vehicle_type, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_quotation Q', 'Q.enquiry_id = pe.id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left');
$builder->join('partner_agent A', 'A.id = pe.agent_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = Q.insurance_plan_type_id', 'left');
$builder->join('insurers I', 'I.id = Q.insurer_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
// --- Correction 2: Use Robust Date Range Filtering --- // --- Correction 2: Use Robust Date Range Filtering ---
@ -829,11 +904,23 @@ class ExcelExportController extends ResourceController
try { try {
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
// Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details // Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details
$builder->select('i.name AS insurer_name,i.short_name,pp.insured_name, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount'); $builder->select('
DATE_FORMAT(pe.created_on, "%d-%m-%Y %h:%i %p") AS received_date,
S.name as assigned_to_name,
A.name as agent_name, A.agent_code,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
i.name AS insurer_name,i.short_name,pp.insured_name, DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.policy_number, pp.premium_amount');
$builder->join('partner_quotation pq', 'pq.id = pp.quotation_id', 'left'); $builder->join('partner_quotation pq', 'pq.id = pp.quotation_id', 'left');
$builder->join('insurers i', 'i.id = pq.insurer_id', 'left'); $builder->join('insurers i', 'i.id = pq.insurer_id', 'left');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = pq.payment_mode_id', 'left');
$builder->join('partner_agent A', 'A.id = pe.agent_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = pq.insurance_plan_type_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
// --- Correction 2: Use Robust Date Range Filtering --- // --- Correction 2: Use Robust Date Range Filtering ---
if ($month === "current") { if ($month === "current") {
@ -852,7 +939,7 @@ class ExcelExportController extends ResourceController
$builder->where('i.id', $insurerId); $builder->where('i.id', $insurerId);
$builder->where('i.is_active',1); $builder->where('i.is_active',1);
$builder->orderBy('pp.issued_date', 'DESC'); $builder->orderBy('pp.issued_date', 'DESC');
// print_r($builder->getCompiledSelect());die;
$results = $builder->get()->getResultArray(); $results = $builder->get()->getResultArray();
// Restructure data for PhpSpreadsheet (2D array of values) // Restructure data for PhpSpreadsheet (2D array of values)
@ -886,10 +973,29 @@ class ExcelExportController extends ResourceController
try { try {
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
$builder->select('pse.name as sales_executive_name, pp.vehicle_type AS vechile_type,pp.policy_number,DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.premium_amount'); $builder->select('
DATE_FORMAT(pe.created_on, "%d-%m-%Y %h:%i %p") AS received_date,
S.name as assigned_to_name,
pa.name as agent_name, pa.agent_code,
I.name as insurer_name,I.short_name as insurer_short_name,
pe.name as insured_name,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
pse.name as sales_executive_name, pp.vehicle_type AS vechile_type,pp.policy_number,DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.premium_amount');
$builder->join('partner_agent pa', 'pa.id = pp.agent_id', 'left'); $builder->join('partner_agent pa', 'pa.id = pp.agent_id', 'left');
$builder->join('partner_sales_executive pse', 'pse.id = pa.sales_executive_id', 'left'); $builder->join('partner_sales_executive pse', 'pse.id = pa.sales_executive_id', 'left');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_brokers pb', 'pb.id = pe.broker_id', 'left');
$builder->join('partner_quotation Q', 'Q.enquiry_id = pe.id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = Q.insurance_plan_type_id', 'left');
$builder->join('insurers I', 'I.id = Q.insurer_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
// --- Correction 2: Use Robust Date Range Filtering --- // --- Correction 2: Use Robust Date Range Filtering ---
if ($month === "current") { if ($month === "current") {
// WHERE issued_date >= start_of_current_month AND issued_date < start_of_next_month // WHERE issued_date >= start_of_current_month AND issued_date < start_of_next_month
@ -943,11 +1049,29 @@ class ExcelExportController extends ResourceController
try { try {
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
// Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details // Note: I removed 'broker_id' from SELECT as it's redundant in the Excel sheet details
$builder->select('pa.name AS agent_name,pa.agent_code,pp.policy_number,DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.premium_amount'); $builder->select('
DATE_FORMAT(pe.created_on, "%d-%m-%Y %h:%i %p") AS received_date,
S.name as assigned_to_name,
I.name as insurer_name,I.short_name as insurer_short_name,
pe.name as insured_name,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
pa.name AS agent_name,pa.agent_code,pp.policy_number,DATE_FORMAT(pp.issued_date, "%d-%m-%Y") AS issued_date,pp.premium_amount');
$builder->join('partner_agent pa', 'pp.agent_id = pa.id', 'inner'); $builder->join('partner_agent pa', 'pp.agent_id = pa.id', 'inner');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left'); $builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_brokers pb', 'pb.id = pe.broker_id', 'left');
$builder->join('partner_quotation Q', 'Q.enquiry_id = pe.id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = Q.insurance_plan_type_id', 'left');
$builder->join('insurers I', 'I.id = Q.insurer_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
$builder->where('pp.manager_id', $managerId); $builder->where('pp.manager_id', $managerId);
$builder->where('pa.id', $AgentId); $builder->where('pa.id', $AgentId);
$builder->where('pp.policy_number IS NOT NULL'); $builder->where('pp.policy_number IS NOT NULL');
@ -1037,6 +1161,13 @@ class ExcelExportController extends ResourceController
$builder = $this->db->table('partner_policy pp'); $builder = $this->db->table('partner_policy pp');
$builder->select(" $builder->select("
DATE_FORMAT(pe.created_on, '%d-%m-%Y %h:%i %p') AS received_date,
S.name as assigned_to_name,
I.name as insurer_name,I.short_name as insurer_short_name,
pe.name as insured_name,
pe.reg_no,
pm.value as payment_mode_value,
ipti.insurance_plan_type,
pa.name AS agent_name, pa.name AS agent_name,
pa.agent_code, pa.agent_code,
CASE CASE
@ -1049,6 +1180,15 @@ class ExcelExportController extends ResourceController
"); ");
$builder->join('partner_agent pa', 'pa.id = pp.agent_id', 'inner'); $builder->join('partner_agent pa', 'pa.id = pp.agent_id', 'inner');
$builder->join('partner_enquiry pe', 'pe.id = pp.enquiry_id', 'left');
$builder->join('partner_quotation Q', 'Q.enquiry_id = pe.id', 'left');
$builder->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left');
$builder->join('partner_insurance_plan_type_master ipti', 'ipti.id = Q.insurance_plan_type_id', 'left');
$builder->join('insurers I', 'I.id = Q.insurer_id', 'left');
$builder->join('partner_staff S', 'S.id = pe.assigned_to', 'left');
// WHERE conditions // WHERE conditions
$builder->where('pp.manager_id', $managerId); $builder->where('pp.manager_id', $managerId);
// $builder->where('pa.id', $agentId); // $builder->where('pa.id', $agentId);