Pular para o conteúdo principal

ComissaoVenda

atenção

Gerado por Inteligência Artificial.


Visão Geral

Método assíncrono que calcula a comissão de venda para um contrato específico, utilizando dados do token, configurações e uma lista opcional de recebimentos. Internamente, chama métodos auxiliares para truncar valores decimais e criar comissões detalhadas, garantindo o cálculo preciso e a persistência das informações de comissão.

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

Dependências Diretas

MétodoLocalizaçãoLinha
ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs0
Calculadora.Truncar(decimal)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs300
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs325
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs338
CriarComissaoDoMesColaboradorOtica(int, DadosToken)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs341
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs370
CriarComissao(Comissao, DadosToken, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs392

Referências

Método / EndpointLocalizaçãoLinha
ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs0
ComissaoVendaGeral(int, DadosToken)BOX3_ERP_API.Core.BLL.ComissaoBLL.cs44
AgendamentoClinicaBLL.Pagamento(int, FinalizarVenda_Model, DadosToken)BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs2264
AgendamentoClinicaBLL.Pagamento(int, Item_PagamentoServicoModel, DadosToken)BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs7054
AgendamentoClinicaV2Controller.Pagamento(int, Item_PagamentoServicoModel)BOX3_ERP_API.Controllers.AgendamentoClinicaV2Controller.cs265
JazigoVendaController.API_FecharVenda(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.JazigoVendaController.cs898
OrdemServicoController.API_Finalizar(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.OrdemServicoController.cs3752
VendaController.API_FecharVenda(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.VendaController.cs2914
PlanoContratacaoController.API_ConfirmarImpressaoContrato(int)BOX3_ERP_API.Controllers.PlanoContratacaoController.cs1034
VendaJazigoRepository.Fechamento(int, FinalizarVenda_Model, DadosToken)BOX3_ERP_API.Core.Repositories.Implementations.VendaJazigoRepository.cs893
JazigoVendaV2Controller.FecharVenda(int, FinalizarVenda_Model)BOX3_ERP_API.Controllers.JazigoVendaV2Controller.cs236
PlanoContratacaoV2Repository.ConfirmarImpressaoContrato(int, DadosToken)BOX3_ERP_API.Core.Repositories.Implementations.PlanoContratacaoV2Repository.cs2842
PlanoContratacaoV2Controller.API_ConfirmarImpressaoContrato(int)BOX3_ERP_API.Controllers.PlanoContratacaoV2Controller.cs323

Detalhamento das Referências

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

Método privado e assíncrono que calcula a comissão de venda para um contrato, utilizando dados do token, configurações e uma lista opcional de recebimentos. Retorna o valor decimal da comissão calculada.

ComissaoVendaGeral(int, DadosToken)

Método público assíncrono que provavelmente realiza o cálculo geral da comissão de venda para um contrato, utilizando dados do token. Serve como ponto de entrada para o cálculo de comissões em nível geral.

AgendamentoClinicaBLL.Pagamento(int, FinalizarVenda_Model, DadosToken)

Método público assíncrono responsável por processar pagamentos relacionados a agendamentos em clínica, utilizando o ID do agendamento, modelo de finalização de venda e dados do token.

AgendamentoClinicaBLL.Pagamento(int, Item_PagamentoServicoModel, DadosToken)

Método público assíncrono que processa pagamentos para serviços específicos em agendamentos de clínica, utilizando o ID do pagamento, modelo do item de pagamento e dados do token.

AgendamentoClinicaV2Controller.Pagamento(int, Item_PagamentoServicoModel)

Endpoint HTTP POST que recebe requisições para processar pagamentos em agendamentos de clínica versão 2, utilizando o ID e o modelo do item de pagamento.

JazigoVendaController.API_FecharVenda(int, FinalizarVenda_Model)

Endpoint HTTP POST para finalizar vendas de jazigos, recebendo o ID e o modelo de finalização da venda.

OrdemServicoController.API_Finalizar(int, FinalizarVenda_Model)

Endpoint HTTP POST para finalizar ordens de serviço, utilizando o ID e o modelo de finalização da venda.

VendaController.API_FecharVenda(int, FinalizarVenda_Model)

Endpoint HTTP POST para fechar vendas, recebendo o ID e o modelo de finalização da venda.

PlanoContratacaoController.API_ConfirmarImpressaoContrato(int)

Endpoint HTTP GET para confirmar a impressão de contratos, utilizando o ID do plano de contratação.

VendaJazigoRepository.Fechamento(int, FinalizarVenda_Model, DadosToken)

Método público assíncrono que realiza o fechamento de vendas de jazigos, utilizando o ID, modelo de finalização da venda e dados do token.

JazigoVendaV2Controller.FecharVenda(int, FinalizarVenda_Model)

Endpoint HTTP POST para fechar vendas de jazigos versão 2, recebendo o ID e o modelo de finalização da venda.

PlanoContratacaoV2Repository.ConfirmarImpressaoContrato(int, DadosToken)

Método público assíncrono que confirma a impressão de contratos para planos de contratação versão 2, utilizando o ID e dados do token.

PlanoContratacaoV2Controller.API_ConfirmarImpressaoContrato(int)

Endpoint HTTP GET para confirmar a impressão de contratos em planos de contratação versão 2, utilizando o ID do plano.

Impacto de Alterações

Alterações no método ComissaoVenda podem afetar diretamente o cálculo das comissões de venda em diversos módulos do sistema, incluindo agendamentos clínicos, vendas de jazigos, ordens de serviço e planos de contratação. Mudanças podem impactar a precisão dos valores de comissão, a criação de registros de comissão e a integração com endpoints que dependem do cálculo correto da comissão.

Propagação de Mudanças

  1. Atualizar métodos dependentes que utilizam ComissaoVenda para refletir mudanças na assinatura ou comportamento.
  2. Revisar endpoints que chamam métodos que dependem de ComissaoVenda para garantir consistência nos dados retornados.
  3. Testar fluxos de pagamento e finalização de vendas que utilizam o cálculo de comissão para evitar regressões.
  4. Atualizar documentação e contratos de API relacionados aos endpoints impactados.
  5. Validar integração com módulos de criação e confirmação de contratos para garantir que alterações não afetem processos de impressão e confirmação.

Requisitos para Alteração Segura

  • Compreensão completa do fluxo de cálculo de comissão e suas dependências.
  • Testes unitários e de integração abrangentes para cobrir todos os cenários de uso.
  • Validação dos valores de comissão gerados após alterações.
  • Comunicação com equipes que utilizam os endpoints impactados para alinhamento de mudanças.
  • Backup e versionamento do código antes da implementação das alterações.