diff --git a/ver_formulario_enviado.php b/ver_formulario_enviado.php index f8e3312..d3353ea 100644 --- a/ver_formulario_enviado.php +++ b/ver_formulario_enviado.php @@ -888,8 +888,11 @@ function _addExamWizardHtml(string $cid): string { // Firma global del profesional (un solo valor para todos los campos firma_profesional) $firmaSharedProfesional = $envio['firma_profesional_svg'] ?? null; - // Firma global del paciente: fallback para cuando no hay datos_cliente por campo + // Firma global del paciente: fallback solo para registros sin datos por-campo (_svg). $firmaSharedPaciente = $envio['firma_svg'] ?? null; + // Si datos_respuestas ya tiene algún campo _svg, no usar firma_svg global como fallback + // (evita mostrar la firma del disentimiento en el campo de consentimiento y viceversa). + $_hayDatosPerCampoSvg = !empty(array_filter(array_keys($datosCliente ?? []), fn($k) => str_ends_with($k, '_svg'))); // Rastrear si ya se renderizó la firma inline (para no duplicarla al pie) $_renderedFirmaProfesional = false; @@ -964,7 +967,7 @@ function _addExamWizardHtml(string $cid): string { ? (empty($_mpMap) && !$_renderedFirmaProfesional ? ($firmaSharedProfesional ?? $datosCliente[$cid] ?? $datosCliente[$cid . '_svg'] ?? null) : ($datosCliente[$cid] ?? $datosCliente[$cid . '_svg'] ?? null)) - : ($datosCliente[$cid . '_svg'] ?? (!$_firmaGlobalPacienteUsada ? $firmaSharedPaciente : null) ?? null); + : ($datosCliente[$cid . '_svg'] ?? (!$_firmaGlobalPacienteUsada && !$_hayDatosPerCampoSvg ? $firmaSharedPaciente : null) ?? null); $fFoto = $datosCliente[$cid . '_foto'] ?? null; $fIcon = $isPro ? 'fa-user-md' : 'fa-signature'; $fColor = $isPro ? '#198754' : '#1565c0';