feat: otimização de performance e ajustes finais

This commit is contained in:
Idrissa Banora
2026-05-18 10:49:32 +00:00
commit 52a7c4f9cf
579 changed files with 156489 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
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)