<?php
include_once '../../controllers/CajaController.php';
require '../../vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$cajaController = new CajaController();
$fecha_inicio = $_GET['fecha_inicio'];
$fecha_fin = $_GET['fecha_fin'];
$transacciones = $cajaController->listarTransaccionesPorFecha($fecha_inicio, $fecha_fin);

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// Encabezados
$sheet->setCellValue('A1', 'Fecha de Pago')
    ->setCellValue('B1', 'Monto Pagado')
    ->setCellValue('C1', 'Monto Deposito');

$total_ingresos = 0; // Variable para el total de ingresos
$row = 2;

// Llenar datos en la tabla
foreach ($transacciones as $transaccion) {
    $sheet->setCellValue('A' . $row, $transaccion['submitdate'])
        ->setCellValue('B' . $row, $transaccion['paid'])
        ->setCellValue('C' . $row, $transaccion['paid_deposito']);
    // Calcular el total de ingresos
    $total_ingresos += $transaccion['paid'] + $transaccion['paid_deposito'];
    $row++;
}

// Escribir el total de ingresos al final de la tabla
$sheet->setCellValue('A' . $row, 'Total de Ingresos:')
    ->setCellValue('B' . $row, number_format($total_ingresos, 2));
$sheet->getStyle('A' . $row . ':B' . $row)->getFont()->setBold(true); // Negrita para destacar

// Enviar el archivo Excel como respuesta
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="ingresos.xlsx"');
header('Cache-Control: max-age=0');

$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
exit;
?>