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

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


$cajaController = new CajaController();

if (isset($_POST['exportar_excel'])) {
    $fecha_inicio = $_POST['fecha_inicio'];
    $fecha_fin = $_POST['fecha_fin'];
    $tipo_reporte = $_POST['tipo_reporte'];

    $reportes = [];
    if ($tipo_reporte == 'ingresos') {
        $reportes = $cajaController->listarTransaccionesPorFecha($fecha_inicio, $fecha_fin);
    } elseif ($tipo_reporte == 'egresos') {
        $reportes = $cajaController->listarEgresosPorFecha($fecha_inicio, $fecha_fin);
    }

    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setCellValue('A1', 'Fecha');
    $sheet->setCellValue('B1', 'Monto');
    $sheet->setCellValue('C1', 'Detalle');

    $row = 2;
    foreach ($reportes as $reporte) {
        $sheet->setCellValue('A' . $row, isset($reporte['fecha_recibo']) ? $reporte['fecha_recibo'] : $reporte['submitdate']);
        $sheet->setCellValue('B' . $row, isset($reporte['monto']) ? $reporte['monto'] : ($reporte['paid'] + $reporte['paid_deposito']));
        $sheet->setCellValue('C' . $row, isset($reporte['detalle']) ? $reporte['detalle'] : $reporte['transcation_remark']);
        $row++;
    }

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="reporte.xlsx"');
    header('Cache-Control: max-age=0');

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