<?php

session_start();
require_once "../config/database.php";

$ocorrencias = $pdo->query("
SELECT COUNT(*) total
FROM ocorrencias
WHERE status <> 'Finalizada'
")->fetch(PDO::FETCH_ASSOC);

$aph = $pdo->query("
SELECT COUNT(*) total
FROM aph
")->fetch(PDO::FETCH_ASSOC);

$viaturas = $pdo->query("
SELECT COUNT(*) total
FROM viaturas
WHERE status='Disponivel'
")->fetch(PDO::FETCH_ASSOC);

$bombeiros = $pdo->query("
SELECT COUNT(*) total
FROM bombeiros
")->fetch(PDO::FETCH_ASSOC);

$estoque = $pdo->query("
SELECT COUNT(*) total
FROM produtos
WHERE estoque_atual <= estoque_minimo
")->fetch(PDO::FETCH_ASSOC);

$listaOcorrencias = $pdo->query("
SELECT
numero_ocorrencia,
tipo_ocorrencia,
bairro,
status,
data_chamado
FROM ocorrencias
WHERE status <> 'Finalizada'
ORDER BY data_chamado DESC
LIMIT 10
")->fetchAll(PDO::FETCH_ASSOC);

$listaViaturas = $pdo->query("
SELECT
prefixo,
modelo,
status
FROM viaturas
ORDER BY prefixo
")->fetchAll(PDO::FETCH_ASSOC);

$mapa = $pdo->query("
SELECT
numero_ocorrencia,
tipo_ocorrencia,
bairro,
status,
latitude,
longitude
FROM ocorrencias
WHERE latitude IS NOT NULL
AND latitude <> ''
AND longitude IS NOT NULL
AND longitude <> ''
")->fetchAll(PDO::FETCH_ASSOC);

?>

<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">

<title>Dashboard Operacional</title>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

<link rel="stylesheet"
href="https://unpkg.com/leaflet/dist/leaflet.css"/>

<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>

<meta http-equiv="refresh" content="30">
</head>

<body>

<div class="container mt-4">

<h2>Dashboard Operacional SIGOB</h2>

<div class="row">

<div class="col-md-4 mb-3">
<div class="card text-bg-danger">
<div class="card-body">
<h5>Ocorrências Ativas</h5>
<h1><?= $ocorrencias['total'] ?></h1>
</div>
</div>
</div>

<div class="col-md-4 mb-3">
<div class="card text-bg-primary">
<div class="card-body">
<h5>APH Registradas</h5>
<h1><?= $aph['total'] ?></h1>
</div>
</div>
</div>

<div class="col-md-4 mb-3">
<div class="card text-bg-success">
<div class="card-body">
<h5>Viaturas Disponíveis</h5>
<h1><?= $viaturas['total'] ?></h1>
</div>
</div>
</div>

<div class="col-md-4 mb-3">
<div class="card text-bg-info">
<div class="card-body">
<h5>Bombeiros</h5>
<h1><?= $bombeiros['total'] ?></h1>
</div>
</div>
</div>

<div class="col-md-4 mb-3">
<div class="card text-bg-warning">
<div class="card-body">
<h5>Estoque Crítico</h5>
<h1><?= $estoque['total'] ?></h1>
</div>
</div>
</div>

</div>

<hr>

<div class="row">

<div class="col-md-6">

<h4>Ocorrências Ativas</h4>

<table class="table table-bordered table-hover table-sm">

<thead class="table-dark">

<tr>

<th>Nº</th>
<th>Tipo</th>
<th>Bairro</th>
<th>Status</th>

</tr>

</thead>

<tbody>

<?php foreach($listaOcorrencias as $o): ?>

<tr>

<td><?= htmlspecialchars($o['numero_ocorrencia']) ?></td>

<td><?= htmlspecialchars($o['tipo_ocorrencia']) ?></td>

<td><?= htmlspecialchars($o['bairro']) ?></td>

<td>

<?php

switch($o['status']){

case 'Aberta':
    echo "<span class='badge bg-danger'>Aberta</span>";
    break;

case 'Em Atendimento':
    echo "<span class='badge bg-warning text-dark'>Em Atendimento</span>";
    break;

case 'Cancelada':
    echo "<span class='badge bg-secondary'>Cancelada</span>";
    break;

default:
    echo "<span class='badge bg-success'>".$o['status']."</span>";
}

?>

</td>

</tr>

<?php endforeach; ?>

</tbody>

</table>

</div>

<div class="col-md-6">

<h4>Viaturas</h4>

<table class="table table-bordered table-hover table-sm">

<thead class="table-dark">

<tr>

<th>Prefixo</th>
<th>Modelo</th>
<th>Status</th>

</tr>

</thead>

<tbody>

<?php foreach($listaViaturas as $v): ?>

<tr>

<td><?= htmlspecialchars($v['prefixo']) ?></td>

<td><?= htmlspecialchars($v['modelo']) ?></td>

<td>

<?php

switch($v['status']){

case 'Disponivel':
    echo "<span class='badge bg-success'>Disponível</span>";
    break;

case 'Em Atendimento':
    echo "<span class='badge bg-danger'>Em Atendimento</span>";
    break;

case 'Manutencao':
    echo "<span class='badge bg-warning text-dark'>Manutenção</span>";
    break;

default:
    echo "<span class='badge bg-secondary'>".$v['status']."</span>";
}

?>

</td>

</tr>

<?php endforeach; ?>

</tbody>

</table>

</div>

</div>

<a href="dashboard.php" class="btn btn-secondary">

<hr>

<h3>Mapa Inteligente de Ocorrências</h3>

<div id="mapa"
style="
height:550px;
border:1px solid #CCC;
border-radius:10px;
">
</div>

Voltar
</a>

</div>
<script>

var mapa = L.map('mapa').setView([-26.2436,-48.6380],12);

L.tileLayer(
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{
maxZoom:19
}
).addTo(mapa);

<?php foreach($mapa as $m): ?>

var cor="blue";

<?php if($m['status']=="Aberta"){ ?>

cor="red";

<?php } ?>

<?php if($m['status']=="Em Atendimento"){ ?>

cor="orange";

<?php } ?>

<?php if($m['status']=="Finalizada"){ ?>

cor="green";

<?php } ?>

L.circleMarker(
[
<?= $m['latitude'] ?>,
<?= $m['longitude'] ?>
],
{
radius:8,
color:cor,
fillOpacity:0.8
}
)
.addTo(mapa)
.bindPopup(
"<b>Ocorrência:</b> <?= addslashes($m['numero_ocorrencia']) ?><br>"+
"<b>Tipo:</b> <?= addslashes($m['tipo_ocorrencia']) ?><br>"+
"<b>Bairro:</b> <?= addslashes($m['bairro']) ?><br>"+
"<b>Status:</b> <?= addslashes($m['status']) ?>"
);

<?php endforeach; ?>

</script>
</body>
</html>
