FIX_Download EXCEL With Additional Data 2 commit
This commit is contained in:
parent
53ea97a13f
commit
1a5666fa07
@ -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,14 +119,13 @@ class ExcelExportController extends ResourceController
|
|||||||
|
|
||||||
$data = $this->getBrokerPoliciesData($managerId, $brokerId, $month);
|
$data = $this->getBrokerPoliciesData($managerId, $brokerId, $month);
|
||||||
|
|
||||||
$header = ['Received Date',
|
$header = [
|
||||||
'Assigned To_name',
|
'Received Date', 'Assigned To',
|
||||||
'Partner Name' , 'Partner Code',
|
'Partner Name' , 'Partner Code',
|
||||||
'Insurer Name' ,'Insurer Short Name',
|
'Insurer Name' ,'Insurer Short Name',
|
||||||
'Insured Name',
|
'Insured Name', 'Vehicle Number',
|
||||||
'Vehicle Number',
|
'Payment Mode', 'Plan Type',
|
||||||
'Payment Mode',
|
'Broker Name', 'Issue Date', 'Policy Number', 'Premium Amount'];
|
||||||
'Plan Type','Broker Name', 'Issue Date', 'Policy Number', 'Premium Amount'];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -132,7 +135,7 @@ class ExcelExportController extends ResourceController
|
|||||||
|
|
||||||
// Calculate and append total
|
// Calculate and append total
|
||||||
$grandTotal = array_sum(array_column($data, 13));
|
$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][10] ?? 'Broker';
|
$brokerName = $data[0][10] ?? 'Broker';
|
||||||
@ -215,14 +218,13 @@ 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',
|
$header = [
|
||||||
'Assigned To_name',
|
'Received Date', 'Assigned To',
|
||||||
'Partner Name' , 'Partner Code',
|
'Partner Name' , 'Partner Code',
|
||||||
'Insurer Name' ,'Insurer Short Name',
|
'Insurer Name' ,'Insurer Short Name',
|
||||||
'Insured Name',
|
'Insured Name', 'Vehicle Number',
|
||||||
'Vehicle Number',
|
'Payment Mode', 'Plan Type',
|
||||||
'Payment Mode',
|
'Vehicle Type', 'Issue Date', 'Policy Number', 'Premium Amount'];
|
||||||
'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);
|
||||||
@ -232,7 +234,7 @@ class ExcelExportController extends ResourceController
|
|||||||
$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';
|
||||||
|
|
||||||
@ -317,12 +319,12 @@ class ExcelExportController extends ResourceController
|
|||||||
$data = $this->getInsurerPoliciesData($managerId, $insurerId, $month);
|
$data = $this->getInsurerPoliciesData($managerId, $insurerId, $month);
|
||||||
|
|
||||||
// Define column headers
|
// Define column headers
|
||||||
$header = ['Received Date',
|
$header = [
|
||||||
'Assigned To',
|
'Received Date', 'Assigned To',
|
||||||
'Partner Name' , 'Partner Code',
|
'Partner Name' , 'Partner Code',
|
||||||
'Vehicle Number',
|
'Vehicle Number',
|
||||||
'Payment Mode',
|
'Payment Mode', 'Plan Type',
|
||||||
'Plan Type','Insurer Name', 'Insurer Short Name','Insured Name', 'Policy Issued Date','Policy Number', 'Premium Amount'];
|
'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)) {
|
||||||
@ -333,7 +335,7 @@ class ExcelExportController extends ResourceController
|
|||||||
$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';
|
||||||
|
|
||||||
@ -405,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(
|
||||||
@ -425,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;
|
||||||
@ -490,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';
|
||||||
|
|
||||||
@ -511,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;
|
||||||
@ -662,15 +674,13 @@ class ExcelExportController extends ResourceController
|
|||||||
$vehicleType = $data[0][12] ?? 'Vehicle Type';
|
$vehicleType = $data[0][12] ?? 'Vehicle Type';
|
||||||
// Define column headers
|
// Define column headers
|
||||||
|
|
||||||
$header = ['Received Date',
|
$header = [
|
||||||
'Assigned To_name',
|
'Received Date', 'Assigned To',
|
||||||
'Partner Name' , 'Partner Code',
|
'Partner Name' , 'Partner Code',
|
||||||
'Insurer Name' ,'Insurer Short Name',
|
'Insurer Name' ,'Insurer Short Name',
|
||||||
'Insured Name',
|
'Insured Name', 'Vehicle Number',
|
||||||
'Vehicle Number',
|
'Payment Mode', 'Plan Type',
|
||||||
'Payment Mode',
|
'Sales Executive Name', 'Vehicle Type', 'Policy Number','Issued Date', 'Premium Amount'];
|
||||||
'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)) {
|
||||||
@ -929,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)
|
||||||
@ -1151,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
|
||||||
@ -1163,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);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user