- ai_chat.php: contexto completo (tiempos, facturación, franjas, turnos detallados) - Preguntas soportadas: demoras por recepcionista, total facturado, horas pico, tiempo total por paciente, exámenes, búsqueda por cédula - Panel flotante de chat en dashboard (botón robot azul) - Búsqueda de tabla ahora filtra por cédula/documento - Ícono de fila gira al expandir detalle (flecha → rotada) - lab_configuracion.php: nueva sección IA con campo token Gemini - save_config.php: permite guardar gemini_api_key Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
1009 B
PHP
34 lines
1009 B
PHP
<?php
|
|
/**
|
|
* POST /api/lab/save_config.php — Guardar configuración global del lab
|
|
* Solo admin.
|
|
* Body JSON: { empresa_nombre, empresa_subtitulo, empresa_direccion, empresa_telefono,
|
|
* empresa_email, empresa_ciudad, doc_color, doc_logo_base64, doc_pie_pagina }
|
|
*/
|
|
require_once __DIR__ . '/_helpers.php';
|
|
requireMethod('POST');
|
|
requireAdmin();
|
|
|
|
$datos = inputJson();
|
|
$db = Database::getInstance();
|
|
|
|
$permitidas = [
|
|
'empresa_nombre', 'empresa_subtitulo', 'empresa_direccion',
|
|
'empresa_telefono', 'empresa_email', 'empresa_ciudad',
|
|
'doc_color', 'doc_logo_base64', 'doc_pie_pagina',
|
|
'gemini_api_key',
|
|
];
|
|
|
|
$guardadas = 0;
|
|
foreach ($permitidas as $clave) {
|
|
if (array_key_exists($clave, $datos)) {
|
|
$db->query(
|
|
'INSERT INTO lab_config(clave, valor) VALUES(?,?) ON DUPLICATE KEY UPDATE valor=?',
|
|
[$clave, $datos[$clave], $datos[$clave]]
|
|
);
|
|
$guardadas++;
|
|
}
|
|
}
|
|
|
|
jsonOk(['guardadas' => $guardadas], 'Configuración guardada');
|