<?php
$pageTitle = 'Reporte de Exámenes';
require_once __DIR__ . '/../../config/config.php';
requireLogin();

if ($_SESSION['rol'] != 'admin') {
    header('Location: ' . SITE_URL);
    exit;
}

$db = getDB();

// Filtros
$fecha_desde = $_GET['fecha_desde'] ?? date('Y-m-01');
$fecha_hasta = $_GET['fecha_hasta'] ?? date('Y-m-d');

// Exámenes realizados
$stmt = $db->prepare("
    SELECT 
        e.codigo,
        e.nombre,
        c.nombre as categoria,
        COUNT(od.id) as cantidad,
        SUM(od.precio) as total_facturado
    FROM orden_detalle od
    JOIN examenes e ON od.examen_id = e.id
    LEFT JOIN categorias_examenes c ON e.categoria_id = c.id
    JOIN ordenes o ON od.orden_id = o.id
    WHERE DATE(o.fecha_orden) BETWEEN ? AND ?
    AND o.estado != 'cancelada'
    GROUP BY e.id
    ORDER BY cantidad DESC
");
$stmt->execute([$fecha_desde, $fecha_hasta]);
$examenes = $stmt->fetchAll();

// Totales
$totalExamenes = array_sum(array_column($examenes, 'cantidad'));
$totalFacturado = array_sum(array_column($examenes, 'total_facturado'));

require_once __DIR__ . '/../../includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mt-4 mb-4">
    <h2><i class="bi bi-droplet"></i> Reporte de Exámenes</h2>
    <div>
        <button onclick="window.print()" class="btn btn-outline-secondary">
            <i class="bi bi-printer"></i> Imprimir
        </button>
        <a href="index.php" class="btn btn-outline-secondary">
            <i class="bi bi-arrow-left"></i> Volver
        </a>
    </div>
</div>

<!-- Filtros -->
<div class="card mb-4 no-print">
    <div class="card-body">
        <form method="GET" class="row g-3">
            <div class="col-md-3">
                <label class="form-label">Fecha Desde</label>
                <input type="date" name="fecha_desde" class="form-control" value="<?= $fecha_desde ?>">
            </div>
            <div class="col-md-3">
                <label class="form-label">Fecha Hasta</label>
                <input type="date" name="fecha_hasta" class="form-control" value="<?= $fecha_hasta ?>">
            </div>
            <div class="col-md-3 d-flex align-items-end">
                <button type="submit" class="btn btn-primary">
                    <i class="bi bi-search"></i> Generar Reporte
                </button>
            </div>
        </form>
    </div>
</div>

<!-- Resumen -->
<div class="row mb-4">
    <div class="col-md-6">
        <div class="card bg-success text-white">
            <div class="card-body text-center">
                <h6>Total Exámenes Realizados</h6>
                <h2><?= number_format($totalExamenes) ?></h2>
            </div>
        </div>
    </div>
    <div class="col-md-6">
        <div class="card bg-primary text-white">
            <div class="card-body text-center">
                <h6>Total Facturado</h6>
                <h2><?= formatMoney($totalFacturado) ?></h2>
            </div>
        </div>
    </div>
</div>

<!-- Tabla de exámenes -->
<div class="card">
    <div class="card-header">
        <h5 class="mb-0">Detalle por Examen</h5>
    </div>
    <div class="card-body">
        <table class="table table-hover datatable">
            <thead>
                <tr>
                    <th>Código</th>
                    <th>Examen</th>
                    <th>Categoría</th>
                    <th class="text-center">Cantidad</th>
                    <th class="text-end">Total Facturado</th>
                    <th class="text-center">%</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($examenes as $ex): ?>
                <tr>
                    <td><?= $ex['codigo'] ?></td>
                    <td><?= $ex['nombre'] ?></td>
                    <td><?= $ex['categoria'] ?: '-' ?></td>
                    <td class="text-center"><strong><?= $ex['cantidad'] ?></strong></td>
                    <td class="text-end"><?= formatMoney($ex['total_facturado']) ?></td>
                    <td class="text-center">
                        <?php $porcentaje = $totalExamenes > 0 ? round(($ex['cantidad'] / $totalExamenes) * 100, 1) : 0; ?>
                        <div class="progress" style="height: 20px;">
                            <div class="progress-bar bg-success" style="width: <?= $porcentaje ?>%">
                                <?= $porcentaje ?>%
                            </div>
                        </div>
                    </td>
                </tr>
                <?php endforeach; ?>
            </tbody>
            <tfoot class="table-success">
                <tr>
                    <th colspan="3">TOTALES</th>
                    <th class="text-center"><?= number_format($totalExamenes) ?></th>
                    <th class="text-end"><?= formatMoney($totalFacturado) ?></th>
                    <th class="text-center">100%</th>
                </tr>
            </tfoot>
        </table>
    </div>
</div>

<style>
@media print {
    .no-print { display: none !important; }
    .sidebar { display: none !important; }
    .main-content { margin: 0 !important; padding: 0 !important; }
}
</style>

<?php require_once __DIR__ . '/../../includes/footer.php'; ?>
