GWM : commissionPayoutReportExport API
This commit is contained in:
parent
5e17a4c2e4
commit
9dad32794b
@ -1812,6 +1812,14 @@ class PolicyController extends ResourceController
|
||||
. 'WHERE pii_utr.policy_id = pp.id AND pii_utr.is_active = 1), "") AS utr_no',
|
||||
false
|
||||
);
|
||||
$builder->select(
|
||||
'COALESCE((SELECT GROUP_CONCAT(DATE_FORMAT(piu.utr_date, \'%d-%m-%Y\') ORDER BY piu.id SEPARATOR ", ") '
|
||||
. 'FROM partner_invoice_items pii_utr2 '
|
||||
. 'INNER JOIN partner_invoice pi_u2 ON pi_u2.id = pii_utr2.invoice_id AND pi_u2.is_active = 1 '
|
||||
. 'INNER JOIN partner_invoice_utr piu ON piu.invoice_id = pii_utr2.invoice_id AND piu.is_active = 1 '
|
||||
. 'WHERE pii_utr2.policy_id = pp.id AND pii_utr2.is_active = 1), "") AS utr_date',
|
||||
false
|
||||
);
|
||||
$builder->select(
|
||||
"(CASE WHEN EXISTS (SELECT 1 FROM partner_invoice_items pii "
|
||||
. "INNER JOIN partner_invoice pi ON pi.id = pii.invoice_id AND pi.is_active = 1 "
|
||||
@ -1888,33 +1896,52 @@ class PolicyController extends ResourceController
|
||||
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFFFFF00']],
|
||||
'font' => ['bold' => true, 'name' => 'Arial', 'size' => 10],
|
||||
];
|
||||
$colHeaderStyle = [
|
||||
$colHeaderStyleText = [
|
||||
'font' => ['bold' => true, 'name' => 'Arial', 'size' => 10],
|
||||
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFB8CCE4']],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'wrapText' => true],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
|
||||
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]],
|
||||
];
|
||||
$cellStyle = [
|
||||
'font' => ['name' => 'Arial', 'size' => 9],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER],
|
||||
$colHeaderStyleNumber = [
|
||||
'font' => ['bold' => true, 'name' => 'Arial', 'size' => 10],
|
||||
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFB8CCE4']],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
|
||||
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]],
|
||||
];
|
||||
// Data rows: text left-aligned (LTR), numbers right-aligned
|
||||
$cellBorder = ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]];
|
||||
$cellStyleText = [
|
||||
'font' => ['name' => 'Arial', 'size' => 9],
|
||||
'alignment' => [
|
||||
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT,
|
||||
'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
|
||||
],
|
||||
'borders' => $cellBorder,
|
||||
];
|
||||
$cellStyleNumber = [
|
||||
'font' => ['name' => 'Arial', 'size' => 9],
|
||||
'alignment' => [
|
||||
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT,
|
||||
'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
|
||||
],
|
||||
'borders' => $cellBorder,
|
||||
];
|
||||
$summaryLabelStyle = [
|
||||
'font' => ['bold' => true, 'name' => 'Arial', 'size' => 10],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT],
|
||||
];
|
||||
$summaryValueStyle = [
|
||||
'font' => ['bold' => true, 'name' => 'Arial', 'size' => 10, 'color' => ['argb' => 'FF0070C0']],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT],
|
||||
];
|
||||
|
||||
// Total columns used: A–T (20 columns)
|
||||
$lastCol = 'T';
|
||||
$lastColNo = 20;
|
||||
// Total columns used: A–V (UTR NO + UTR DATE after PAYMENT PO MODE)
|
||||
$lastCol = 'V';
|
||||
$lastColNo = 22;
|
||||
|
||||
// ── Row 1: Title ──────────────────────────────────────────────────────
|
||||
$sheet->mergeCells("A1:{$lastCol}1");
|
||||
$sheet->setCellValue('A1', 'WE NEED THIS TYPE FORMENT IN PATNER LOGIN (PAYOUT REPORT)');
|
||||
$sheet->setCellValue('A1', 'Payout Report');
|
||||
$sheet->getStyle('A1')->applyFromArray($redBoldCenter);
|
||||
$sheet->getRowDimension(1)->setRowHeight(20);
|
||||
|
||||
@ -1961,12 +1988,18 @@ class PolicyController extends ResourceController
|
||||
'Q3' => 'A+B (NET)',
|
||||
'R3' => 'S.TAX',
|
||||
'S3' => 'TOTAL',
|
||||
'T3' => "PAYMENT\nPO MODE", // UTR / UTR DATE placed here for simplicity
|
||||
'T3' => "PAYMENT\nPO MODE",
|
||||
'U3' => 'UTR NO',
|
||||
'V3' => 'UTR DATE',
|
||||
];
|
||||
|
||||
$headerNumberCols = ['A', 'O', 'P', 'Q', 'R', 'S', 'I'];
|
||||
foreach ($headers as $cell => $label) {
|
||||
$sheet->setCellValue($cell, $label);
|
||||
$sheet->getStyle($cell)->applyFromArray($colHeaderStyle);
|
||||
$col = preg_replace('/\d+/', '', $cell);
|
||||
$sheet->getStyle($cell)->applyFromArray(
|
||||
in_array($col, $headerNumberCols, true) ? $colHeaderStyleNumber : $colHeaderStyleText
|
||||
);
|
||||
}
|
||||
$sheet->getRowDimension(3)->setRowHeight(30);
|
||||
|
||||
@ -1976,7 +2009,7 @@ class PolicyController extends ResourceController
|
||||
|
||||
foreach ($rows as $index => $row) {
|
||||
$refNo = $index + 1;
|
||||
$policyNo = $row['policy_no'] ?? '';
|
||||
$policyNo = '`'.$row['policy_no'] ?? '';
|
||||
$regNo = $row['reg_no'] ?? '';
|
||||
$fuelType = $row['fuel_type'] ?? '';
|
||||
$vehicleType = $row['vehicle_type'] ?? '';
|
||||
@ -1984,6 +2017,7 @@ class PolicyController extends ResourceController
|
||||
$commissionAmt = (float) ($row['commission_amount'] ?? 0);
|
||||
$premium = (float) ($row['premium'] ?? 0);
|
||||
$utrNo = $row['utr_no'] ?? '';
|
||||
$utrDate = $row['utr_date'] ?? '';
|
||||
$payoutStatus = ($row['received_or_not'] ?? '') === 'yes' ? 'LINK' : 'PENDING';
|
||||
|
||||
$rowData = [
|
||||
@ -2006,12 +2040,17 @@ class PolicyController extends ResourceController
|
||||
'Q' => $premium, // A+B Net
|
||||
'R' => 0, // S.TAX – add if available
|
||||
'S' => $commissionAmt, // Commission as TOTAL
|
||||
'T' => $payoutStatus . ($utrNo ? ' | ' . $utrNo : ''),
|
||||
'T' => $payoutStatus,
|
||||
'U' => $utrNo,
|
||||
'V' => $utrDate,
|
||||
];
|
||||
|
||||
$dataNumberCols = ['A', 'I', 'O', 'P', 'Q', 'R', 'S'];
|
||||
foreach ($rowData as $col => $value) {
|
||||
$sheet->setCellValue("{$col}{$rowNum}", $value);
|
||||
$sheet->getStyle("{$col}{$rowNum}")->applyFromArray($cellStyle);
|
||||
$sheet->getStyle("{$col}{$rowNum}")->applyFromArray(
|
||||
in_array($col, $dataNumberCols, true) ? $cellStyleNumber : $cellStyleText
|
||||
);
|
||||
}
|
||||
|
||||
$sheet->getRowDimension($rowNum)->setRowHeight(18);
|
||||
@ -2020,7 +2059,7 @@ class PolicyController extends ResourceController
|
||||
|
||||
// ── Summary row ───────────────────────────────────────────────────────
|
||||
$summaryRow = $rowNum + 1;
|
||||
$sheet->mergeCells("A{$summaryRow}:R{$summaryRow}");
|
||||
$sheet->mergeCells("A{$summaryRow}:{$lastCol}{$summaryRow}");
|
||||
$sheet->setCellValue("A{$summaryRow}", 'TOTAL COMMISSION SUMMARY');
|
||||
$sheet->getStyle("A{$summaryRow}")->applyFromArray($summaryLabelStyle);
|
||||
|
||||
@ -2047,7 +2086,8 @@ class PolicyController extends ResourceController
|
||||
'A' => 8, 'B' => 16, 'C' => 13, 'D' => 14, 'E' => 16,
|
||||
'F' => 13, 'G' => 13, 'H' => 10, 'I' => 8, 'J' => 8,
|
||||
'K' => 10, 'L' => 13, 'M' => 16, 'N' => 16, 'O' => 8,
|
||||
'P' => 8, 'Q' => 10, 'R' => 8, 'S' => 10, 'T' => 18,
|
||||
'P' => 8, 'Q' => 10, 'R' => 8, 'S' => 10, 'T' => 12,
|
||||
'U' => 18, 'V' => 14,
|
||||
];
|
||||
foreach ($colWidths as $col => $width) {
|
||||
$sheet->getColumnDimension($col)->setWidth($width);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user