Cálculo da Pena Multa
CIJEPI
JUDICIAL
N/D
Público
Desenvolvimento de sistema ou sítio eletrônico que viabilize a elaboração dos cálculos pelas Unidades Judiciais de maneira mais facilitada e intuitiva.
Desenvolvimento de sistema ou sítio eletrônico que viabilize a elaboração dos cálculos pelas Unidades Judiciais de maneira mais facilitada e intuitiva, conforme as regras delineadas na Nota Técnica 11/2025 - CIJEPI (SEI nº 6901927).
| Objetivo | Indicador | Meta |
|---|---|---|
| Nenhum objetivo cadastrado | ||
- Realizar o cálculo da pena multa;
- Atualização automática de índices IPCA-E e SELIC
- Atualização automática de Salário Mínimo
- Geração de guia de cobrança
- Controle sobre pagamento da dívida
- Controle sobre extinção de punibilidade
- Inclusão automática de certidão nos autos
|
07 Abr
30 Abr
● ▶
29 Abr
● ✔
14 Mai
|
|
10 Abr
30 Abr
● ▶
16 Abr
● ✔
20 Abr
|
|
06 Mai
30 Jun
● ▶
06 Mai
Marcos de desenvolvimento, épicos, user stories, features e tasks
|
|
06 Mai
30 Jun
● ▶
06 Mai
|
|
04 Mai
30 Jun
● ▶
06 Mai
|
|
04 Mai
30 Jun
● ▶
11 Mai
docs/penamulta/features/FT-PM-05-ipca-e.md
|
|
04 Mai
30 Jun
● ▶
11 Mai
|
|
04 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
11 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
04 Mai
30 Jun
● ▶
11 Mai
docs/penamulta/features/FT-PM-04-salario-minimo.md
|
|
06 Mai
30 Jun
● ▶
11 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
06 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
Entidades foram modificadas e outras foram criadas. Essa migration resolverá essa parte
|
|
06 Mai
30 Jun
|
|
04 Mai
30 Jun
● ▶
11 Mai
docs/penamulta/features/FT-PM-06-selic.md
|
|
04 Mai
30 Jun
● ▶
11 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
06 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
06 Mai
|
|
06 Mai
30 Jun
● ▶
11 Mai
docs/penamulta/features/FT-PM-07-controle-atualizacao.md
|
|
06 Mai
30 Jun
● ▶
11 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
docs/penamulta/features/FT-PM-01-realizar-calculo.md
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
|
|
`docs/penamulta/features/FT-PM-02-memoria-calculo.md`
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
`docs/penamulta/features/FT-PM-03-recalcular.md`
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
`docs/penamulta/features/FT-PM-10-auditoria.md`
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
\[BE] Enum: AcaoPenaMulta em penamulta/ — valores: CALCULAR, SALVAR\_CALCULO, GERAR\_PDF, REIMPRIMIR\_PDF, RECALCULAR, BAIXA\_MANUAL, BAIXA\_LOTE, ALTERAR\_INDICE, AUTORIZAR\_INDICE\_DESATUALIZADO
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
`docs/penamulta/features/FT-PM-08-emitir-certidao.md`
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
`docs/penamulta/features/FT-PM-09-consultar-certidoes.md`
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
|
|
06 Mai
30 Jun
● ▶
14 Mai
● ✔
14 Mai
|
|
09 Abr
09 Abr
● ▶
09 Abr
● ✔
10 Abr
|
|
09 Abr
15 Abr
● ▶
09 Abr
● ✔
15 Abr
Consolidando e padronizando os requisitos mapeados na planilha
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Consolidação dos requisitos levantados, considerando marcos, features, user stories, tasks, modelo de dados e fluxos
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
O descritivo aborda o **Marco 1**, que contempla as funcionalidades definidas em reunião com o demandante. Todavia, como evolução natural do projeto, estão previstos o **Marco 2**, que automatiza algumas ações, bem como **Marco 3**, que realiza a comunicação inversa com o PJe.
* Marco 1 - MVP
* **Objetivo:** Automatizar o cálculo da pena multa e substituir a planilha utilizada pelas unidades judiciais.
* Marco 2 - Gestão da Cobrança
* **Objetivo:** Transformar o cálculo em cobrança judicial efetiva.
* Marco 3 - Integração Processual
* **Objetivo:** Integrar completamente o módulo ao fluxo judicial.
---
##
## 1. Convenções de nomenclatura
| Elemento | Prefixo | Formato | Exemplo |
| ------------------------ | ------- | --------------- | -------- |
| Épico | EP-PM | EP-PM-\[número] | EP-PM-01 |
| Feature (Funcionalidade) | FT-PM | FT-PM-\[número] | FT-PM-01 |
| User Story | US-PM | US-PM-\[número] | US-PM-01 |
| Requisito | RN-PM | RN-PM-\[número] | RN-PM-01 |
| Critério de aceite | CA-PM | CA-PM-\[número] | CA-PM-01 |
> O infixo `PM` em todos os prefixos identifica o módulo Pena Multa e evita colisão com a numeração própria da equipe do COBJUD PRO, que não adota esse infixo.
### Siglas para requisitos e critérios de aceite
| Sigla | Área semântica | Features que cobre |
| ----- | -------------------------------- | -------------------------------------- |
| `PM` | Registro e cálculo da pena multa | FT-PM-01, FT-PM-02, FT-PM-03 |
| `IDX` | Índices econômicos | FT-PM-04, FT-PM-05, FT-PM-06, FT-PM-07 |
| `DOC` | Documentos e certidões | FT-PM-08, FT-PM-09 |
| `AUD` | Auditoria | FT-PM-10 |
> Novas siglas são definidas junto com a criação da feature no Captei. Não criar siglas ad hoc fora desse padrão.
---
## 2. Estrutura geral
```plaintext
Marco 1 — MVP
EP-PM-01 — Cálculo da Pena Multa
FT-PM-01 Realizar cálculo da pena multa
FT-PM-02 Registrar e visualizar memória de cálculo
FT-PM-03 Recalcular pena multa
EP-PM-02 — Parâmetros Econômicos
FT-PM-04 Gerenciar salário mínimo
FT-PM-05 Gerenciar IPCA-E
FT-PM-06 Gerenciar SELIC
FT-PM-07 Controlar atualização de índices
EP-PM-03 — Documentos
FT-PM-08 Emitir certidão de cálculo da pena multa
FT-PM-09 Consultar certidões geradas
FT-PM-10 Registrar log de auditoria
Marco 2 — Gestão da Cobrança
EP-PM-04 — Gestão de Cobrança
FT-PM-11 Registrar cobrança da pena multa
FT-PM-12 Controlar inadimplência
FT-PM-13 Emitir cobrança da pena multa
FT-PM-14 Processar retorno bancário
Marco 3 — Integração Processual
EP-PM-05 — Integração com PJe
FT-PM-15 Registrar movimentações no processo
FT-PM-16 Enviar documentos ao processo
FT-PM-17 Automatizar fluxo da pena multa
```
---
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir registrar os dados da pena multa aplicada na sentença e calcular automaticamente o valor atualizado, aplicando correção monetária e juros de mora. Suporta múltiplos condenados e múltiplas multas por processo. A entrada de dados é guiada por formulário em etapas. O servidor informa o número do processo e o COBJUD PRO utiliza sua integração existente com o PJe para carregar os dados no contexto do cálculo.
**Comportamentos principais:**
* receber o número do processo informado pelo servidor
* buscar os dados do processo no PJe via integração existente no COBJUD PRO (partes, dados da condenação)
* carregar os dados retornados no contexto do cálculo da pena multa
* guiar o usuário em formulário de 3 etapas (wizard): (1) informar número do processo e confirmar dados carregados / selecionar condenado; (2) dados da condenação e parâmetros da multa; (3) resultado com memória de cálculo
* calcular automaticamente `data_vencimento_pgto = data_intimacao + 10 dias` (art. 50, CP) a partir da data de intimação informada pelo servidor, mantendo o campo editável
* permitir preenchimento manual como fallback quando a busca não retornar resultado; cálculos nesse modo devem ser sinalizados para rastreabilidade
* registrar dados da multa (condenado, data do crime, tipo: isolada ou cumulada)
* vincular cada multa a um condenado específico
* suportar múltiplas multas por processo
* calcular valor base: `SM(data do crime) × fração × dias-multa`
* aplicar correção monetária pelo IPCA-E (data do crime → data do cálculo)
* aplicar juros de mora pela SELIC (dia seguinte ao vencimento → data do cálculo)
* compensar valor de fiança recolhida antes da intimação
* apresentar valor final com memória discriminada
* alertar quando valor total for inferior a R$ 10.000,00
**Ciclo de vida — Status do cálculo:**
| Status | Descrição | Transições possíveis |
| ----------- | ------------------------------------------------------------------------ | ---------------------------------- |
| `RASCUNHO` | Dados em preenchimento; cálculo ainda não executado | → CALCULADO |
| `CALCULADO` | Cálculo executado com sucesso; certidão pode ser gerada | → INTIMADO, → RASCUNHO (recálculo) |
| `INTIMADO` | Condenado intimado para pagamento; prazo iniciado | → PAGO, → VENCIDO |
| `PAGO` | Pagamento registrado (manual no Marco 1; automático a partir do Marco 2) | — (status final) |
| `VENCIDO` | Prazo de pagamento voluntário expirado sem confirmação | — (aciona providências cabíveis) |
| `CANCELADO` | Cálculo anulado por decisão judicial | — (status final) |
> No Marco 1, as transições para `PAGO` são realizadas por baixa manual. A partir do Marco 2, a baixa automática via retorno bancário passará a ser o meio principal, permanecendo a baixa manual como recurso excepcional. Ambas devem ser distinguidas por sinalizador de origem.
**Requisitos de negócio:**
| ID | Requisito |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-PM-01 | A pena multa é fixada pelo juiz na sentença condenatória. O sistema registra os parâmetros definidos pelo magistrado, sem alterá-los. |
| RN-PM-02 | Cada registro de multa deve estar vinculado a um condenado específico. |
| RN-PM-03 | Um processo pode possuir múltiplas multas. Cada registro é independente. |
| RN-PM-04 | Cada registro deve conter: condenado, data do crime, quantidade de dias-multa, valor do dia-multa e tipo da multa (ISOLADA, CUMULADA ou SUBSTITUTIVA). |
| RN-PM-05 | O valor do dia-multa deve respeitar: mínimo 1/30 do SM vigente à época do fato; máximo 5 vezes o SM vigente à época do fato (art. 49, §1º, CP). |
| RN-PM-06 | A quantidade de dias-multa deve respeitar: mínimo 10 dias; máximo 360 dias (art. 49, CP). |
| RN-PM-07 | O SM utilizado no cálculo do valor nominal é o vigente na data do crime, não na data do cálculo. |
| RN-PM-08 | A correção monetária utiliza o IPCA-E. Termo inicial: data do crime. Termo final: data do cálculo. |
| RN-PM-09 | Os juros de mora utilizam a taxa SELIC. Termo inicial: dia seguinte ao vencimento do prazo voluntário. Termo final: data do cálculo. |
| RN-PM-10 | O prazo de vencimento para pagamento voluntário é de 10 dias corridos a partir da data de intimação do condenado (art. 50, CP). O sistema calcula automaticamente `data_vencimento = data_intimacao + 10 dias` e preenche o campo no wizard, mas o servidor pode alterar o valor calculado caso necessário. Ambas as datas (`data_intimacao` e `data_vencimento_pgto`) são armazenadas em PENA\_MULTA. |
| RN-PM-11 | Se a data de vencimento for igual ou posterior à data do cálculo, os juros SELIC não se aplicam. |
| RN-PM-12 | O valor de fiança recolhida deve ser deduzido do valor total ao final do cálculo e discriminado na memória. |
| RN-PM-13 | Quando o valor total for inferior a R$ 10.000,00, o sistema deve exibir alerta com referência à CNJ Resolução 547/2024 e Tema 1184 STF. O alerta não bloqueia o cálculo. |
| RN-PM-14 | Se a data do crime for anterior a 01/01/1994, o sistema deve exibir mensagem de erro. |
| RN-PM-15 | O servidor informa o número do processo. O módulo chama `JudicialService.findProcesso()` do COBJUD PRO, que busca automaticamente em 1G e 2G, valida o acesso do servidor e retorna os dados do processo (`ProcessoPjeDTO`). O condenado é identificado no polo passivo (`ParteDTO.polo == "P"`). Os campos `numero_processo` e `instancia` são armazenados em PENA\_MULTA para identificação única — o mesmo número pode existir em 1G e 2G. |
| RN-PM-16 | O modo fallback (preenchimento manual) deve estar disponível quando `findProcesso()` não retornar resultado ou retornar erro. Cálculos realizados em modo fallback devem ser sinalizados como tal, para rastreamento de eventuais divergências em relação aos dados do PJe. |
| RN-PM-17 | O controle de acesso a processos em segredo de justiça é herdado do COBJUD PRO via `JudicialService`. O método `findProcesso()` já executa `validaAcessoProcessos()` e `omitePartesProcessosSigilosos()` antes de retornar os dados. O módulo de pena multa não reimplementa essa lógica. |
| RN-PM-18 | O campo `tipo_multa` deve assumir exclusivamente um dos três valores: `ISOLADA` (sanção única — pagamento extingue a punibilidade, art. 49 CP), `CUMULADA` (junto com pena privativa ou restritiva — execução aguarda pena principal, art. 49 CP) ou `SUBSTITUTIVA` (substitui pena privativa de liberdade, art. 44, §2° CP). |
| RN-PM-19 | O campo `status` de PENA\_MULTA deve assumir exclusivamente um dos quatro valores: `CALCULADO` (cálculo realizado, pendente de pagamento), `PAGO` (multa integralmente quitada), `VENCIDO` (prazo de pagamento voluntário expirado sem baixa) ou `EXTINTO` (dívida extinta por baixo valor — CNJ Resolução 547/2024 / Tema 1184 STF — ou outra causa legal). |
| RN-PM-20 | O campo `modo_entrada` de PENA\_MULTA deve assumir exclusivamente um dos dois valores: `INTEGRADO` (dados carregados via `JudicialService.findProcesso()`) ou `FALLBACK_MANUAL` (preenchimento manual pelo servidor quando o PJe estiver indisponível ou o processo não for encontrado). O uso de strings literais no lugar dos valores de enum é proibido. |
**User Stories:**
| US | Título | Classificação |
| -------- | ------------------------------------------------------------------------ | ------------- |
| US-PM-01 | Informar parâmetros do cálculo | Must |
| US-PM-02 | Salário mínimo automático da data do crime | Must |
| US-PM-03 | Aplicar IPCA-E desde a data do crime | Must |
| US-PM-04 | Informar data de vencimento para SELIC | Must |
| US-PM-06 | Validar limites legais dos parâmetros | Must |
| US-PM-07 | Alerta para multa inferior a R$ 10.000,00 | Could |
| US-PM-08 | Informar e compensar valor de fiança | Must |
| US-PM-09 | Wizard de cálculo em 3 etapas | Must |
| US-PM-10 | Buscar e carregar dados do processo via integração PJe do COBJUD PRO | Must |
| US-PM-11 | Preencher dados manualmente em modo fallback, com sinalização do cálculo | Must |
| US-PM-20 | Registrar multa vinculada a condenado específico | Must |
| US-PM-21 | Registrar múltiplas multas no mesmo processo | Must |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da FT-PM-01 - Realizar Cálculo da Pena Multa.
Descrição completa no projeto java em docs/penamulta/FT-PM-01-realizar-calculo.md
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir visualizar e registrar o detalhamento completo do cálculo realizado, com todos os parâmetros, índices utilizados e valores intermediários.
**Comportamentos principais:**
* exibir valor base (SM × fração × dias-multa)
* exibir fator de correção IPCA-E e valor corrigido
* exibir período e fator SELIC e valor dos juros
* exibir dedução de fiança (se houver)
* exibir valor total final
* registrar snapshot imutável com versão dos índices utilizados
* permitir consulta posterior do cálculo
**Requisitos de negócio:**
| ID | Requisito |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-PM-21 | O sistema deve registrar a memória completa do cálculo de forma imutável (snapshot), incluindo os índices utilizados e a versão do dataset. |
| RN-PM-22 | A memória deve detalhar: valor base, correção monetária, juros, dedução de fiança, índices utilizados, datas de referência e valor final. |
| RN-PM-23 | A precisão numérica do cálculo deve ser de R$ 0,009 em relação à planilha oficial fornecida como referência. |
**User Stories:**
| US | Título | Classificação |
| -------- | ------------------------------------------ | ------------- |
| US-PM-05 | Visualizar memória de cálculo discriminada | Must |
|
|
Elaboração da Feature Spec da \[EP-PM-01] - FT-PM-02 - Registrar e visualizar memória de cálculo
Descrição completa no projeto java em `docs/penamulta/FT-PM-02-memoria-calculo.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir recalcular uma multa já registrada quando houver alteração de dados ou atualização de índices, preservando o histórico de cálculos anteriores.
**Comportamentos principais:**
* recalcular valores com nova data de referência ou novos parâmetros
* manter histórico de cálculos anteriores (registro original preservado)
* criar novo registro vinculado ao cálculo original
**Requisitos de negócio:**
| ID | Requisito |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-PM-24 | O recálculo cria novo registro vinculado ao original. O registro original permanece inalterado e acessível. |
| RN-PM-25 | Cada recálculo gera novo snapshot com os índices vigentes na data do recálculo. |
| RN-PM-26 | O sistema deve permitir comparar versões de cálculo de uma mesma multa, exibindo os valores e os parâmetros de cada versão lado a lado ou em sequência. |
**User Stories:**
| US | Título | Classificação |
| -------- | -------------------------------------------- | ------------- |
| US-PM-13 | Recalcular multa com nova data de referência | Should |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-01] - FT-PM-03 - Recalcular pena multa
Descrição completa no projeto java em `docs/penamulta/FT-PM-03-recalcular.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir cadastrar e manter os valores históricos do salário mínimo utilizados no cálculo do valor base da multa.
**Comportamentos principais:**
* cadastrar novo valor com data de vigência
* editar e excluir valores existentes
* validar sobreposição de vigências
* manter histórico desde 01/01/1994
* permitir consulta por data
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-IDX-01 | O sistema deve manter tabela histórica de salário mínimo com data de vigência inicial e valor. O histórico deve cobrir datas a partir de 01/01/1994. |
| RN-IDX-02 | Não deve ser possível cadastrar duas vigências de salário mínimo com datas sobrepostas. |
**User Stories:**
| US | Título | Classificação |
| -------- | ------------------------------------ | ------------- |
| US-PM-16 | Cadastro de salário mínimo histórico | Must |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-04 - Gerenciar salário mínimo.
Descrição completa no projeto java em `docs/penamulta/FT-PM-04-salario-minimo.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir cadastrar e manter os valores mensais do índice IPCA-E utilizados para correção monetária, com preparação para integração futura com a API do Banco Central.
**Comportamentos principais:**
* cadastrar índice por período (mês/ano)
* editar e excluir índices existentes
* validar duplicidade de mês/ano
* manter histórico completo
* preparar integração futura com API (SGS série 10764)
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ------------------------------------------------------------------------------------------------- |
| RN-IDX-03 | O sistema deve manter tabela histórica de índices IPCA-E mensais com mês, ano e valor percentual. |
| RN-IDX-04 | Não deve ser possível cadastrar dois índices para o mesmo mês/ano e mesmo tipo. |
| RN-IDX-05 | Índice utilizado em cálculo finalizado não pode ser excluído. |
| RN-IDX-06 | A fonte de referência para o IPCA-E é a série SGS 10764 do Banco Central (IBGE via BCB). |
**User Stories:**
| US | Título | Classificação |
| -------- | ---------------------------------------- | ------------- |
| US-PM-15 | Manutenção de índices IPCA-E | Must |
| US-PM-18 | Atualização automática de índices IPCA-E | Must |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-05 - Gerenciar IPCA-E.
Descrição completa no projeto java em docs/penamulta/FT-PM-05-ipca-e.md
|
|
30 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir cadastrar e manter os valores da taxa SELIC utilizados para cálculo de juros de mora, com preparação para integração futura com a API do Banco Central.
**Comportamentos principais:**
* cadastrar taxa por período
* editar e excluir taxas existentes
* validar duplicidade de período
* manter histórico completo
* preparar integração futura com API (SGS série 11)
*
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ------------------------------------------------------------------------------------------- |
| RN-IDX-07 | O sistema deve manter tabela histórica de índices SELIC com período e valor. |
| RN-IDX-08 | A fonte de referência para a SELIC é a série SGS 11 do Banco Central. |
| RN-IDX-09 | Índice utilizado em cálculo finalizado não pode ser excluído (mesmo critério de RN-IDX-05). |
**User Stories:**
| US | Título | Classificação |
| -------- | --------------------------------------- | ------------- |
| US-PM-15 | Manutenção de índices SELIC | Must |
| US-PM-18 | Atualização automática de índices SELIC | Must |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-06 - Gerenciar SELIC
Descrição completa no projeto java em `docs/penamulta/FT-PM-06-selic.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Controlar se os índices utilizados no cálculo estão atualizados, alertar o usuário em caso de desatualização e registrar usos excepcionais com índices defasados.
**Comportamentos principais:**
* identificar índices desatualizados (IPCA-E > 45 dias sem atualização)
* alertar o usuário nas telas de cálculo e histórico
* permitir continuidade do cálculo mediante autorização registrada
* registrar uso excepcional (usuário, data/hora, justificativa, situação dos índices)
*
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-IDX-10 | Quando o IPCA-E não for atualizado há mais de 45 dias, o sistema deve exibir alerta nas telas de cálculo e histórico, com link para a tela de administração de índices. |
| RN-IDX-11 | Em caráter excepcional, o sistema deve permitir emissão com índices desatualizados mediante autorização do servidor responsável. |
| RN-IDX-12 | Toda autorização para uso de índices desatualizados deve ser registrada: usuário, data/hora, justificativa e situação dos índices no momento da autorização. |
**User Stories:**
| US | Título | Classificação |
| -------- | ------------------------------------------- | ------------- |
| US-PM-17 | Alerta sobre falha na atualização de índice | Should |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-07 - Controlar atualização de índices
Descrição completa no projeto java em `docs/penamulta/FT-PM-07-controle-atualizacao.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir gerar a Certidão de Apuração de Débito em PDF, contendo o cálculo completo da pena multa com fundamentação legal e dados bancários do FUNPESPI, para uso no processo judicial.
**Comportamentos principais:**
* gerar documento em PDF
* incluir memória de cálculo discriminada
* incluir fundamentação legal
* incluir dados bancários do FUNPESPI
* incluir prazo de vencimento para pagamento voluntário
* identificar o servidor responsável e a versão dos índices utilizados
* permitir download ou visualização
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-DOC-01 | A certidão deve ser gerada somente para cálculos com status CALCULADO ou superior. |
| RN-DOC-02 | O PDF deve seguir o modelo estabelecido pela Nota Técnica N011/2025 do CIJEPI. |
| RN-DOC-03 | O documento deve conter: dados da parte, dados da condenação, memória discriminada do cálculo, fundamentação legal e dados bancários do FUNPESPI (BB, Ag. 3791-5, Conta 10.412-4, CNPJ 24.131.459/0001-92). |
**User Stories:**
| US | Título | Classificação |
| -------- | ----------------------------------------- | ------------- |
| US-PM-12 | Emissão da Certidão de Apuração de Débito | Must |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-03] - FT-PM-08 - Emitir certidão de cálculo da pena multa
Descrição completa no projeto java em docs/penamulta/FT-PM-08-emitir-certidao.md
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Permitir consultar cálculos e certidões já emitidos pela unidade judiciária, com filtros de busca e opções de reimpressão. Inclui mecanismo opcional de baixa manual de pagamento — individual ou em lote — e alerta para multas isoladas com prazo de pagamento vencido. No Marco 2, quando a baixa automática via integração bancária for implementada, a baixa manual permanece disponível para casos excepcionais.
**Comportamentos principais:**
* listar certidões da unidade judiciária do servidor logado
* filtrar por processo, réu, período e situação de pagamento: `PAGO`, `NÃO PAGO` e `NÃO INFORMADO`
* visualizar e reimprimir documento original (snapshot)
* exibir status de cada multa
* registrar baixa manual de pagamento de forma individual ou em lote (opcional — servidor pode deixar sem informar)
* sinalizar a origem da baixa: `MANUAL` ou `AUTOMÁTICA` (futura integração bancária do Marco 2)
* alertar para multas isoladas cujo prazo de pagamento voluntário tenha vencido sem baixa registrada
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RN-DOC-04 | O histórico deve ser filtrado por unidade judiciária do servidor logado. |
| RN-DOC-05 | A reimpressão deve gerar exatamente o mesmo documento do cálculo original (snapshot com índices do momento da geração). O log de auditoria deve registrar a primeira impressão e a mais recente. |
| RN-DOC-06 | O sistema deve identificar e sinalizar multas isoladas cujo prazo de pagamento voluntário tenha vencido sem baixa registrada, para que o servidor adote as providências cabíveis. |
| RN-DOC-07 | O registro de baixa manual é opcional. O filtro da listagem deve suportar três situações: `PAGO` (baixa registrada), `NÃO PAGO` (prazo vencido sem baixa) e `NÃO INFORMADO` (prazo não vencido ou situação não registrada pelo servidor). |
| RN-DOC-08 | A baixa manual pode ser registrada individualmente ou em lote para múltiplas multas selecionadas. |
| RN-DOC-09 | O registro de baixa manual deve capturar: data do pagamento, valor pago e usuário responsável. |
| RN-DOC-10 | Toda baixa deve registrar o sinalizador de origem: `MANUAL` (Marco 1) ou `AUTOMÁTICA` (Marco 2 em diante). O sinalizador é imutável após o registro e deve constar no log de auditoria e na listagem. |
| RN-DOC-11 | O campo `origem` de PENA\_MULTA\_BAIXA deve assumir exclusivamente um dos dois valores: `MANUAL` (baixa registrada pelo servidor) ou `AUTOMATICA` (baixa via retorno bancário, Marco 2 em diante). O campo é imutável após o registro. |
**User Stories:**
| US | Título | Classificação |
| -------- | ------------------------------------------------------------------ | ------------- |
| US-PM-14 | Consultar histórico de cálculos da unidade com filtro por situação | Should |
| US-PM-22 | Alerta para multa isolada com prazo vencido sem baixa | Should |
| US-PM-23 | Registrar baixa manual individual ou em lote | Should |
|
|
15 Abr
15 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-09 - Consultar certidões geradas
Descrição completa no projeto java em `docs/penamulta/FT-PM-09-consultar-certidoes.md`
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Descrição:**
Registrar todas as operações relevantes do módulo em log de auditoria, garantindo rastreabilidade e conformidade com a LGPD.
**Comportamentos principais:**
* registrar operações de cálculo, geração de PDF, reimpressão, baixa de pagamento e alteração de índices
* registrar: usuário, data/hora e ação realizada
* para geração de PDF: distinguir entre primeira impressão e reimpressão, registrando ambas com seus respectivos timestamps e usuários
* disponibilizar tela de consulta para administradores com filtros
**Requisitos de negócio:**
| ID | Requisito |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| RN-AUD-01 | Toda operação de cálculo, geração de PDF, reimpressão, recálculo, baixa de pagamento e alteração de índices deve ser registrada em `auditoria_sistema` com: ator (actor\_id), data/hora e descrição da ação. |
| RN-AUD-02 | O log deve distinguir a primeira impressão de uma certidão das reimpressões subsequentes. Para cada certidão devem ser rastreáveis: ator e data/hora da primeira impressão e da impressão mais recente. |
| RN-AUD-03 | O log de auditoria deve estar em conformidade com as diretrizes de proteção de dados (LGPD) do TJPI. |
**User Stories:**
| US | Título | Classificação |
| -------- | ----------------- | ------------- |
| US-PM-19 | Logs de auditoria | Could |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Elaboração da Feature Spec da \[EP-PM-02] - FT-PM-10 - Registrar log de auditoria
Descrição completa no projeto java em docs/penamulta/FT-PM-10-auditoria.md
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Objetivo:** Transformar o cálculo em cobrança judicial efetiva.
**EP-PM-04 — Gestão de Cobrança**
| Feature | Nome | Observação |
| -------- | -------------------------------- | ---------- |
| FT-PM-11 | Registrar cobrança da pena multa | A detalhar |
| FT-PM-12 | Controlar inadimplência | A detalhar |
| FT-PM-13 | Emitir cobrança da pena multa | A detalhar |
| FT-PM-14 | Processar retorno bancário | A detalhar |
> Features, comportamentos e user stories deste marco serão detalhados após a conclusão e avaliação do Marco 1.
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
**Objetivo:** Integrar completamente o módulo ao fluxo judicial.
**EP-PM-05 — Integração com PJe**
> A busca de dados do processo no PJe é realizada no Marco 1 do COBJUD PRO (US-PM-10). Esse método busca em 1G e 2G automaticamente, valida acesso e trata segredo de justiça. As features deste marco cobrem o sentido inverso — o módulo alimentando o PJe — usando o (SOAP MNI) já existente no módulo `tjpi`, com suporte a assinatura digital via `AssinadorService`.
| Feature | Nome | User Stories | Observação |
| -------- | --------------------------------------------- | ------------ | -------------------------------------------------------------------------------- |
| FT-PM-15 | Registrar movimentações no processo | A definir | Via `PjeClient.entregarManifestacaoProcessual()` — SOAP MNI |
| FT-PM-16 | Enviar documentos ao processo | A definir | Via `PjeClient` + `AssinadorService` (assinatura ICP-Brasil) |
| FT-PM-17 | Automatizar fluxo da pena multa | A definir | — |
| FT-PM-18 | Registrar dados da pena multa no processo PJe | A definir | Alimentar o PJe com dados do cálculo e da cobrança; caminho natural após Marco 2 |
|
|
15 Abr
30 Abr
● ▶
15 Abr
● ✔
30 Abr
Esse guia foi elaborado pra auxiliar na compressão dos padrões do projeto. As atualizações serão colocadas no arquivo ".md" no projeto, que é o arquivo correto para consulta. O texto aqui é apenas para referência, não substitui o arquivo no projeto java.
# Guia de Desenvolvimento
## Projeto Cálculo Pena Multa
### Integrado ao sistema COBJUD PRO — TJPI
---
## 1. Objetivo deste documento
Este guia orienta novos integrantes do projeto **Cálculo Pena Multa**, incluindo servidores da equipe técnica, desenvolvedores e estagiários.
O documento explica:
* como o projeto está organizado;
* onde localizar cada tipo de informação;
* como manter rastreabilidade entre backlog, documentação e código;
* como contribuir com o desenvolvimento do sistema.
Este projeto é parte integrante do sistema **COBJUD PRO** e segue a estrutura de desenvolvimento já utilizada pela equipe responsável.
---
## 2. Princípio fundamental: fonte única da informação
Para evitar retrabalho, inconsistência e documentação duplicada, cada tipo de informação possui **uma fonte oficial**.
> **Princípio adotado:** cada informação deve existir em apenas um local oficial.
---
## 3. Fonte oficial de cada tipo de informação
| Tipo de informação | Fonte oficial |
| ---------------------------- | ---------------------------------------------------- |
| Planejamento do projeto | **Captei** (sistema interno TJPI) |
| Marcos | Captei |
| Épicos | Captei |
| Features | Captei |
| User Stories | Captei |
| Tasks | Captei |
| Fluxos de processo | Arquivos BPMN — `docs/penamulta/fluxos/` |
| Protótipos de interface | Ferramenta de design ou `docs/penamulta/prototipos/` |
| Regras de negócio detalhadas | Feature Specs — `docs/penamulta/features/` |
| Modelo de dados (ERD) | `docs/penamulta/onboarding/erd-pena-multa.html` |
| Arquitetura do sistema | `docs/penamulta/onboarding/arquitetura-geral.md` |
| Estrutura de APIs | Feature Specs — `docs/penamulta/features/` |
| Estrutura de banco de dados | Código-fonte e migrations |
| Histórico de mudanças | Repositório Git |
> **Captei** é o sistema de gerenciamento de portfólio e projetos de TIC do TJPI (PEGPTIC/GOVTIC). É a ferramenta equivalente ao que outros projetos chamam de "board" ou "backlog". Não replicar informações do Captei no repositório — apenas referenciar.
---
## 4. Estrutura de rastreabilidade
### 4.1 Visão geral
```plaintext
Planejamento do Projeto Documentação do Sistema Implementação Técnica
(Captei) (Repositório Git) (Repositório Git)
──────────────────────── ──────────────────────── ────────────────────────
Marco Feature Spec Código-fonte
↓ ↓ ↓
Épico Fluxos de processo Services / Controllers
↓ ↓ ↓
Feature Regras de negócio Banco de dados
↓ ↓ ↓
User Story Protótipos Commits
↓ ↓ ↓
Task APIs e arquitetura Deploy
```
### 4.2 Rastreabilidade completa
```plaintext
Captei (Feature)
↓
Feature Spec (docs/penamulta/features/FT-PM-XX-nome.md)
↓
User Stories (Captei)
↓
Tasks (Captei)
↓
Código-fonte
↓
Commit (com referência FT-PM-XX)
↓
Deploy
```
---
## 5. Onde cada informação está localizada
### Captei
Responsável por:
* planejamento e priorização;
* acompanhamento das sprints;
* gestão das tarefas do time.
Estrutura utilizada:
```plaintext
Marco
└── Épico (EP-PM-XX)
└── Feature (FT-PM-XX)
├── User Story (US-PM-XX)
│ └── Task
└── (referência ao Feature Spec no repositório)
```
Para acessar o Captei: \[sistema interno TJPI — PEGPTIC/GOVTIC]
### Repositório Git
Responsável por armazenar documentação técnica e funcional durável.
**O repositório não deve replicar o backlog do Captei.** Em vez disso, deve referenciar os itens do backlog pelo ID da feature (ex.: `FT-PM-01`, `FT-PM-02`).
---
## 6. Por que utilizar Feature Spec
Ferramentas de backlog como o Captei são voltadas principalmente para gestão de trabalho. Com o tempo podem ocorrer situações como:
* reorganização ou arquivamento de projetos;
* dificuldade para localizar funcionalidades mais antigas;
* perda de contexto ao trocar membros da equipe.
Por isso é necessário manter um **registro durável das funcionalidades** no repositório.
O Feature Spec registra:
* objetivo da funcionalidade;
* contexto do negócio;
* fluxo do processo;
* regras de negócio;
* APIs envolvidas;
* estrutura de dados;
* critérios de aceite.
Esses documentos ficam versionados junto ao código, preservando o conhecimento do sistema independentemente do estado do backlog.
---
## 7. Estrutura de documentação no repositório
```plaintext
docs/penamulta/
├── onboarding/
│ ├── guia-desenvolvimento.md ← este arquivo
│ ├── arquitetura-geral.md
│ ├── mapa-rastreabilidade.md
│ └── erd-pena-multa.html ← modelo de dados (ERD)
├── templates/
│ ├── feature-spec-template.md
│ └── regra-negocio-template.md
├── features/
│ ├── FT-PM-01-realizar-calculo.md
│ ├── FT-PM-02-memoria-calculo.md
│ ├── FT-PM-03-recalcular.md
│ ├── FT-PM-04-salario-minimo.md
│ ├── FT-PM-05-ipca-e.md
│ ├── FT-PM-06-selic.md
│ ├── FT-PM-07-controle-atualizacao.md
│ ├── FT-PM-08-emitir-certidao.md
│ ├── FT-PM-09-consultar-certidoes.md
│ └── FT-PM-10-auditoria.md
├── fluxos/
│ ├── fluxo-calculo-multa-isolada.bpmn
│ └── fluxo-calculo-multa-cumulada.bpmn
└── prototipos/
├── FT-PM-01-wizard-calculo.png
├── FT-PM-08-certidao.png
└── FT-PM-09-historico.png
```
### Estrutura do pacote Java
```plaintext
penamulta/
├── controller/
│ ├── PenaMultaController.java
│ └── PenaMultaAdminController.java
├── domain/
│ ├── dto/
│ │ ├── request/
│ │ └── response/
│ ├── entity/
│ │ ├── indice/ ← subpacote isolado — candidato a extração futura
│ │ │ ├── IndiceIpcaE.java ← tabela: indice_ipca_e
│ │ │ ├── IndiceSelic.java ← tabela: indice_selic
│ │ │ └── IndiceSalarioMinimo.java ← tabela: indice_salario_minimo
│ │ ├── PenaMulta.java
│ │ ├── PenaMultaCalculo.java
│ │ ├── PenaMultaCertidao.java
│ │ ├── PenaMultaBaixa.java
│ │ ├── PenaMultaRecalculo.java
│ │ └── PenaMultaAuditoria.java
│ └── enums/
│ ├── StatusCalculo.java
│ ├── TipoMulta.java
│ ├── ModoEntrada.java
│ └── OrigemBaixa.java
├── repository/
│ └── indice/ ← subpacote isolado
│ ├── IndiceIpcaERepository.java
│ ├── IndiceSelicRepository.java
│ └── IndiceSalarioMinimoRepository.java
└── service/
├── indice/ ← subpacote isolado
│ ├── IpcaEService.java
│ ├── SelicService.java
│ └── SalarioMinimoService.java
├── PenaMultaCalculoService.java
├── PenaMultaPdfService.java
└── PenaMultaPjeService.java
```
> **Por que o subpacote **`indice/`**?** O COBJUD PRO (COBranças JUDiciais) prevê outros tipos de cálculo judicial que usarão os mesmos índices econômicos (IPCA-E, SELIC, salário mínimo). Quando isso ocorrer, o subpacote `indice/` será extraído para um módulo próprio `indices/` — a operação se resume a mover arquivos e atualizar imports. As tabelas já têm nomes genéricos (`indice_ipca_e`, não `pena_multa_ipca_e`) para facilitar essa migração.
---
## 8. Template padrão de Feature Spec
**Arquivo:** `docs/penamulta/templates/feature-spec-template.md`
```plaintext
# FEATURE [FT-PM-XX] — [Nome da funcionalidade]
## Referência no backlog
Captei — Sistema de Gerenciamento de Projetos de TIC (PEGPTIC/GOVTIC — TJPI)
Épico: [EP-PM-XX — Nome do épico]
Feature ID: FT-PM-XX
Documentação técnica: docs/penamulta/features/FT-PM-XX-nome.md
---
## 1. Objetivo
Descrever o objetivo principal da funcionalidade.
---
## 2. Contexto do Negócio
Descrever brevemente o processo de negócio envolvido.
---
## 3. Fluxo do Processo
### 3.1 Fluxo simplificado
1.
2.
3.
### 3.2 Fluxo detalhado
docs/penamulta/fluxos/[arquivo].bpmn
---
## 4. Regras de Negócio
| ID | Regra |
|---|---|
| RN-PM-01 | Descrição da regra. |
| RN-PM-02 | Descrição da regra. |
---
## 5. Protótipo
docs/penamulta/prototipos/FT-PM-XX-nome.png
---
## 6. User Stories
As stories permanecem no Captei.
Referência: [FT-PM-XX — Lista de US no Captei]
| US | Título | Classificação |
|---|---|---|
| US-PM-01 | ... | Must / Should / Could |
---
## 7. Tasks técnicas
As tasks permanecem no Captei, vinculadas às User Stories.
Principais tasks previstas:
- [ ] ...
- [ ] ...
---
## 8. APIs envolvidas
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /recurso | ... |
| GET | /recurso/{id} | ... |
---
## 9. Estrutura de dados
Tabela principal: `nome_tabela`
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| id | BIGINT | Sim | Chave primária |
| campo_a | VARCHAR | Sim | ... |
| campo_b | DECIMAL | Não | ... |
---
## 10. Critérios de aceite
| ID | Critério |
|---|---|
| CA-PM-01 | Descrição do critério. |
| CA-PM-02 | Descrição do critério. |
---
## 12. Dependências
- [FT-PM-YY] — motivo da dependência.
---
## 13. Observações técnicas
Decisões técnicas importantes, restrições ou pontos de atenção.
```
---
## 9. Relação entre Captei e Feature Spec
A relação entre backlog e documentação ocorre por **referência cruzada**.
**No Captei** (campo de descrição ou anexo da Feature):
```plaintext
Feature: FT-PM-01 — Realizar cálculo da pena multa
Documentação técnica: docs/penamulta/features/FT-PM-01-realizar-calculo.md
```
**No Feature Spec** (cabeçalho do arquivo):
```plaintext
## Referência no backlog
Captei — PEGPTIC/GOVTIC — TJPI
Feature ID: FT-PM-01
```
---
## 10. Regras para commits
Os commits devem manter vínculo com a feature implementada, usando o prefixo `FT-PM-XX`.
**Formato:**
```plaintext
FT-PM-XX tipo: descrição curta do que foi implementado
```
**Tipos válidos:**
| Tipo | Uso |
| ---------- | --------------------------------------------- |
| `feat` | Nova funcionalidade |
| `fix` | Correção de bug |
| `test` | Adição ou correção de testes |
| `docs` | Alteração de documentação |
| `refactor` | Refatoração sem alteração de comportamento |
| `chore` | Tarefas de manutenção (configs, dependências) |
**Siglas de prefixo válidas — Marco 1:**
| Sigla | Feature | Área |
| ---------- | ----------------------------------------- | ---------------------------------------------- |
| `FT-PM-01` | Realizar cálculo da pena multa | Cálculo principal, wizard, integração PJe |
| `FT-PM-02` | Registrar e visualizar memória de cálculo | Snapshot imutável do resultado |
| `FT-PM-03` | Recalcular pena multa | Histórico de recálculos |
| `FT-PM-04` | Gerenciar salário mínimo | Tabela histórica de SM |
| `FT-PM-05` | Gerenciar IPCA-E | Índices de correção monetária |
| `FT-PM-06` | Gerenciar SELIC | Taxas de juros de mora |
| `FT-PM-07` | Controlar atualização de índices | Alerta de desatualização |
| `FT-PM-08` | Emitir certidão de cálculo | Geração e rastreio de impressões |
| `FT-PM-09` | Consultar certidões e baixas | Histórico e baixa manual de pagamento |
| `FT-PM-10` | Registrar log de auditoria | Rastreabilidade transversal |
| `DOC` | Documentação geral | Alterações em `docs/` sem feature específica |
| `INFRA` | Infraestrutura | Configurações de ambiente, CI/CD, dependências |
> Novas features recebem a próxima sigla `FT-PM-XX` disponível, definida no Captei no momento da criação. Não criar siglas ad hoc fora desse padrão.
**Exemplos:**
```plaintext
FT-PM-01 feat: busca de processo via JudicialService
FT-PM-01 feat: cálculo de correção monetária pelo IPCA-E
FT-PM-01 fix: precisão do fator SELIC acumulado
FT-PM-01 test: validação dos limites legais de dias-multa
FT-PM-04 feat: CRUD de salário mínimo histórico
FT-PM-05 feat: CRUD de índices IPCA-E
FT-PM-08 feat: geração de PDF da certidão de apuração de débito
FT-PM-09 feat: baixa manual de pagamento individual e em lote
DOC docs: atualização do ERD após separação PENA_MULTA/CALCULO
```
---
## 12. Documentação da API (Swagger / OpenAPI)
O COBJUD PRO usa **SpringDoc OpenAPI 2.1.0** (`springdoc-openapi-starter-webmvc-ui`). A UI do Swagger está disponível em `{host}/swagger-ui.html`.
O módulo Pena Multa inaugura o padrão de documentação da API no COBJUD PRO. Os demais módulos devem adotar as mesmas convenções quando forem tocados.
### Configuração global
Uma única classe `OpenApiConfig` em `common/config/` define o contrato global:
```java
@Configuration
public class OpenApiConfig {
@Bean
public OpenAPI openAPI() {
return new OpenAPI()
.info(new Info()
.title("COBJUD PRO API")
.description("COBranças JUDiciais — Tribunal de Justiça do Piauí")
.version("1.0.0")
.contact(new Contact()
.name("STIC/TJPI — GOVTIC/PEGPTIC")
.url("https://www.tjpi.jus.br")))
.addSecurityItem(new SecurityRequirement().addList("bearerAuth"))
.components(new Components()
.addSecuritySchemes("bearerAuth", new SecurityScheme()
.name("bearerAuth")
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")));
}
}
```
### Convenções por camada
**Controllers — obrigatório:**
```java
@Tag(name = "Pena Multa", description = "Cálculo e gestão de multas criminais – NT N011/2025")
@SecurityRequirement(name = "bearerAuth")
public class PenaMultaController { ... }
@Operation(
summary = "Calcular pena de multa",
description = "Executa o cálculo sem persistir. Usar para pré-visualização no wizard."
)
@ApiResponse(responseCode = "200", description = "Cálculo executado com sucesso")
@ApiResponse(responseCode = "400", description = "Parâmetros inválidos")
@ApiResponse(responseCode = "401", description = "Não autenticado")
public ResponseEntity
|
|
● ▶
09 Abr
● ✔
09 Abr
|
|
● ▶
10 Abr
● ✔
10 Abr
|
|
07 Abr
07 Abr
● ▶
07 Abr
● ✔
07 Abr
|
Alta
Sem Investimento
Médio
N/D
TJPI/Corregedoria
| Responsabilidade | Membro | Área |
|---|
| Responsabilidade | Membro | Área |
|---|
Nenhum risco cadastrado para este projeto