Files
whatsapp/migrations/20260707_turnero_dispositivos.sql
Lizandro GuarnizoandClaude Sonnet 4.6 8760b685ad feat(turnero): dispositivos por IP, firmas, formularios y muestras prolongadas
- login.php: detectar dispositivo por IP al autenticar y redirigir al lugar asignado
- dashboard.php / lugar.php / recepcion.php: bloquear acceso por dispositivo (IP→lugar)
- lugar.php: modal firma profesional pre-guardada; compact 2-col en iframe; botón WA
  solo cuando el formulario requiere firma del paciente
- ver_formulario_enviado.php: modo compact tablet, auto-save borrador (merge), firma
  profesional en 1 clic, Muestras Prolongadas (countdown + Finalizar), auto_profesional
  pre-fill desde sesión, fecha→fecha_hoy en campos de toma/recepción
- get_consentimientos.php: añadir requiere_firma_paciente para controlar botón WA
- save_firma_profesional.php: API para guardar firma pre-configurada del profesional
- migrations: turnero_dispositivos, admin_users.firma_svg, clon VIH F-LAB-05 para turnero

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 21:58:52 -05:00

29 lines
1.3 KiB
SQL

-- ============================================================
-- Migration: 20260707_turnero_dispositivos
-- Mapeo IP fija → lugar para tablets del turnero.
-- Cada tablet solo puede acceder a su lugar asignado.
-- ============================================================
CREATE TABLE IF NOT EXISTS turnero_dispositivos (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ip VARCHAR(45) NOT NULL UNIQUE,
lugar_id INT NOT NULL,
nombre VARCHAR(100) NOT NULL,
activo TINYINT(1) NOT NULL DEFAULT 1,
INDEX idx_ip (ip),
INDEX idx_lugar (lugar_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO turnero_dispositivos (ip, lugar_id, nombre) VALUES
('192.168.21.61', 1, 'Toma de Muestras 1'),
('192.168.21.62', 2, 'Toma de Muestras 2'),
('192.168.21.63', 13, 'Toma de Muestras 3'),
('192.168.21.64', 14, 'Toma de Muestras 4'),
('192.168.21.65', 15, 'Toma de Muestras 5'),
('192.168.21.66', 16, 'Toma de Muestras 6'),
('192.168.21.67', 17, 'Toma de Muestras 7'),
('192.168.21.68', 18, 'Toma de Muestras 8'),
('192.168.0.221', 10, 'Recepción 1 - Vianny Ortega'),
('192.168.0.29', 11, 'Recepción 2 - Angel Wilches'),
('192.168.0.225', 19, 'Recepción 3 - Gina Gomez')
ON DUPLICATE KEY UPDATE lugar_id = VALUES(lugar_id), nombre = VALUES(nombre);