- create_solicitud.php crea lab_recepciones (es_historico=0) dentro de la transacción: num_factura auto-secuencial para registros nuevos, campos empresa/subgrupo/autorización/diagnóstico tomados de la solicitud - Inserta lab_relaciones por cada examen con precio del snapshot JSON - Inserta lab_pagos + lab_pagos_det si hay metodo_pago registrado - Bloque try/catch: si migración 11 aún no corrió solo se loguea, no se revierte la solicitud principal - recepcion.php muestra toast "Recepción #N generada" al guardar - Migración 11: ALTER lab_recepciones.id → AUTO_INCREMENT, ADD solicitud_id, ALTER lab_pagos.numcaja_legacy → nullable Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
1.2 KiB
SQL
26 lines
1.2 KiB
SQL
-- =============================================================
|
|
-- LIS 11 — Habilita lab_recepciones para registros nuevos (no históricos)
|
|
--
|
|
-- El esquema original fue diseñado SOLO para histórico Firebird:
|
|
-- · id INT NOT NULL (no AUTO_INCREMENT) — el ID venía de Firebird
|
|
-- · lab_pagos.numcaja_legacy NOT NULL UNIQUE — también era de Firebird
|
|
--
|
|
-- Aquí los ajustamos para aceptar registros del nuevo sistema
|
|
-- sin tocar los datos históricos migrados.
|
|
-- =============================================================
|
|
|
|
-- 1. Hacer id AUTO_INCREMENT (MySQL usará MAX(id)+1 como siguiente valor,
|
|
-- así los registros nuevos nunca colisionan con los históricos de Firebird).
|
|
ALTER TABLE lab_recepciones
|
|
MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
|
|
|
|
-- 2. Enlace de vuelta a la solicitud del turnero
|
|
ALTER TABLE lab_recepciones
|
|
ADD COLUMN IF NOT EXISTS solicitud_id INT UNSIGNED DEFAULT NULL
|
|
COMMENT 'FK turnero_solicitudes.id — NULL para registros históricos Firebird';
|
|
|
|
-- 3. numcaja_legacy era NOT NULL UNIQUE (campo obligatorio en Firebird).
|
|
-- Los registros nuevos no tienen NUMCAJA → lo hacemos nullable.
|
|
ALTER TABLE lab_pagos
|
|
MODIFY COLUMN numcaja_legacy INT DEFAULT NULL;
|