@extends('layouts.app') @section('title', 'Gestão de Barragens') @section('content')

Gestão de Barragens

Gerir todas as barragens do sistema hidrológico

Limpar

Total de Barragens

{{ $barragens->total() }}

Ativas

{{ $barragens->where('estado', 'activa')->count() }}

Manutenção

{{ $barragens->where('estado', 'manutencao')->count() }}

Com Alertas

{{ $barragens->filter(function($b) { return $b->alertas->where('estado', 'activo')->count() > 0; })->count() }}

Lista de Barragens ({{ $barragens->firstItem() ?? 0 }}-{{ $barragens->lastItem() ?? 0 }} de {{ $barragens->total() }})

@if($barragens->count() > 0)
@foreach($barragens as $barragem) @endforeach
Barragem Localização Última Leitura Estado Status Ações
{{ $barragem->codigo }}
@if($barragem->bacia_hidrografica)
{{ $barragem->bacia_hidrografica->nome }}
@endif
{{ $barragem->provincia }} @if($barragem->distrito) , {{ $barragem->distrito }} @endif
@if($barragem->latitude && $barragem->longitude)
{{ number_format($barragem->latitude, 4) }}°, {{ number_format($barragem->longitude, 4) }}°
@endif
@if($barragem->ultima_leitura)
{{ number_format($barragem->ultima_leitura->cota_actual, 2) }}m
{{ $barragem->ultima_leitura->data_leitura->format('d/m/Y') }}
@if($barragem->ultima_leitura->percentagem_enchimento)
{{ number_format($barragem->ultima_leitura->percentagem_enchimento, 1) }}%
@endif @else Sem leituras @endif
@switch($barragem->estado) @case('activa') Ativa @break @case('inactiva') Inativa @break @case('manutencao') Manutenção @break @endswitch @php $alertas_ativos = $barragem->alertas->where('estado', 'activo'); $nivel_critico = $barragem->ultima_leitura ? $barragem->getStatusNivel($barragem->ultima_leitura->cota_actual) : 'normal'; @endphp @if($alertas_ativos->count() > 0) @php $alerta_prioridade = $alertas_ativos->sortByDesc('nivel')->first(); @endphp
@switch($alerta_prioridade->nivel) @case('emergencia')
Emergência @break @case('alerta')
Alerta @break @case('atencao')
Atenção @break @default
Informação @endswitch ({{ $alertas_ativos->count() }})
@else @switch($nivel_critico) @case('emergencia')
Crítico
@break @case('alerta')
Atenção
@break @default
Normal
@endswitch @endif
@can('editar-barragens') @endcan @can('eliminar-barragens') @endcan
{{ $barragens->links() }}
@else

Nenhuma barragem encontrada

@if(request()->anyFilled(['search', 'provincia', 'estado'])) Não foram encontradas barragens com os critérios de pesquisa especificados. @else Comece adicionando a primeira barragem ao sistema. @endif

@if(request()->anyFilled(['search', 'provincia', 'estado'])) Limpar Filtros @endif Adicionar Barragem
@endif
@push('scripts') @endpush @endsection