Relatório Gerencial de Chamados

Período: {{ $periodo }}
Gerado em
{{ $dataGeracao }}
{{-- 1. Resumo Geral --}}
Seção 1
Resumo Geral
Total de Chamados
{{ number_format($resumo['total']) }}
100% do período
Solucionados
{{ number_format($resumo['solucionados']) }}
{{ $resumo['taxa'] }}% do total
Pendentes
{{ number_format($resumo['pendentes']) }}
@php $pctPend = $resumo['total'] > 0 ? round(($resumo['pendentes'] / $resumo['total']) * 100, 1) : 0; @endphp
{{ $pctPend }}% do total
Taxa de Resolução
{{ $resumo['taxa'] }}%
 
Tempo Médio de Solução
{{ $resumo['tempoMedioTexto'] }}
 
{{-- 2 + 3 lado a lado --}}
Seção 2
Top Categorias
@forelse($topCategorias as $i => $cat) @php $pct = $resumo['total'] > 0 ? round($cat->total / $resumo['total'] * 100, 1) : 0; @endphp @empty @endforelse
# Categoria Qtd %  
@if($i===0)1 @elseif($i===1)2 @elseif($i===2)3 @else{{ $i+1 }}@endif {{ $cat->categoria }} {{ $cat->total }} {{ $pct }}%
Sem dados
@if($topCategorias->count() >= 3) @php $top3pct = $resumo['total'] > 0 ? round($topCategorias->take(3)->sum('total') / $resumo['total'] * 100, 1) : 0; @endphp
As 3 primeiras categorias representam {{ $top3pct }}% dos chamados.
@endif
Seção 3
Filiais com Maior Volume
@forelse($topFiliais as $i => $fil) @php $pct = $resumo['total'] > 0 ? round($fil->total / $resumo['total'] * 100, 1) : 0; @endphp @empty @endforelse
# Filial Qtd %
@if($i===0)1 @elseif($i===1)2 @elseif($i===2)3 @else{{ $i+1 }}@endif {{ $fil->filial }} {{ $fil->total }} {{ $pct }}%
Sem dados
@if($topFiliais->isNotEmpty()) @php $top1pct = $resumo['total'] > 0 ? round($topFiliais->first()->total / $resumo['total'] * 100, 1) : 0; @endphp
A filial líder concentrou {{ $top1pct }}% dos atendimentos.
@endif
{{-- 4 + 5 lado a lado --}}
Seção 4
Situação dos Chamados
@php $solPct = $resumo['total'] > 0 ? round($resumo['solucionados'] / $resumo['total'] * 100, 1) : 0; $penPct = $resumo['total'] > 0 ? round($resumo['pendentes'] / $resumo['total'] * 100, 1) : 0; $barSol = $resumo['total'] > 0 ? round($resumo['solucionados'] / $resumo['total'] * 100) : 0; $barPen = 100 - $barSol; @endphp
Solucionados: {{ number_format($resumo['solucionados']) }} ({{ $solPct }}%)    Pendentes: {{ number_format($resumo['pendentes']) }} ({{ $penPct }}%)
Situação Quantidade %
● Solucionados {{ number_format($resumo['solucionados']) }} {{ $solPct }}%
● Pendentes {{ number_format($resumo['pendentes']) }} {{ $penPct }}%
Pendentes = Aberto + Em andamento + Planejado + Análise
Seção 5
Ranking de Responsáveis
@forelse($rankingResponsaveis as $i => $resp) @empty @endforelse
# Responsável Resolvidos
@if($i===0)1 @elseif($i===1)2 @elseif($i===2)3 @else{{ $i+1 }}@endif {{ $resp->responsavel }} {{ $resp->resolvidos }}
Sem dados
{{-- 6. Chamados Parados --}}
Seção 6
Chamados Parados (Sem Interação há 3+ Dias)
@forelse($chamadosAntigos as $idx => $ch) @php $diasClass = $ch->dias_parado >= 15 ? 'dias-critical' : ($ch->dias_parado >= 7 ? 'dias-warn' : 'dias-ok'); @endphp @empty @endforelse
ID Título Categoria Filial Última Atualização Parado há Responsável
#{{ $ch->id }} {{ mb_strimwidth($ch->name, 0, 45, '…') }} {{ mb_strimwidth($ch->categoria, 0, 20, '…') }} {{ mb_strimwidth($ch->filial, 0, 22, '…') }} {{ \Carbon\Carbon::parse($ch->date_mod)->format('d/m/Y') }} {{ $ch->dias_parado }}d {{ $ch->responsavel ? mb_strimwidth($ch->responsavel, 0, 20, '…') : '—' }}
Nenhum chamado parado.