<?php

declare(strict_types=1);

function gerarProtocolo(PDO $db): string
{
    $ano = date('Y');
    $prefixo = 'PR-' . $ano . '-';

    $sql = "SELECT protocolo
            FROM ocorrencias
            WHERE protocolo LIKE :prefixo
            ORDER BY id DESC
            LIMIT 1";

    $stmt = $db->prepare($sql);
    $stmt->execute(['prefixo' => $prefixo . '%']);
    $ultimo = $stmt->fetchColumn();

    $sequencial = 1;

    if ($ultimo) {
        $partes = explode('-', $ultimo);
        $sequencial = ((int)$partes[2]) + 1;
    }

    return $prefixo . str_pad((string)$sequencial, 6, '0', STR_PAD_LEFT);
}
