feat(caja): generar lab_recepciones al confirmar solicitud en turnero
- 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>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
a7aac706ee
commit
f695b04f5b
@@ -0,0 +1,25 @@
|
||||
-- =============================================================
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user