@extends('layouts.azpet.base') @section('title', 'Relatorio Premium') @section('subtitle', 'Health Memory, Tutor Free e Clinical Intelligence com OCR Google Vision, IA e dados longitudinais') @push('page_styles') @vite([ 'resources/css/pages/relatorios/style.css', 'resources/css/pages/relatorios/responsive.css' ]) @endpush @section('content') @php $isClinicMode = $reportMode->isClinic(); $isTutorFreeMode = $reportMode->value === 'tutor_free'; $isHealthMemoryMode = ! $isClinicMode && ! $isTutorFreeMode; $modeKicker = $isClinicMode ? 'AZPET Clinical Report' : ($isTutorFreeMode ? 'Tutor Free' : 'AZPET Health Memory Premium'); $modeTitle = $isClinicMode ? 'Central clinica para gerar relatorio longitudinal com OCR, IA e base estruturada.' : ($isTutorFreeMode ? 'Central do tutor para gerar um resumo visual, simples e preventivo do historico de saude do pet.' : 'Central premium para gerar memoria longitudinal completa do tutor.'); $modeCopy = $isClinicMode ? 'Selecione o pet, o periodo e gere o PDF clinico reaproveitando OCR Google Vision, IA e dados consolidados do banco.' : ($isTutorFreeMode ? 'Escolha o pet, defina o periodo, processe documentos via OCR + IA e baixe o Tutor Free com uma leitura resumida e nao diagnostica.' : 'Escolha o pet, defina o periodo, processe documentos via Google Cloud Vision OCR, estruture os dados com IA e baixe o PDF premium do tutor.'); $tutorButtonLabel = $isTutorFreeMode ? 'Gerar e baixar Tutor Free' : 'Gerar e baixar relatorio premium'; @endphp
{{ $modeKicker }}
{{ $modeTitle }}
{{ $modeCopy }}
Health Memory Premium Tutor Free @if (auth()->user()?->isSuperAdmin() || auth()->user()?->isClinicaVeterinario()) AZPET Clinical Report @endif
{{ $dashboard['pets'] }}pets disponiveis
{{ $dashboard['repository_items'] }}itens no repositorio
{{ $dashboard['ready_pets'] }}pets com 2+ registros
{{ $dashboard['reports'] }}relatorios gerados
{{ $dashboard['review_required'] }}revisoes pendentes
{{ $isTutorFreeMode ? 'Pets e prontidao do Tutor Free' : 'Pets e prontidao do Health Memory' }} {{ $isTutorFreeMode ? 'O Tutor Free pode ser gerado para dar a primeira leitura resumida do historico do pet.' : 'A mensagem premium aparece aqui mesmo antes de novo upload.' }}
@if ($pets->isEmpty())
Nenhum pet disponivel para gerar relatorio premium.
@else
@foreach ($pets as $pet) @php $ready = (int) $pet->repository_items_count >= 2; $url = route('web.premium-reports.index', [ 'pet_code' => $pet->id_azpet_code, 'date_from' => $dateFrom, 'date_to' => $dateTo, 'mode' => $reportMode->value, ]); @endphp
@if ($pet->photo_url) Pet @else
AZ
@endif
{{ $pet->nome }}
{{ $pet->id_azpet_code }}
{{ $ready ? 'Pronto para premium' : 'Envie 2+ registros' }} {{ $pet->repository_items_count }} item(ns) {{ $pet->premium_reports_count }} PDF(s)
@endforeach
@endif
Ultimos relatorios premium
@forelse ($latestReports as $report) @empty @endforelse
Pet Modelo Status Gerado em Origem Acoes
{{ $report->pet?->nome }}
{{ $report->pet?->id_azpet_code }}
{{ match($report->report_variant ?? data_get($report->dados_snapshot, 'report_variant')) { 'tutor_free' => 'Tutor Free', 'clinic_solo' => 'Clinic Solo', 'clinic_cobranded' => 'Clinic Cobranded', default => 'Health Memory', } }} {{ $report->status }} @if ($report->status === 'gerando')
{{ (int) data_get($report->dados_snapshot, 'progress.percent', 0) }}% ยท {{ data_get($report->dados_snapshot, 'progress.step', 'processando') }}
@elseif (data_get($report->dados_snapshot, 'processamento_documentos.alerta_nivel') === 'warning')
Com alerta de OCR/IA
@endif
{{ optional($report->data_geracao)->format('d/m/Y H:i') ?: '-' }} {{ $report->origem }} @php $reportVariant = ($report->report_variant ?? data_get($report->dados_snapshot, 'report_variant')); @endphp @if ($reportVariant === 'health_memory' || $reportVariant === 'clinic_solo' || $reportVariant === 'clinic_cobranded') Web @endif @if ($reportVariant === 'health_memory' || $reportVariant === 'clinic_solo' || $reportVariant === 'clinic_cobranded') PDF @elseif ($report->arquivo_pdf) PDF @else Sem PDF @endif @if ($report->ocr_json_path) OCR JSON @endif @if ($report->ia_json_path) IA JSON @endif
Nenhum relatorio premium gerado ainda.
{{ $isClinicMode ? 'Gerar AZPET Clinical Report' : ($isTutorFreeMode ? 'Gerar Tutor Free' : 'Gerar AZPET Health Memory') }}
AZ
Preparando seu relatorio premium

O sistema vai ler OCR, organizar com IA e montar o PDF sem travar o restante da navegacao.

0% fila
@if ($selectedPet)
1. OCR Google Vision
Le imagens e PDFs escaneados quando a API permitir.
2. Extracao IA
Organiza texto em JSON sem diagnosticar.
3. Banco oficial
Biomarcadores, eventos, anexos e score sao persistidos.
4. PDF final
{{ $isTutorFreeMode ? 'Gera o Tutor Free resumido para o tutor no periodo selecionado.' : 'Gera documento no formato selecionado para tutor ou clinica.' }}
@csrf
{{ $isTutorFreeMode ? 'Versao enxuta, visual e preventiva para o tutor.' : 'Versao premium completa com memoria longitudinal expandida.' }}
@if ((int) $selectedPet->repository_items_count < 2)
Recomendado enviar pelo menos 2 documentos para um relatorio longitudinal mais completo.
@endif @if (auth()->user()?->isSuperAdmin() || auth()->user()?->isClinicaVeterinario())
AZPET Clinical Report
Formato clinico seguindo o pacote visual aprovado, com variantes solo e cobranded para a clinica.
@if ($currentClinic)
Clinica ativa
{{ $currentClinic->nome_fantasia }}
Logo atual
{{ $currentClinic->logo_path ? 'Logo cadastrada' : 'Sem logo' }}
@endif
@csrf
Se enviar uma nova logo aqui, ela fica salva na clinica e ja entra no PDF cobranded.
@endif @else
Cadastre ou selecione um pet para gerar o relatorio premium.
@endif
@endsection