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

$db = getDB();
$id = intval($_GET['id'] ?? 0);

$stmt = $db->prepare("SELECT * FROM insumos WHERE id = ?");
$stmt->execute([$id]);
$insumo = $stmt->fetch();

if (!$insumo) {
    showAlert('Insumo no encontrado', 'danger');
    header('Location: list.php');
    exit;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $cantidad = floatval($_POST['cantidad']);
    
    if ($cantidad <= 0) {
        showAlert('La cantidad debe ser mayor a 0', 'danger');
    } else {
        try {
            $stockAnterior = $insumo['stock_actual'];
            $stockNuevo = $stockAnterior + $cantidad;
            
            // Actualizar stock
            $stmt = $db->prepare("UPDATE insumos SET stock_actual = ? WHERE id = ?");
            $stmt->execute([$stockNuevo, $id]);
            
            // Registrar movimiento
            $stmt = $db->prepare("
                INSERT INTO movimientos_inventario 
                (insumo_id, tipo, cantidad, stock_anterior, stock_nuevo, motivo, usuario_id)
                VALUES (?, 'entrada', ?, ?, ?, ?, ?)
            ");
            $stmt->execute([
                $id,
                $cantidad,
                $stockAnterior,
                $stockNuevo,
                sanitize($_POST['motivo']),
                $_SESSION['user_id']
            ]);
            
            showAlert('Entrada registrada correctamente. Nuevo stock: ' . $stockNuevo);
            header('Location: list.php');
            exit;
            
        } catch (PDOException $e) {
            showAlert('Error: ' . $e->getMessage(), 'danger');
        }
    }
}

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-plus-circle"></i> Entrada de Inventario</h2>
    <a href="list.php" class="btn btn-outline-secondary">
        <i class="bi bi-arrow-left"></i> Volver
    </a>
</div>

<div class="row justify-content-center">
    <div class="col-md-6">
        <div class="card">
            <div class="card-header bg-success text-white">
                <h5 class="mb-0">Registrar Entrada</h5>
            </div>
            <div class="card-body">
                <div class="alert alert-info">
                    <strong>Insumo:</strong> <?= htmlspecialchars($insumo['nombre']) ?> (<?= $insumo['codigo'] ?>)
                    <br>
                    <strong>Stock Actual:</strong> <?= $insumo['stock_actual'] ?> <?= $insumo['unidad_medida'] ?>
                </div>
                
                <form method="POST">
                    <div class="mb-3">
                        <label class="form-label">Cantidad a Ingresar *</label>
                        <div class="input-group">
                            <input type="number" name="cantidad" class="form-control form-control-lg" 
                                   required min="0.01" step="0.01" autofocus>
                            <span class="input-group-text"><?= $insumo['unidad_medida'] ?></span>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label class="form-label">Motivo / Observación</label>
                        <textarea name="motivo" class="form-control" rows="2"
                                  placeholder="Ej: Compra, Donación, etc."></textarea>
                    </div>
                    
                    <div class="d-grid">
                        <button type="submit" class="btn btn-success btn-lg">
                            <i class="bi bi-check-lg"></i> Registrar Entrada
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

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