Resumo de Utilização dos Veículos

Indicadores do dia atual e comparativos consolidados
{{ \Carbon\Carbon::parse($dataInicial)->format('d/m/Y') }} até {{ \Carbon\Carbon::parse($dataFinal)->format('d/m/Y') }}
Indicadores por veículo no dia atual
{{ $resumoPorVeiculo->count() }} veículo(s)
@if($resumoPorVeiculo->count() > 0) @php $nomesCategorias = [ 'truck' => 'Truck', 'bitruck' => 'Bitruck', 'carreta' => 'Carreta', 'britagem' => 'Britagem', 'betoneira' => 'Betoneira', 'sem_categoria' => 'Sem categoria', ]; $imagensCategorias = [ 'truck' => asset('img/categorias/truck.png'), 'bitruck' => asset('img/categorias/bitruck.png'), 'carreta' => asset('img/categorias/carreta.png'), 'britagem' => asset('img/categorias/britagem.png'), 'betoneira' => asset('img/categorias/betoneira.png'), 'sem_categoria' => asset('img/categorias/sem-categoria.png'), ]; $ordemCategorias = [ 'truck', 'bitruck', 'carreta', 'britagem', 'betoneira', 'sem_categoria', ]; @endphp
@foreach($ordemCategorias as $categoriaAtual) @php $veiculosCategoria = $resumoPorCategoria->get( $categoriaAtual, collect() ); @endphp @if($categoriaAtual !== 'sem_categoria' || $veiculosCategoria->count() > 0)
Categoria {{ $nomesCategorias[$categoriaAtual] }}
{{ $nomesCategorias[$categoriaAtual] }}
Ranking por eficiência
{{ $veiculosCategoria->count() }} veículo(s)
@forelse($veiculosCategoria as $indice => $veiculo) @php $segundosLigado = (int) $veiculo->segundos_ligado; $segundosMovimento = (int) $veiculo->segundos_movimento; $segundosParado = (int) $veiculo->segundos_ligado_parado; $percentualMovimento = (float) $veiculo->percentual_eficiencia; $percentualBarra = min(100, max(0, $percentualMovimento)); if ($percentualMovimento > 70) { $classeEficiencia = 'tv-eficiencia-verde'; } elseif ($percentualMovimento >= 50) { $classeEficiencia = 'tv-eficiencia-amarela'; } else { $classeEficiencia = 'tv-eficiencia-vermelha'; } $posicao = $indice + 1; $classePosicao = ''; if ($posicao === 1) { $classePosicao = 'tv-posicao-eficiencia-primeiro'; } elseif ($posicao === 2) { $classePosicao = 'tv-posicao-eficiencia-segundo'; } elseif ($posicao === 3) { $classePosicao = 'tv-posicao-eficiencia-terceiro'; } @endphp
{{ $posicao }}
{{ $veiculo->placa }}
{{ (int) $veiculo->quantidade_dias }} dia(s)
Total ligado
{{ \App\Models\VeiculoIndicadorDiario::formatarSegundos($segundosLigado) }}
Em movimento
{{ \App\Models\VeiculoIndicadorDiario::formatarSegundos($segundosMovimento) }}
Eficiência {{ number_format($percentualMovimento, 1, ',', '.') }}%
Parado: {{ \App\Models\VeiculoIndicadorDiario::formatarSegundos($segundosParado) }} Posições: {{ number_format((int) $veiculo->quantidade_posicoes, 0, ',', '.') }}
@empty
Nenhum veículo nesta categoria.
@endforelse
@endif @endforeach
@else
Nenhum indicador consolidado encontrado para o dia atual.
@endif
@include('dashboard.partials.resumo-veiculos-card', [ 'classe' => 'tv-card-hoje', 'titulo' => 'Dia atual', 'dataTexto' => \Carbon\Carbon::parse($dataAtual)->format('d/m/Y') . ' até o momento', 'resumo' => $resumoDiaAtual, ]) @include('dashboard.partials.resumo-veiculos-card', [ 'classe' => 'tv-card-dia', 'titulo' => 'Dia anterior', 'dataTexto' => \Carbon\Carbon::parse($dataAnterior)->format('d/m/Y'), 'resumo' => $resumoDiaAnterior, ]) @include('dashboard.partials.resumo-veiculos-card', [ 'classe' => 'tv-card-periodo', 'titulo' => 'Últimos 30 dias', 'dataTexto' => \Carbon\Carbon::parse($dataInicial)->format('d/m/Y') . ' até ' . \Carbon\Carbon::parse($dataFinal)->format('d/m/Y'), 'resumo' => $resumoPeriodo, ])