# API - Contagem de Protocolos Abertos no Setor

## Descrição
Esta rota retorna a quantidade de protocolos abertos no setor do usuário autenticado através do token JWT.

## Endpoint
```
GET /api/v1/basico/protocolo/contarAbertosSetor
```

## Autenticação
- **Tipo**: Bearer Token (JWT)
- **Header**: `Authorization: Bearer {token}`
- **Middleware**: `jwt.verify`

## Como Funciona
1. A rota extrai o usuário autenticado do token JWT
2. Obtém o setor do usuário através do relacionamento `sigoweb`
3. **Controller** chama o **Service** para executar a lógica de negócio
4. **Service** utiliza o **Model** com relacionamentos Eloquent para consultar o banco
5. Retorna a contagem junto com informações adicionais

## Arquitetura
- **Controller**: Recebe a requisição e valida o usuário
- **Service**: Contém a lógica de negócio e acesso aos dados
- **Model**: Define relacionamentos e estrutura dos dados
- **Eloquent**: ORM do Laravel para consultas otimizadas

## Resposta de Sucesso (200)
```json
{
    "message": "Quantidade de protocolos abertos no setor",
    "quantidade": 15,
    "setor_usuario": "FINANCEIRO",
    "usuario": "João Silva"
}
```

## Respostas de Erro

### Usuário não encontrado (404)
```json
{
    "message": "Usuário não encontrado ou sem perfil válido",
    "quantidade": 0
}
```

### Usuário sem setor (400)
```json
{
    "message": "Usuário não possui setor definido",
    "quantidade": 0
}
```

### Erro interno (500)
```json
{
    "message": "Erro ao contar protocolos abertos",
    "error": "Detalhes do erro",
    "quantidade": 0
}
```

## Campos da Resposta
- **message**: Mensagem descritiva da operação
- **quantidade**: Número total de protocolos abertos no setor
- **setor_usuario**: Código do setor do usuário autenticado
- **usuario**: Nome do usuário autenticado

## Lógica de Contagem
A contagem considera:
- Protocolos que não possuem data de fechamento (`prc_data_fechamento` é NULL)
- Protocolos que estão na última tramitação do setor do usuário
- Apenas protocolos ativos (não excluídos)

## Exemplo de Uso

### cURL
```bash
curl -X GET "http://localhost/api/v1/basico/protocolo/contarAbertosSetor" \
  -H "Authorization: Bearer {seu_token_jwt}" \
  -H "Accept: application/json"
```

### JavaScript (Fetch)
```javascript
const response = await fetch('/api/v1/basico/protocolo/contarAbertosSetor', {
    method: 'GET',
    headers: {
        'Authorization': `Bearer ${token}`,
        'Accept': 'application/json'
    }
});

const data = await response.json();
console.log(`Protocolos abertos: ${data.quantidade}`);
```

## Observações
- A rota requer autenticação válida
- O usuário deve ter um setor definido no sistema
- A contagem é feita em tempo real
- Protocolos fechados não são considerados na contagem
