Pular para o conteúdo principal

ComissaoVendaGeral

atenção

Gerado por Inteligência Artificial.


Visão Geral

Método responsável por calcular e processar a comissão geral de uma venda, utilizando o identificador do contrato e os dados do token de autenticação. Ele orquestra chamadas a diversos métodos internos para calcular comissões específicas de ordens de serviço, vendas, jazigos, planos e clínicas, além de criar registros de comissão detalhados.

BOX3_ERP_API.Core.BLL.ComissaoBLL.cs
public async Task<bool> ComissaoVendaGeral(int contratoId, DadosToken dadosToken)

Dependências Diretas

MétodoLocalizaçãoLinha
ComissaoVendaGeral(int, DadosToken)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs0
GetItem(bool)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs32
ComissaoOrdemServico(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs42
Total(int)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs146
CalculoServicoEpoca(int)BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs207
CalculoProdutoEpoca(int)BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs208
Truncar(decimal)BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs210
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs73, 176, 192, 206, 230, 251, 272
GetPreco(int)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs180, 235
EquipeDoDia(DateTime, int)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs210
ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs44
ComissaoJazigoVenda(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs46
ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs48
ComissaoClinica(int, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs50
ComissaoGerenteGeral(decimal, int, string, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs55

Referências

Método / EndpointLocalizaçãoLinha
Pagamento(int, FinalizarVenda_Model, DadosToken)BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs2264
Pagamento(int, Item_PagamentoServicoModel, DadosToken)BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs7054
API_ConfirmarImpressaoContrato(int)BOX3_ERP_API.Controllers.PlanoContratacaoController.cs1034
API_FecharVenda(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.JazigoVendaController.cs898
API_Finalizar(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.OrdemServicoController.cs3752
API_FecharVenda(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.VendaController.cs2914
ConfirmarImpressaoContrato(int, DadosToken)BOX3_ERP_API.Core.Repositories.Implementations.PlanoContratacaoV2Repository.cs2842
Fechamento(int, FinalizarVenda_Model, DadosToken)BOX3_ERP_API.Core.Repositories.Implementations.VendaJazigoRepository.cs893

Detalhamento das Referências

ComissaoVendaGeral(int, DadosToken)

Método principal que calcula a comissão geral de uma venda, invocado por diversos controladores e serviços para processar comissões após finalização de vendas ou contratos.

GetItem(bool)

Obtém a configuração necessária para o cálculo das comissões, podendo validar a existência da configuração.

ComissaoOrdemServico(int, DadosToken, Configuracao, List<Recebimento>)

Calcula a comissão relacionada a ordens de serviço associadas ao contrato, utilizando configurações e recebimentos para o cálculo detalhado.

Total(int)

Calcula o total de valores relacionados a uma ordem de serviço, base para cálculo de comissões.

CalculoServicoEpoca(int)

Calcula o valor da comissão referente aos serviços em uma determinada época para uma ordem de serviço.

CalculoProdutoEpoca(int)

Calcula o valor da comissão referente aos produtos em uma determinada época para uma ordem de serviço.

Truncar(decimal)

Método utilitário para truncar valores decimais, utilizado para padronizar valores monetários nas comissões.

CriarComissao(Comissao, DadosToken, List<Recebimento>)

Método que cria efetivamente o registro da comissão no sistema, podendo receber dados adicionais de recebimentos.

GetPreco(int)

Obtém o preço de um serviço ou produto, utilizado para cálculo das comissões.

EquipeDoDia(DateTime, int)

Obtém a lista de registros de ponto da equipe do dia para uma empresa, usada para cálculos específicos de comissão.

ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>)

Calcula a comissão referente às vendas do contrato.

ComissaoJazigoVenda(int, DadosToken, Configuracao, List<Recebimento>)

Calcula a comissão referente à venda de jazigos.

ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>)

Calcula a comissão referente ao plano contratado.

ComissaoClinica(int, DadosToken, List<Recebimento>)

Calcula a comissão referente a serviços clínicos.

ComissaoGerenteGeral(decimal, int, string, DadosToken, List<Recebimento>)

Calcula a comissão do gerente geral baseada em valores e contratos específicos.


Impacto de Alterações

Alterações neste método podem impactar diretamente o cálculo e registro das comissões em todo o sistema, afetando processos financeiros e relatórios relacionados a vendas, ordens de serviço, planos, jazigos e clínicas. Mudanças podem afetar múltiplos módulos e controladores que dependem do cálculo correto das comissões.

Propagação de Mudanças

  1. Ajustes em métodos de cálculo de comissão específicos (ex: ComissaoOrdemServico, ComissaoVenda).
  2. Atualização dos métodos de criação de comissão (CriarComissao).
  3. Revisão dos métodos utilitários como Truncar para garantir consistência nos valores.
  4. Testes e validações nos controladores que invocam este método, como AgendamentoClinicaBLL, JazigoVendaController, OrdemServicoController, VendaController.
  5. Atualização de documentação e relatórios financeiros que dependem dos valores calculados.

Requisitos para Alteração Segura

  • Compreensão completa das regras de negócio relacionadas a comissões.
  • Testes unitários e integrados abrangentes para validar cálculos e efeitos colaterais.
  • Validação dos dados de entrada e tratamento de exceções para evitar inconsistências.
  • Comunicação com equipes financeiras para alinhamento das regras de comissão.
  • Atualização da documentação técnica e de usuário para refletir mudanças.
  • Revisão de impacto em sistemas que consomem os dados de comissão.