@php $id_usuario = session('id_usuario'); /* * PASO 1: * Se consulta el usuario actual para validar firma digital y mostrar * sus datos completos cuando firma desde esta modal. */ $usuario_actual_firma_2_3 = \App\Usuarios::select( 'usuarios.id_usuario', 'usuarios.nombre', 'usuarios.apellidos', 'usuarios.firma_digital', 'tipo_usuarios.tipo_usuario as puesto_firmante', 'areas.nombre as area_firmante' ) ->leftJoin('tipo_usuarios', 'usuarios.id_tipo_usuario', '=', 'tipo_usuarios.id_tipo_usuario') ->leftJoin('areas', 'tipo_usuarios.id_area', '=', 'areas.id_area') ->where('usuarios.id_usuario', $id_usuario) ->first(); $usuario_actual_tiene_firma_2_3 = ( $usuario_actual_firma_2_3 && $usuario_actual_firma_2_3->firma_digital != null && $usuario_actual_firma_2_3->firma_digital != '' ); $nombre_usuario_actual_2_3 = $usuario_actual_firma_2_3 ? trim($usuario_actual_firma_2_3->nombre.' '.$usuario_actual_firma_2_3->apellidos) : ''; $puesto_usuario_actual_2_3 = $usuario_actual_firma_2_3 ? trim($usuario_actual_firma_2_3->puesto_firmante ?: $usuario_actual_firma_2_3->area_firmante) : ''; if ($puesto_usuario_actual_2_3 === '') { $puesto_usuario_actual_2_3 = 'Puesto no registrado'; } $obtener_firma_url_2_3 = function ($nombreFirma) { $nombreFirma = trim((string) $nombreFirma); if ($nombreFirma === '') { return ''; } $rutaFirma = storage_path('app/public/archivos_usuario/'.$nombreFirma); if (!file_exists($rutaFirma) || !is_file($rutaFirma)) { return ''; } $mime = function_exists('mime_content_type') ? mime_content_type($rutaFirma) : 'image/png'; if (!$mime) { $mime = 'image/png'; } return 'data:'.$mime.';base64,'.base64_encode(file_get_contents($rutaFirma)); }; $firma_usuario_actual_url_2_3 = $usuario_actual_tiene_firma_2_3 ? $obtener_firma_url_2_3($usuario_actual_firma_2_3->firma_digital) : ''; $obtener_puesto_firma_2_3 = function ($firma) { if (!$firma) { return 'Puesto no registrado'; } $puesto = trim($firma->puesto_firmante ?: $firma->area_firmante); return $puesto !== '' ? $puesto : 'Puesto no registrado'; }; $estatus_requisicion_2_3 = isset($datos_reporte->estatus) ? (int) $datos_reporte->estatus : 1; @endphp