2.4 KiB
2.4 KiB
Migración del histórico legacy (citas + ventas/pagos) — 2026-10-10
Reextracción completa de la plataforma legacy (sistema.skeenmx.app, solo lectura) e
importación idempotente a skeen_odoo. Alimenta el reporte Concentrado (recreación
fiel al legacy: una fila por venta, desglose por método de pago × moneda).
Datasets extraídos (origen: /root/migracion/extraccion/concentrado/)
| Archivo | Contenido |
|---|---|
citas_full.csv |
57,030 citas 2022-11-07 → 2026-10-10, con status real del legacy (done 21,369 · cancelled 16,546 · pending 11,622 · confirmed 4,274 · no_show 3,219). Reanudable (citas_full.progress). |
concentrado_full.csv |
29,467 filas = 48 meses del reporte concentrado legacy (Excel mensual en concentrado_mensual/), verificado al centavo vs el HTML del legacy. |
ventas_full.json / ventas_full.csv |
19,278 ventas únicas con expedientes_id (join a pacientes vía res.partner.legacy_id) y desglose de pagos. |
Scripts: x_full_citas.py, x_full_ventas.py, x_full_concentrado.py (extracción,
reusan extraer_skeen.login(); correr con /root/odoo-venv/bin/python).
Importación
importar_concentrado_full.py — idempotente (upsert por legacy_id; re-ejecutable):
/root/odoo-venv/bin/python /root/migracion/importar_concentrado_full.py --db skeen_odoo --permitir-produccion
Resultado en producción (2026-10-10):
- Citas: 39,565
legacy_idretroados, 39,564 actualizadas con estado real, 9,009 creadas, 8,456 filas basura omitidas (NO CITAR / teléfonos inválidos). 7,351 doctores fantasma numéricos anulados; sin resolver (doctor NULL): id 34–39, 44, 51 (~8,350 citas históricas). - Ventas: 24,497 creadas (96.8% de folios con monto), 26,983 pagos. Cuadra al centavo por mes, método y moneda contra el legacy (48/48 meses).
- Omitidos: 799 folios ($1.29M, 2.5% del dinero) cuyos pacientes (
expedientes_id) nunca se migraron a Odoo; 139 filas todo-$0 (sesiones de paquete). - Las 20,127 ventas del pipeline de julio-2026 se eliminaron: eran duplicadas del mismo histórico, sin pagos y con montos corruptos (p. ej. cantidad 126 × $12,600).
Requiere
- Columna
legacy_idenskeen_citayskeen_venta(agregada 2026-10-10, v1.0.1). - Métodos de pago
saldo_favorypointsenskeen.pago(v1.0.2). - Backups previos en
/root/backups/skeen_odoo_pre_import_prod_20261010_100903.dump(yskeen_preimport_20261010_095311.dump).