Files
SKEEN-Proyecto/docs/migracion-concentrado.md

43 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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):
```bash
/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_id` retroados, 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_id` en `skeen_cita` y `skeen_venta` (agregada 2026-10-10, v1.0.1).
- Métodos de pago `saldo_favor` y `points` en `skeen.pago` (v1.0.2).
- Backups previos en `/root/backups/skeen_odoo_pre_import_prod_20261010_100903.dump`
(y `skeen_preimport_20261010_095311.dump`).