Pular para o conteúdo principal

ComissaoPlano

atenção

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.

BOX3_ERP_API.Core.BLL.ComissaoBLL.cs
private async Task\<decimal\> ComissaoPlano(int contratoId, DadosToken dadosToken, Configuracao config, List\<Recebimento\> recebimentos = null) {...}

Dependências Diretas

MétodoLocalizaçãoLinha
ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>)(sem arquivo)0

Referências

Método / EndpointLocalizaçãoLinha
ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>)(sem arquivo)0
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs521, 532, 543, 567, 596, 607, 618, 642, 675, 686, 697, 721, 980, 1047
Truncar(decimal)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs73, 729
Truncate(decimal)BOX3_ERP_API.Core.Util.Calculadora.cs11
EquipeDoDia(DateTime, int)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs547, 622, 701
ComissaoSupervisorVendaPlano(int, List<Recebimento>, decimal, DadosToken)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs731
ComissaoGerenteVendaPlano(int, List<Recebimento>, decimal, DadosToken)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs732

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

  1. Revisar e atualizar métodos que chamam ComissaoPlano, como ComissaoVendaGeral.
  2. Validar dependências em métodos auxiliares como CriarComissao e métodos de cálculo de comissão para supervisores e gerentes.
  3. Testar integrações com controladores e repositórios que utilizam o cálculo de comissão.
  4. Atualizar documentação e testes automatizados para refletir as mudanças.
  5. 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.