feat: otimização de performance e ajustes finais

This commit is contained in:
Idrissa Banora
2026-05-18 10:49:32 +00:00
commit 430deed1cd
530 changed files with 150759 additions and 0 deletions
@@ -0,0 +1,62 @@
# Definição de Padrão para Configuração de Novos Impostos
Este documento estabelece o protocolo técnico e funcional para a introdução de novos tributos, contribuições ou retenções no Sistema Integrado de Gestão (SIGEFP), garantindo a automatização sem necessidade de refatoração de código.
## 1. Princípio da Extensibilidade
O sistema foi desenhado para suportar a adição de novas figuras tributárias desde que estas obedeçam a modelos matemáticos pré-definidos (Fixo ou Progressivo). Qualquer imposto que dependa de variáveis exógenas não previstas na entidade `Agente` ou `Tabela Salarial` requer desenvolvimento específico.
## 2. Contrato de Dados (Data Contract)
Para que um novo imposto seja reconhecido e processado automaticamente pelo Motor de Cálculo (`PayrollService`), este deve ser registado na base de dados obedecendo rigorosamente à seguinte estrutura:
### 2.1. Entidade: Tipo de Desconto (`deduction_type`)
Representa a "Categoria" do tributo.
* **Identificador (Code)**: Deve ser único, curto e em caixa alta (Ex: `TSAN`).
* **Nome (Name)**: O nome amigável que aparecerá nas abas de configuração e nos recibos de vencimento.
* **Mandatório (Mandatory)**: `TRUE` se for aplicado a todos automaticamente.
### 2.2. Entidade: Regra de Escalão (`tax_bracket`)
Define a lógica matemática. O sistema interpreta cada registo como uma regra condicional: *"Se o salário base estiver entre X e Y, aplique Z"*.
| Campo | Obrigatoriedade | Descrição Técnica |
| :--- | :--- | :--- |
| `deduction_type_id` | Obrigatório | Chave estrangeira para o Tipo de Desconto. |
| `lower_limit` | Obrigatório | Limite inferior da faixa de incidência (Inclusive). |
| `upper_limit` | Opcional | Limite superior. Se nulo, considera-se infinito. |
| `fixed_amount` | Condicional | Valor monetário fixo a descontar. Preivalece sobre percentagens. |
| `rate_percentage` | Condicional | Coeficiente decimal (Ex: 0.15 para 15%) aplicado sobre a base tributável. |
| `excess_deduction` | Opcional | "Parcela a Abater". Valor subtraído do resultado da multiplicação da taxa. |
---
## 3. Modelos Matemáticos Suportados
O motor de cálculo executa a seguinte lógica de decisão para cada escalão encontrado. Ao configurar um novo imposto, deve-se escolher **apenas um** dos modelos abaixo.
### 3.1. Modelo A: Tributação Fixa (Flat Fee)
Aplicável a taxas de valor nominal (ex: Taxa de Saneamento, Contribuição Sindical Fixa).
* **Configuração**: Preencher apenas `fixed_amount`.
* **Fórmula**: `Desconto = Valor Fixo`
### 3.2. Modelo B: Tributação Proporcional Simples (Flat Rate)
Aplicável a impostos de percentagem única ou variável por faixa, sem dedução (ex: Dízimo, Contribuições Especiais).
* **Configuração**: Preencher `rate_percentage`. Deixar `excess_deduction` e `fixed_amount` nulos.
* **Fórmula**: `Desconto = Base Tributável × Taxa`
### 3.3. Modelo C: Tributação Progressiva Completa (padrão IRPS)
Aplicável a impostos sobre rendimento com suavização de curvas.
* **Configuração**: Preencher `rate_percentage` e `excess_deduction`.
* **Fórmula**: `Desconto = (Base Tributável × Taxa) - Parcela a Abater`
---
## 4. Protocolo de Inserção (Procedimento)
Para operacionalizar um novo imposto:
1. **Definição**: Insira o registo mestre na tabela `deduction_type`.
2. **Parametrização**: Insira os N escalões necessários na tabela `tax_bracket`, cobrindo todas as faixas salariais possíveis (de 0 ao infinito).
3. **Verificação**:
* Acesse o módulo de Recursos Humanos -> Configurações -> Escalões.
* Verifique se uma nova aba com o nome do imposto foi gerada automaticamente.
* Confirme se os valores aparecem conforme inserido.
4. **Execução**: Na próxima execução da folha, o sistema iterará sobre o novo tipo e aplicará as regras aos agentes elegíveis.
**Nota Importante**: O sistema assume que a base de cálculo para novos impostos progressivos é (Salário Bruto - Segurança Social), salvo configuração específica em contrário nas Regras Globais.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
Descobrir a porta:
netstat -ano | findstr :8081
O que sera mostrado
TCP 0.0.0.0:8081 LISTENING xxxxx
Fechar a porta
tasklist | findstr xxxxx
O forçar
taskkill /PID xxxxx /F
taskkill /F /IM java.exe
tasklist /FI "IMAGENAME eq java.exe"
@@ -0,0 +1,47 @@
Para garantir que o sistema de gestão de recursos humanos e folha de pagamento esteja em total conformidade com o Estatuto do Pessoal da Administração Pública (Decreto nº 12-A/94), a documentação abaixo detalha as regras de negócio, campos necessários e validações que devem ser implementados na modelagem de dados apresentada.
1. Gestão de Vínculos e Admissão
O sistema deve diferenciar estritamente as modalidades de constituição da relação jurídica:
• Nomeação Provisória (Período Probatório): Ao cadastrar um novo agente em "lugar de ingresso", o sistema deve definir um status de nomeação provisória por 2 anos. Após este prazo, o sistema deve disparar um alerta ou converter automaticamente para Nomeação Definitiva, caso não haja exoneração.
• Contratos Administrativos:
◦ Provimento: Validade de 2 anos, renovável sucessivamente.
◦ Termo Certo: Duração máxima de 1 ano (exceto projetos internacionais), sem conferir qualidade de agente administrativo.
• Campos Necessários (agent): Inserir data de posse (aceitação) para marcar o início do direito à remuneração.
2. Estrutura de Carreiras e Progressão
A modelagem deve suportar a hierarquia de categorias e escalões conforme os Mapas I e II do Estatuto:
• Promoção (Mudança de Categoria): O sistema deve bloquear promoções na tabela career_evolution (ou similar) a menos que o agente cumpra:
◦ Vaga disponível no quadro.
◦ Tempo mínimo de permanência na categoria anterior.
◦ Avaliação de desempenho de, no mínimo, "Bom" nos últimos três anos.
• Progressão (Mudança de Escalão): Deve ser automática por tempo de serviço e avaliação de desempenho, sem necessidade de concurso.
• Bonificação por Mérito: Reduzir em 1 ano o tempo para progressão se a avaliação for superior à mínima exigida.
3. Motor de Cálculo Salarial (Regras de Folha)
A tabela payroll e seus itens de processamento devem seguir as fórmulas legais:
• Remuneração Base (Rb): Deve ser dividida internamente no cálculo em:
◦ Remuneração do Cargo: 5/6 do valor base.
◦ Remuneração de Exercício: 1/6 do valor base.
• Salário de Dirigentes: Calcular automaticamente com base no índice 100 (Secretário-Geral): 90% para Diretores-Gerais e 80% para Diretores de Serviço.
• Valor da Hora Normal: Implementar a fórmula
52×N
Rb×12
, onde N é o número de horas semanais.
• Abono de Família: Validar o pagamento conforme a idade dos filhos (18 anos para ensino médio, 24 anos para curso superior) e o limite de até 3 dependentes por agregado.
4. Descontos e Prestações Sociais
Configurar a tabela deduction_type com as seguintes regras mandatórias:
• Compensação para Aposentação: Desconto obrigatório de 6% sobre a remuneração base.
• Exclusões de Desconto: O sistema não deve incidir descontos de aposentação sobre subsídios de habitação, ajudas de custo, abono de família ou gratificações não permanentes.
• Retenção na Fonte: Garantir a aplicação do Imposto Profissional e Imposto de Selo.
5. Assiduidade, Férias e Faltas
O módulo de assiduidade deve parametrizar os impactos financeiros das ausências:
• Férias: Direito a 30 dias por ano. O sistema deve impedir a substituição das férias por compensação econômica.
• Faltas Não Justificadas: Devem ser contadas em dobro para efeitos de perda de vencimento e desconto em férias.
• Faltas com Perda de Vencimento: Limite de 1 dia por mês, até 6 por ano.
• Substituição: O funcionário que substituir um superior (por mais de 30 dias) tem direito à totalidade do vencimento do cargo substituído.
6. Avaliação de Desempenho
A tabela de avaliações (evaluation) deve usar a escala quantitativa convertida para as menções qualitativas:
• 5 a 7: Insatisfatório.
• 8 a 11: Pouco Satisfatório.
• 12 a 17: Bom (mínimo para promoção/progressão).
• 18 a 20: Muito Bom.
@@ -0,0 +1,110 @@
Com base nas tabelas fornecidas nas fontes, elaborei uma lista completa e individualizada de todas as categorias, cargos e patentes mencionados. A lista está organizada por setor para maior clareza.
1. Órgãos de Soberania e Direção Superior (Função Pública)
• Presidente da República
• Presidente da Assembleia
• Primatura (Primeiro-Ministro)
• Presidente do Supremo Tribunal de Justiça (PSTJ)
• Procurador-Geral da República (PGR)
• Presidente do Tribunal de Contas (PT Contas)
• Ministros
• Secretários de Estado (S. Estado)
• Presidente e Vice-Presidente do Tribunal de Círculo
• Juiz Desembargador
• Governador(a) de Região
• Secretário-Geral (Sec. Geral)
• Juiz de Direito
• Delegado (Procuradoria)
• Contador Chefe
• Inspetor Geral
• Diretor Geral
• Juiz Secretário-Licenciado
• Contador Especialista
• Secretarias (da Primatura, PSTJ, PGR, PT Contas)
• Chefe de Gabinete
• Assessor
• Administrador(a) de Setor
• Diretor de Serviço (Níveis 1, 2 e 3)
2. Educação e Ensino
• Professor B (Prof. B)
• Delegado Regional de Ensino
• Diretor de Ensino Secundário
• Diretor de Ensino Básico (Dir. EB)
• Enfermeiro Professor (Escalões 2 a 5)
3. Setor da Justiça e Investigação (Cargos Específicos)
• Vice-Presidente do STJ / Vice-PGR / Vice-Pres. Tribunal de Contas
• Juiz Conselheiro do STJ
• Procurador-Geral Adjunto (P. G. A.)
• Juiz Conselheiro do TC
• Diretor Nacional da Polícia Judiciária (PJ)
• Diretor Nacional Adjunto (D. N. A.) da PJ
• Inspetor Coordenador de Nível
• Diretor de Centro Prisional (D. C. Prision)
• Diretor do DIC / LPC / DCATE / DGPGR
• Perito Superior Criminal (Nível III)
• Secretário Judicial e Secretário Técnico (Tribunal Superior)
• Sub-Inspetor
• Juiz Setorial e Delegado Setorial (não licenciados)
• Agente de Investigação Criminal (Nível I)
• Chefe de Guarda Prisional
• Escrivão de Direito
• Escrivão Adjunto
• Escrivão do STJ
• Oficiais de Delegacia
• Escriturários Judiciais
• Chefe de Serviços de Segurança Interna
• Pessoal de Segurança Interna (Nível III)
4. Carreira Militar
• General
• Tenente-General
• Major-General
• Brigadeiro-General
• Coronel
• Tenente-Coronel
• Major
• Capitão
• Tenente
• Alferes
• Sargento-Mor
• Sargento
• 1º Sargento
• 2º Sargento
• Furiel
• Cabo
• Soldado
5. Setor da Saúde
• Médico Especialista Hospitalar Principal (Escalões 1 a 3)
• Médico Especialista Hospitalar (Escalões 1 a 3)
• Assistente Clínico Geral / Equiparado (Escalões 1 a 3)
• Médico (Escalões 1 a 3, e Médico 4 ou 5.B)
• Técnico Superior Equiparado a Médico (Escalões 1 a 3)
• Enfermeiro Superior (Escalões 1 a 3)
• Técnico Superior de Assistência Social (Escalões 1 a 3)
• Enfermeiro/Parteira Especialista (Escalões 1 a 6)
• Enfermeiro Monitor (Escalões 1 a 6)
• Enfermeiro/Parteira Geral (Escalões 1 a 6)
• Técnico de Diagnóstico e Terapêutica (Tdt) Especialista (Escalão 2 e Geral)
• Técnico de Diagnóstico e Terapêutica (Tdt) Geral (Escalões 1 a 5)
• Auxiliar de Saúde (Escalões 1 a 5)
• Diretor Regional de Saúde
6. Áreas Administrativa, Técnica e Outros
• Técnico (BO)
• Técnico Especialista Principal
• Assessor Técnico
• Técnico Superior de 2ª Classe
• Técnico Superior Estagiário
• Técnico de 1ª e 2ª Classe
• Técnico Profissional Especialista Principal
• Técnico Profissional Especialista
• Técnico Profissional de 2ª Classe
• Chefe de Repartição Adjunto Técnico
• Chefe de Secção
• 1º Oficial e Oficial de Diligência
• 2º Oficial
• 3º Oficial
• Assistente Administrativo (Base, Principal e Especialista)
• Aspirante
• Escriturário Dactilógrafo
• Pessoal não Administrativo (Categorias 4A01 e 4B01)
• Prestadores de Serviço (Consultores/Contratados)
• Profissionais Liberais (Trabalhadores por conta própria)
• Reformados (Aposentados)