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

$db = getDB();

$stmt = $db->query("
    SELECT i.*, c.nombre as categoria_nombre
    FROM insumos i 
    LEFT JOIN categorias_insumos c ON i.categoria_id = c.id 
    ORDER BY c.nombre, i.nombre
");
$insumos = $stmt->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-box-seam"></i> Inventario de Insumos</h2>
    <div>
        <a href="categorias.php" class="btn btn-outline-secondary">
            <i class="bi bi-folder"></i> Categorías
        </a>
        <a href="movimientos.php" class="btn btn-outline-info">
            <i class="bi bi-arrow-left-right"></i> Movimientos
        </a>
        <a href="create.php" class="btn btn-primary">
            <i class="bi bi-plus"></i> Nuevo Insumo
        </a>
    </div>
</div>

<!-- Alertas de stock bajo -->
<?php
$stmt = $db->query("SELECT COUNT(*) FROM insumos WHERE stock_actual <= stock_minimo AND activo = 1");
$stockBajo = $stmt->fetchColumn();
if ($stockBajo > 0):
?>
<div class="alert alert-warning">
    <i class="bi bi-exclamation-triangle"></i> 
    <strong>Atención:</strong> Hay <?= $stockBajo ?> insumo(s) con stock bajo o agotado.
</div>
<?php endif; ?>

<div class="card">
    <div class="card-body">
        <table class="table table-hover datatable">
            <thead>
                <tr>
                    <th>Código</th>
                    <th>Nombre</th>
                    <th>Categoría</th>
                    <th>Stock Actual</th>
                    <th>Stock Mínimo</th>
                    <th>Precio Unit.</th>
                    <th>Vencimiento</th>
                    <th>Estado</th>
                    <th>Acciones</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($insumos as $insumo): ?>
                <tr class="<?= $insumo['stock_actual'] <= $insumo['stock_minimo'] ? 'table-warning' : '' ?>">
                    <td><strong><?= $insumo['codigo'] ?></strong></td>
                    <td><?= htmlspecialchars($insumo['nombre']) ?></td>
                    <td><?= $insumo['categoria_nombre'] ?: '-' ?></td>
                    <td>
                        <span class="<?= $insumo['stock_actual'] <= $insumo['stock_minimo'] ? 'text-danger fw-bold' : '' ?>">
                            <?= $insumo['stock_actual'] ?> <?= $insumo['unidad_medida'] ?>
                        </span>
                        <?php if ($insumo['stock_actual'] <= $insumo['stock_minimo']): ?>
                        <i class="bi bi-exclamation-triangle text-warning"></i>
                        <?php endif; ?>
                    </td>
                    <td><?= $insumo['stock_minimo'] ?> <?= $insumo['unidad_medida'] ?></td>
                    <td><?= formatMoney($insumo['precio_unitario']) ?></td>
                    <td>
                        <?php if (!empty($insumo['fecha_vencimiento'])): 
                            $hoy = new DateTime('today');
                            $venc = new DateTime($insumo['fecha_vencimiento']);
                            $diff = (int)$hoy->diff($venc)->days;
                            $vencido = $hoy > $venc;
                        ?>
                            <?php if ($vencido): ?>
                                <span class="badge bg-danger" title="Vencido">
                                    <?= date('d/m/Y', strtotime($insumo['fecha_vencimiento'])) ?>
                                </span>
                            <?php elseif ($diff <= 30): ?>
                                <span class="badge bg-warning text-dark" title="Próximo a vencer (<?= $diff ?> días)">
                                    <?= date('d/m/Y', strtotime($insumo['fecha_vencimiento'])) ?>
                                </span>
                            <?php else: ?>
                                <span class="badge bg-success">
                                    <?= date('d/m/Y', strtotime($insumo['fecha_vencimiento'])) ?>
                                </span>
                            <?php endif; ?>
                        <?php else: ?>
                            <span class="text-muted">-</span>
                        <?php endif; ?>
                    </td>
                    <td>
                        <?php if ($insumo['activo']): ?>
                        <span class="badge bg-success">Activo</span>
                        <?php else: ?>
                        <span class="badge bg-danger">Inactivo</span>
                        <?php endif; ?>
                    </td>
                    <td>
                        <a href="edit.php?id=<?= $insumo['id'] ?>" class="btn btn-sm btn-outline-primary" title="Editar">
                            <i class="bi bi-pencil"></i>
                        </a>
                        <a href="entrada.php?id=<?= $insumo['id'] ?>" class="btn btn-sm btn-outline-success" title="Entrada">
                            <i class="bi bi-plus-circle"></i>
                        </a>
                        <a href="ajuste.php?id=<?= $insumo['id'] ?>" class="btn btn-sm btn-outline-warning" title="Ajuste">
                            <i class="bi bi-pencil-square"></i>
                        </a>
                    </td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>
</div>

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