importacion historico legacy completo: citas con estados reales + 24,497 ventas con pagos (cuadre al centavo 48/48 meses); method points en skeen_pagos + sin acumular al canjear; scripts y doc de migracion

This commit is contained in:
2026-10-10 10:27:29 +00:00
parent 2523635716
commit 4842552574
7 changed files with 1772 additions and 1 deletions

View File

@@ -0,0 +1,42 @@
# 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`).