ComissaoPlano
Gerado por Inteligência Artificial.
Visão Geral
Método responsável por calcular a comissão de um plano específico, utilizando informações do contrato, dados do token de autenticação, configurações e uma lista opcional de recebimentos. Ele orquestra a criação das comissões detalhadas e realiza cálculos precisos aplicando truncamento nos valores monetários envolvidos.
private async Task\<decimal\> ComissaoPlano(int contratoId, DadosToken dadosToken, Configuracao config, List\<Recebimento\> recebimentos = null) {...}
Dependências Diretas
| Método | Localização | Linha |
|---|---|---|
| ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>) | (sem arquivo) | 0 |
Referências
| Método / Endpoint | Localização | Linha |
|---|---|---|
| ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>) | (sem arquivo) | 0 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 521, 532, 543, 567, 596, 607, 618, 642, 675, 686, 697, 721, 980, 1047 |
| Truncar(decimal) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 73, 729 |
| Truncate(decimal) | BOX3_ERP_API.Core.Util.Calculadora.cs | 11 |
| EquipeDoDia(DateTime, int) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 547, 622, 701 |
| ComissaoSupervisorVendaPlano(int, List<Recebimento>, decimal, DadosToken) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 731 |
| ComissaoGerenteVendaPlano(int, List<Recebimento>, decimal, DadosToken) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 732 |
Detalhamento das Referências
ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>)
Método principal que calcula a comissão para um plano baseado no contrato, dados do usuário e configurações específicas, podendo receber uma lista de recebimentos para cálculo detalhado.
CriarComissao(Comissao, DadosToken, List<Recebimento>)
Método privado assíncrono que cria e persiste a comissão calculada, utilizando os dados da comissão, token e lista de recebimentos para processar as informações necessárias.
Truncar(decimal)
Método estático que realiza o truncamento de valores decimais para garantir precisão nos cálculos financeiros, evitando arredondamentos incorretos.
Truncate(decimal)
Método do sistema que efetivamente executa o truncamento do valor decimal, utilizado internamente pelo método Truncar.
EquipeDoDia(DateTime, int)
Método privado assíncrono que retorna a lista de registros de ponto da equipe para um determinado dia e empresa, utilizado para validar e calcular comissões relacionadas à equipe.
ComissaoSupervisorVendaPlano(int, List<Recebimento>, decimal, DadosToken)
Método privado assíncrono que calcula a comissão específica para supervisores de venda em um plano, considerando o contrato, recebimentos, valor e dados do token.
ComissaoGerenteVendaPlano(int, List<Recebimento>, decimal, DadosToken)
Método privado assíncrono que calcula a comissão específica para gerentes de venda em um plano, utilizando parâmetros similares ao método do supervisor.
Impacto de Alterações
Alterações neste método podem impactar diretamente o cálculo das comissões, afetando a remuneração dos envolvidos e a integridade dos dados financeiros. Mudanças incorretas podem causar erros em pagamentos, relatórios e processos relacionados à comissão.
Propagação de Mudanças
- Revisar e atualizar métodos que chamam ComissaoPlano, como ComissaoVendaGeral.
- Validar dependências em métodos auxiliares como CriarComissao e métodos de cálculo de comissão para supervisores e gerentes.
- Testar integrações com controladores e repositórios que utilizam o cálculo de comissão.
- Atualizar documentação e testes automatizados para refletir as mudanças.
- Comunicar equipes financeiras e de desenvolvimento sobre alterações relevantes.
Requisitos para Alteração Segura
- Compreensão completa da lógica de cálculo de comissão e suas regras de negócio.
- Testes unitários e de integração abrangentes para garantir a precisão dos cálculos.
- Validação dos impactos financeiros e conformidade com políticas internas.
- Revisão de código por pares e aprovação em processos de controle de qualidade.
- Backup e versionamento do código antes de aplicar alterações.