@extends('adminlte.app') @section('content') @php $periodoTitulo = ucfirst($dados['periodo_label']); $centroSelecionado = $dados['filtros']['centro_custo_id'] ? optional($centrosCusto->firstWhere('id', $dados['filtros']['centro_custo_id']))->nome_centro_custo : 'Todos'; $mesFiltro = $dados['filtros']['mes'] ?? now()->format('Y-m'); $mesAtual = \Carbon\Carbon::createFromFormat('Y-m', $mesFiltro)->startOfMonth(); $mesAnterior = $mesAtual->copy()->subMonth(); $mesAnterior2 = $mesAtual->copy()->subMonths(2); $ativosIntervencionados = collect($dados['concluidas'] ?? [])->pluck('manutenivel_id')->filter()->unique()->count(); $urgentes = collect($dados['por_validar'] ?? [])->where('prioridade', 'urgente')->count(); $totalPecas = collect($dados['concluidas'] ?? [])->sum(function ($os) { return (float) $os->custo_pecas; }); $totalMaoObra = collect($dados['concluidas'] ?? [])->sum(function ($os) { return (float) $os->custo_mao_obra; }); @endphp
{{ $periodoTitulo }} · Centro de custo: {{ $centroSelecionado }}
Custo por centro de custo · realizado vs. orçamento
Ordens de serviço por validar
OS aguardam aprovação na cadeia do centro de custo antes de gerar despesa.
| OS | Ativo | Tipo | Data | Custo est. | Estado | Ação |
|---|---|---|---|---|---|---|
| {{ $os->numero_os }} | {{ optional($os->manutenivel)->matricula ?? optional($os->manutenivel)->nome ?? ('Ativo #' . $os->manutenivel_id) }} | {{ ucfirst($os->tipo) }} | {{ optional($os->data_solicitacao)->format('d/m/Y') }} | € {{ number_format((float)$os->custo_total, 2, ',', '.') }} | {{ $os->prioridade === 'urgente' ? 'urgente' : 'a aprovar' }} | |
| Nenhuma OS por validar neste período. | ||||||
| Subtotal por validar: | € {{ number_format($dados['por_validar_valor'], 2, ',', '.') }} | |||||
Concluídas e validadas
OS encerradas no mês. A despesa foi gerada e o custo imputado ao centro de custo / cliente.
| OS | Ativo | Tipo | Peças | M. obra | Custo | Despesa |
|---|---|---|---|---|---|---|
| {{ $os->numero_os }} | {{ optional($os->manutenivel)->matricula ?? optional($os->manutenivel)->nome ?? ('Ativo #' . $os->manutenivel_id) }} | {{ ucfirst($os->tipo) }} | € {{ number_format((float)$os->custo_pecas, 2, ',', '.') }} | € {{ number_format((float)$os->custo_mao_obra, 2, ',', '.') }} | € {{ number_format((float)$os->custo_total, 2, ',', '.') }} | {{ $os->despesa_id ? 'gerada' : 'não' }} |
| Nenhuma OS concluída/validada no período. | ||||||
| Subtotal validado: | € {{ number_format($totalPecas, 2, ',', '.') }} | € {{ number_format($totalMaoObra, 2, ',', '.') }} | € {{ number_format($dados['concluidas_validadas_valor'], 2, ',', '.') }} | |||
Preventivas a vencer · por gatilho
Disparam por tempo, quilómetros, horas de uso ou litros abastecidos.