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)
{{ $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,
])