feat(recepcion): motor de precios + selector empresa/convenio

- Nueva sección empresa/convenio en recepcion.php: búsqueda live por
  nombre/NIT, selector de subgrupo, campo autorización (cuando req_autoriza),
  diagnóstico CIE-10
- Tabla de precios calculados en tiempo real: resolución por tarifa de la
  empresa o subgrupo, descuento empresa aplicado, botón "Aplicar al cobro"
- Al agregar/quitar exámenes o cambiar empresa/subgrupo se recalcula automáticamente
- Nuevo API get_precios_examenes.php: resuelve precios desde lab_tarifas
  con soporte de tarifas derivadas por porcentaje
- create_solicitud.php guarda nit_empresa, subgrupo_id, autorizacion,
  diag_ppal, items_precio (snapshot JSON al momento de la recepción)
- Migración 10: ALTER turnero_solicitudes añade los 5 campos nuevos

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-04 22:09:26 -05:00
co-authored by Claude Sonnet 4.6
parent b9bb4fc628
commit a7aac706ee
4 changed files with 423 additions and 4 deletions
@@ -0,0 +1,16 @@
-- =============================================================
-- LIS 10 — Extiende turnero_solicitudes con campos de empresa/convenio
-- Todos DEFAULT NULL para no romper datos existentes.
-- =============================================================
ALTER TABLE turnero_solicitudes
ADD COLUMN IF NOT EXISTS nit_empresa VARCHAR(20) DEFAULT NULL
COMMENT 'FK lab_empresas.nit — empresa/EPS del paciente',
ADD COLUMN IF NOT EXISTS subgrupo_id INT UNSIGNED DEFAULT NULL
COMMENT 'FK lab_empresa_subgrupos.id',
ADD COLUMN IF NOT EXISTS autorizacion VARCHAR(100) DEFAULT NULL
COMMENT 'Número de autorización EPS',
ADD COLUMN IF NOT EXISTS diag_ppal VARCHAR(20) DEFAULT NULL
COMMENT 'Diagnóstico principal CIE-10',
ADD COLUMN IF NOT EXISTS items_precio JSON DEFAULT NULL
COMMENT 'Snapshot de precios al momento de la recepción';