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

97 lines
4.2 KiB
PHP

<?php
require_once 'includes/header.php';
// Verificar si se proporcionó un ID
if (!isset($_GET['id']) || empty($_GET['id'])) {
header('Location: liquidaciones.php?error=invalid_id');
exit();
}
$movimiento_id = $_GET['id'];
$pdo = db();
// Obtener los datos de la liquidación actual
$stmt = $pdo->prepare("SELECT * FROM movimientos WHERE id = ? AND tipo = 'Salida'");
$stmt->execute([$movimiento_id]);
$liquidacion = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$liquidacion) {
header('Location: liquidaciones.php?error=not_found');
exit();
}
// Obtener productos y ciudades para los menús desplegables
$productos = $pdo->query("SELECT id, nombre FROM productos ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC);
$ciudades = $pdo->query("SELECT id, nombre FROM ciudades ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC);
?>
<h1 class="mb-4">Editar Liquidación</h1>
<?php
if (isset($_GET['error'])) {
$error_msg = 'Ocurrió un error.';
if ($_GET['error'] === 'missing_fields') {
$error_msg = 'Por favor, complete todos los campos requeridos.';
}
echo '<div class="alert alert-danger">' . $error_msg . '</div>';
}
?>
<div class="card">
<div class="card-body">
<form action="handle_editar_liquidacion.php" method="POST">
<input type="hidden" name="movimiento_id" value="<?php echo htmlspecialchars($liquidacion['id']); ?>">
<div class="mb-3">
<label for="producto_id" class="form-label">Producto</label>
<select class="form-control" id="producto_id" name="producto_id" required>
<option value="">Seleccione un producto</option>
<?php foreach ($productos as $producto): ?>
<option value="<?php echo $producto['id']; ?>" <?php echo ($producto['id'] == $liquidacion['producto_id']) ? 'selected' : ''; ?>>
<?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-control" id="ciudad_id" name="ciudad_id" required>
<option value="">Seleccione una ciudad</option>
<?php foreach ($ciudades as $ciudad): ?>
<option value="<?php echo $ciudad['id']; ?>" <?php echo ($ciudad['id'] == $liquidacion['ciudad_origen_id']) ? 'selected' : ''; ?>>
<?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" value="<?php echo htmlspecialchars($liquidacion['cantidad']); ?>" required>
</div>
<div class="mb-3">
<label for="cantidad_pedidos" class="form-label">Cantidad de Pedidos</label>
<input type="number" class="form-control" id="cantidad_pedidos" name="cantidad_pedidos" value="<?php echo htmlspecialchars($liquidacion['cantidad_pedidos']); ?>" required>
</div>
<div class="mb-3">
<label for="precio_liquidacion" class="form-label">Precio Liquidación</label>
<input type="number" step="0.01" class="form-control" id="precio_liquidacion" name="precio_liquidacion" value="<?php echo htmlspecialchars($liquidacion['precio_liquidacion']); ?>" required>
</div>
<div class="mb-3">
<label for="fecha" class="form-label">Fecha</label>
<input type="datetime-local" class="form-control" id="fecha" name="fecha" value="<?php echo date('Y-m-d\TH:i', strtotime($liquidacion['fecha'])); ?>" required>
</div>
<button type="submit" class="btn btn-primary">Guardar Cambios</button>
<a href="liquidaciones.php" class="btn btn-secondary">Cancelar</a>
</form>
</div>
</div>
<?php require_once 'includes/footer.php'; ?>