34786-vm/registrar_salida.php
2025-12-12 16:33:10 +00:00

112 lines
3.9 KiB
PHP

<?php
// registrar_salida.php
require_once 'includes/header.php';
// Restringir acceso solo a roles autorizados
$allowed_roles = ['Administrador General', 'Encargado de Stock'];
if (!isset($_SESSION['user_rol']) || !in_array($_SESSION['user_rol'], $allowed_roles)) {
$_SESSION['error'] = 'No tienes permiso para acceder a esta página.';
header('Location: index.php');
exit;
}
// Fetch products and cities for the dropdowns
try {
$pdo = db();
// Fetch products
$stmt_productos = $pdo->query("SELECT id, nombre FROM productos ORDER BY nombre ASC");
$productos = $stmt_productos->fetchAll(PDO::FETCH_ASSOC);
// Fetch cities
$stmt_ciudades = $pdo->query("SELECT id, nombre FROM ciudades ORDER BY nombre ASC");
$ciudades = $stmt_ciudades->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
// Handle DB error
echo '<div class="alert alert-danger" role="alert">Error al conectar con la base de datos: ' . htmlspecialchars($e->getMessage()) . '</div>';
$productos = [];
$ciudades = [];
}
?>
<div class="container mt-5">
<h1>Registrar Salida de Producto</h1>
<p>Selecciona el producto, la ciudad y la cantidad que deseas dar de baja del inventario.</p>
<?php
if (isset($_SESSION['error'])):
?>
<div class="alert alert-danger" role="alert">
<?php
echo htmlspecialchars($_SESSION['error']);
unset($_SESSION['error']);
?>
</div>
<?php
endif;
?>
<?php
if (isset($_SESSION['success'])):
?>
<div class="alert alert-success" role="alert">
<?php
echo htmlspecialchars($_SESSION['success']);
unset($_SESSION['success']);
?>
</div>
<?php
endif;
?>
<form action="handle_salida.php" method="POST" class="mt-4">
<div class="mb-3">
<label for="producto_id" class="form-label">Producto</label>
<select class="form-select" id="producto_id" name="producto_id" required>
<option value="">Selecciona un producto</option>
<?php foreach ($productos as $producto): ?>
<option value="<?php echo htmlspecialchars($producto['id']); ?>">
<?php echo htmlspecialchars($producto['nombre']); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="mb-3">
<label for="ciudad_id" class="form-label">Ciudad</label>
<select class="form-select" id="ciudad_id" name="ciudad_id" required>
<option value="">Selecciona una ciudad</option>
<?php foreach ($ciudades as $ciudad): ?>
<option value="<?php echo htmlspecialchars($ciudad['id']); ?>">
<?php echo htmlspecialchars($ciudad['nombre']); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="mb-3">
<label for="cantidad" class="form-label">Cantidad</label>
<input type="number" class="form-control" id="cantidad" name="cantidad" min="1" required>
</div>
<div class="mb-3">
<label for="fecha" class="form-label">Fecha de Salida</label>
<input type="date" class="form-control" id="fecha" name="fecha" required>
</div>
<div class="mb-3">
<label for="descripcion" class="form-label">Descripción (Opcional)</label>
<textarea class="form-control" id="descripcion" name="descripcion" rows="3" placeholder="Ej: Venta a cliente, traslado a otra tienda, etc."></textarea>
</div>
<button type="submit" class="btn btn-primary">Registrar Salida</button>
<a href="productos.php" class="btn btn-secondary">Cancelar</a>
</form>
</div>
<?php
require_once 'includes/footer.php';
?>