CAMBIO DE CLIENTE Y CAMBIO DE BANCO - 30/09/2026

Copiar estos 3 archivos a la carpeta de la web:
- app.php
- bootstrap.php
- modules_cambios.php (nuevo)

No requiere ejecutar SQL. Al abrir la aplicación se registran los nuevos menús.
Administrador tiene acceso automáticamente. Para otros roles, habilitar
Cambio de Cliente y/o Cambio de Banco en Seguridad > Roles y Permisos.

En Mantenimiento, seleccionar el registro actual y el nuevo con búsqueda
incremental desde una letra, por nombre, código o documento. Se incluyen
activos e inactivos. Presionar Aplicar cambio.

Se actualizan todas las claves foráneas hacia clientes.id o bancos.id y los
campos cliente_id, codeudor_id, firmante_id o banco_id de las tablas de la base,
incluido historial_eliminaciones.cliente_id. La pantalla muestra el resultado
por tabla y campo. Se registra usuario, fecha, IDs anterior/nuevo y cantidades
en auditoría. Ante cualquier error se revierte toda la transacción.

Se conservan los registros originales de clientes/bancos, las rutas de archivos
y los documentos JSON/textos históricos archivados. No se ejecutaron cambios
sobre los clientes ni bancos reales durante las pruebas.

Probado en una base temporal: reemplazo en todas las relaciones, detección de
una clave foránea adicional, IDs inválidos, permisos, auditoría y rollback ante
conflictos de unicidad. Sintaxis PHP verificada.
