<?php
$pageTitle = 'Compras de Inventario';
require_once __DIR__ . '/../../config/config.php';
requireLogin();

$db = getDB();

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

// Obtener compras (entradas de inventario)
$stmt = $db->prepare("
    SELECT 
        mi.id,
        mi.fecha_movimiento,
        mi.cantidad,
        mi.motivo,
        mi.stock_anterior,
        mi.stock_nuevo,
        i.nombre as insumo,
        i.unidad_medida,
        i.codigo,
        ic.nombre as categoria,
        u.nombre as usuario
    FROM movimientos_inventario mi
    INNER JOIN insumos i ON mi.insumo_id = i.id
    LEFT JOIN categorias_insumos ic ON i.categoria_id = ic.id
    LEFT JOIN usuarios u ON mi.usuario_id = u.id
    WHERE mi.tipo = 'entrada'
    AND DATE(mi.fecha_movimiento) BETWEEN ? AND ?
    ORDER BY mi.fecha_movimiento DESC
");
$stmt->execute([$fecha_inicio, $fecha_fin]);
$compras = $stmt->fetchAll();

// Totales por insumo
$stmtTotales = $db->prepare("
    SELECT 
        i.nombre as insumo,
        i.unidad_medida,
        SUM(mi.cantidad) as total_cantidad
    FROM movimientos_inventario mi
    INNER JOIN insumos i ON mi.insumo_id = i.id
    WHERE mi.tipo = 'entrada'
    AND DATE(mi.fecha_movimiento) BETWEEN ? AND ?
    GROUP BY i.id
    ORDER BY total_cantidad DESC
");
$stmtTotales->execute([$fecha_inicio, $fecha_fin]);
$totales = $stmtTotales->fetchAll();

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-cart-plus"></i> Compras de Inventario</h2>
    <div>
        <a href="create.php" class="btn btn-primary">
            <i class="bi bi-plus-lg"></i> Nueva Compra
        </a>
    </div>
</div>

<!-- Filtros -->
<div class="card mb-4">
    <div class="card-body">
        <form method="GET" class="row g-3">
            <div class="col-md-4">
                <label class="form-label">Fecha Inicio</label>
                <input type="date" name="fecha_inicio" class="form-control" value="<?= $fecha_inicio ?>">
            </div>
            <div class="col-md-4">
                <label class="form-label">Fecha Fin</label>
                <input type="date" name="fecha_fin" class="form-control" value="<?= $fecha_fin ?>">
            </div>
            <div class="col-md-4 d-flex align-items-end">
                <button type="submit" class="btn btn-primary me-2">
                    <i class="bi bi-search"></i> Buscar
                </button>
                <a href="list.php" class="btn btn-outline-secondary">Limpiar</a>
            </div>
        </form>
    </div>
</div>

<div class="row">
    <!-- Resumen -->
    <div class="col-md-4">
        <div class="card mb-4">
            <div class="card-header">
                <h5 class="mb-0"><i class="bi bi-pie-chart"></i> Resumen por Insumo</h5>
            </div>
            <div class="card-body" style="max-height: 400px; overflow-y: auto;">
                <?php if (count($totales) > 0): ?>
                <table class="table table-sm">
                    <thead>
                        <tr>
                            <th>Insumo</th>
                            <th class="text-end">Total</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($totales as $total): ?>
                        <tr>
                            <td><small><?= htmlspecialchars($total['insumo']) ?></small></td>
                            <td class="text-end">
                                <span class="badge bg-success">
                                    +<?= number_format($total['total_cantidad'], 2) ?> <?= $total['unidad_medida'] ?>
                                </span>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
                <?php else: ?>
                <p class="text-muted text-center">Sin compras en el período</p>
                <?php endif; ?>
            </div>
        </div>
    </div>
    
    <!-- Lista de compras -->
    <div class="col-md-8">
        <div class="card">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="bi bi-list-ul"></i> Historial de Compras
                    <span class="badge bg-primary"><?= count($compras) ?> registros</span>
                </h5>
            </div>
            <div class="card-body">
                <?php if (count($compras) > 0): ?>
                <div class="table-responsive">
                    <table class="table table-hover" id="tablaCompras">
                        <thead>
                            <tr>
                                <th>Fecha</th>
                                <th>Insumo</th>
                                <th class="text-end">Cantidad</th>
                                <th>Motivo</th>
                                <th>Usuario</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($compras as $compra): ?>
                            <tr>
                                <td><small><?= formatDateTime($compra['fecha_movimiento']) ?></small></td>
                                <td>
                                    <?php if ($compra['categoria']): ?>
                                    <small class="text-muted"><?= htmlspecialchars($compra['categoria']) ?></small><br>
                                    <?php endif; ?>
                                    <strong><?= htmlspecialchars($compra['insumo']) ?></strong>
                                    <br><small class="text-muted"><?= htmlspecialchars($compra['codigo']) ?></small>
                                </td>
                                <td class="text-end">
                                    <span class="badge bg-success">
                                        +<?= number_format($compra['cantidad'], 2) ?> <?= $compra['unidad_medida'] ?>
                                    </span>
                                </td>
                                <td><small><?= htmlspecialchars($compra['motivo'] ?? '-') ?></small></td>
                                <td><small><?= htmlspecialchars($compra['usuario'] ?? '-') ?></small></td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
                <?php else: ?>
                <div class="alert alert-info">
                    <i class="bi bi-info-circle"></i> No hay compras registradas en el período seleccionado.
                </div>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>

<script>
$(document).ready(function() {
    $('#tablaCompras').DataTable({
        language: {
            url: '//cdn.datatables.net/plug-ins/1.13.7/i18n/es-ES.json'
        },
        order: [[0, 'desc']],
        pageLength: 25
    });
});
</script>

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