<?php
$pageTitle = 'Editar Insumo';
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;
}

// Obtener categorías
$stmt = $db->query("SELECT * FROM categorias_insumos ORDER BY nombre");
$categorias = $stmt->fetchAll();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $codigo = sanitize($_POST['codigo']);
    
    // Verificar código único
    $stmt = $db->prepare("SELECT id FROM insumos WHERE codigo = ? AND id != ?");
    $stmt->execute([$codigo, $id]);
    if ($stmt->fetch()) {
        showAlert('El código ya existe', 'danger');
    } else {
        try {
            $stmt = $db->prepare("
                UPDATE insumos SET 
                    codigo = ?, nombre = ?, categoria_id = ?, descripcion = ?, 
                    unidad_medida = ?, stock_minimo = ?, precio_unitario = ?, fecha_vencimiento = ?, activo = ?
                WHERE id = ?
            ");
            
            $fechaVenc = !empty($_POST['fecha_vencimiento']) ? $_POST['fecha_vencimiento'] : null;
            
            $stmt->execute([
                $codigo,
                sanitize($_POST['nombre']),
                $_POST['categoria_id'] ?: null,
                sanitize($_POST['descripcion']),
                sanitize($_POST['unidad_medida']),
                floatval($_POST['stock_minimo']),
                floatval($_POST['precio_unitario']),
                $fechaVenc,
                isset($_POST['activo']) ? 1 : 0,
                $id
            ]);
            
            showAlert('Insumo actualizado correctamente');
            header('Location: list.php');
            exit;
        } catch (PDOException $e) {
            showAlert('Error al actualizar: ' . $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-pencil"></i> Editar Insumo</h2>
    <a href="list.php" class="btn btn-outline-secondary">
        <i class="bi bi-arrow-left"></i> Volver
    </a>
</div>

<div class="row">
    <div class="col-md-8">
        <div class="card">
            <div class="card-body">
                <form method="POST">
                    <div class="row">
                        <div class="col-md-4">
                            <div class="mb-3">
                                <label class="form-label">Código *</label>
                                <input type="text" name="codigo" class="form-control" required 
                                       value="<?= htmlspecialchars($insumo['codigo']) ?>">
                            </div>
                        </div>
                        <div class="col-md-8">
                            <div class="mb-3">
                                <label class="form-label">Nombre del Insumo *</label>
                                <input type="text" name="nombre" class="form-control" required
                                       value="<?= htmlspecialchars($insumo['nombre']) ?>">
                            </div>
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-4">
                            <div class="mb-3">
                                <label class="form-label">Categoría</label>
                                <select name="categoria_id" class="form-select">
                                    <option value="">Sin categoría</option>
                                    <?php foreach ($categorias as $cat): ?>
                                    <option value="<?= $cat['id'] ?>" <?= $insumo['categoria_id'] == $cat['id'] ? 'selected' : '' ?>>
                                        <?= $cat['nombre'] ?>
                                    </option>
                                    <?php endforeach; ?>
                                </select>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="mb-3">
                                <label class="form-label">Unidad de Medida</label>
                                <input type="text" name="unidad_medida" class="form-control"
                                       value="<?= htmlspecialchars($insumo['unidad_medida']) ?>">
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="mb-3">
                                <label class="form-label">Precio Unitario</label>
                                <div class="input-group">
                                    <span class="input-group-text"><?= CURRENCY ?></span>
                                    <input type="number" name="precio_unitario" class="form-control" 
                                           min="0" step="0.01" value="<?= $insumo['precio_unitario'] ?>">
                                </div>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="mb-3">
                                <label class="form-label">Fecha de Vencimiento</label>
                                <input type="date" name="fecha_vencimiento" class="form-control"
                                       value="<?= htmlspecialchars($insumo['fecha_vencimiento'] ?? '') ?>">
                                <div class="form-text text-muted">Dejar vacío si no aplica</div>
                            </div>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label class="form-label">Stock Mínimo (alerta)</label>
                        <input type="number" name="stock_minimo" class="form-control" 
                               min="0" step="0.01" value="<?= $insumo['stock_minimo'] ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label class="form-label">Descripción</label>
                        <textarea name="descripcion" class="form-control" rows="2"><?= htmlspecialchars($insumo['descripcion']) ?></textarea>
                    </div>
                    
                    <div class="form-check mb-3">
                        <input class="form-check-input" type="checkbox" name="activo" id="activo" 
                               <?= $insumo['activo'] ? 'checked' : '' ?>>
                        <label class="form-check-label" for="activo">Activo</label>
                    </div>
                    
                    <div class="d-flex gap-2">
                        <button type="submit" class="btn btn-primary">
                            <i class="bi bi-check-lg"></i> Actualizar
                        </button>
                        <a href="list.php" class="btn btn-outline-secondary">Cancelar</a>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    <div class="col-md-4">
        <div class="card">
            <div class="card-header bg-info text-white">
                <h5 class="mb-0"><i class="bi bi-box"></i> Stock Actual</h5>
            </div>
            <div class="card-body text-center">
                <h1 class="<?= $insumo['stock_actual'] <= $insumo['stock_minimo'] ? 'text-danger' : 'text-success' ?>">
                    <?= $insumo['stock_actual'] ?>
                </h1>
                <p class="text-muted"><?= $insumo['unidad_medida'] ?></p>
                
                <hr>
                
                <div class="d-grid gap-2">
                    <a href="entrada.php?id=<?= $id ?>" class="btn btn-success">
                        <i class="bi bi-plus-circle"></i> Registrar Entrada
                    </a>
                    <a href="ajuste.php?id=<?= $id ?>" class="btn btn-warning">
                        <i class="bi bi-pencil-square"></i> Ajuste de Inventario
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

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