ComissaoVenda
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.
private async Task\<decimal\> ComissaoVenda(int contratoId, DadosToken dadosToken, Configuracao config, List\<Recebimento\> recebimentos = null) {...}
Dependências Diretas
| Método | Localização | Linha |
|---|---|---|
| ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 0 |
| Calculadora.Truncar(decimal) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 300 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 325 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 338 |
| CriarComissaoDoMesColaboradorOtica(int, DadosToken) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 341 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 370 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 392 |
Referências
| Método / Endpoint | Localização | Linha |
|---|---|---|
| ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 0 |
| ComissaoVendaGeral(int, DadosToken) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 44 |
| AgendamentoClinicaBLL.Pagamento(int, FinalizarVenda_Model, DadosToken) | BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs | 2264 |
| AgendamentoClinicaBLL.Pagamento(int, Item_PagamentoServicoModel, DadosToken) | BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs | 7054 |
| AgendamentoClinicaV2Controller.Pagamento(int, Item_PagamentoServicoModel) | BOX3_ERP_API.Controllers.AgendamentoClinicaV2Controller.cs | 265 |
| JazigoVendaController.API_FecharVenda(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.JazigoVendaController.cs | 898 |
| OrdemServicoController.API_Finalizar(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.OrdemServicoController.cs | 3752 |
| VendaController.API_FecharVenda(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.VendaController.cs | 2914 |
| PlanoContratacaoController.API_ConfirmarImpressaoContrato(int) | BOX3_ERP_API.Controllers.PlanoContratacaoController.cs | 1034 |
| VendaJazigoRepository.Fechamento(int, FinalizarVenda_Model, DadosToken) | BOX3_ERP_API.Core.Repositories.Implementations.VendaJazigoRepository.cs | 893 |
| JazigoVendaV2Controller.FecharVenda(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.JazigoVendaV2Controller.cs | 236 |
| PlanoContratacaoV2Repository.ConfirmarImpressaoContrato(int, DadosToken) | BOX3_ERP_API.Core.Repositories.Implementations.PlanoContratacaoV2Repository.cs | 2842 |
| PlanoContratacaoV2Controller.API_ConfirmarImpressaoContrato(int) | BOX3_ERP_API.Controllers.PlanoContratacaoV2Controller.cs | 323 |
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
- Atualizar métodos dependentes que utilizam ComissaoVenda para refletir mudanças na assinatura ou comportamento.
- Revisar endpoints que chamam métodos que dependem de ComissaoVenda para garantir consistência nos dados retornados.
- Testar fluxos de pagamento e finalização de vendas que utilizam o cálculo de comissão para evitar regressões.
- Atualizar documentação e contratos de API relacionados aos endpoints impactados.
- 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.