ComissaoVendaGeral
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.
public async Task<bool> ComissaoVendaGeral(int contratoId, DadosToken dadosToken)
Dependências Diretas
| Método | Localização | Linha |
|---|---|---|
| ComissaoVendaGeral(int, DadosToken) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 0 |
| GetItem(bool) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 32 |
| ComissaoOrdemServico(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 42 |
| Total(int) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 146 |
| CalculoServicoEpoca(int) | BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs | 207 |
| CalculoProdutoEpoca(int) | BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs | 208 |
| Truncar(decimal) | BOX3_ERP_API.Core.BLL.OrdemServicoBLL.cs | 210 |
| CriarComissao(Comissao, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 73, 176, 192, 206, 230, 251, 272 |
| GetPreco(int) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 180, 235 |
| EquipeDoDia(DateTime, int) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 210 |
| ComissaoVenda(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 44 |
| ComissaoJazigoVenda(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 46 |
| ComissaoPlano(int, DadosToken, Configuracao, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 48 |
| ComissaoClinica(int, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 50 |
| ComissaoGerenteGeral(decimal, int, string, DadosToken, List<Recebimento>) | BOX3_ERP_API.Core.BLL.ComissaoBLL.cs | 55 |
Referências
| Método / Endpoint | Localização | Linha |
|---|---|---|
| Pagamento(int, FinalizarVenda_Model, DadosToken) | BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs | 2264 |
| Pagamento(int, Item_PagamentoServicoModel, DadosToken) | BOX3_ERP_API.BLL.Clinica.BLL.AgendamentoClinicaBLL.cs | 7054 |
| API_ConfirmarImpressaoContrato(int) | BOX3_ERP_API.Controllers.PlanoContratacaoController.cs | 1034 |
| API_FecharVenda(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.JazigoVendaController.cs | 898 |
| API_Finalizar(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.OrdemServicoController.cs | 3752 |
| API_FecharVenda(int, FinalizarVenda_Model) | BOX3_ERP_API.Controllers.VendaController.cs | 2914 |
| ConfirmarImpressaoContrato(int, DadosToken) | BOX3_ERP_API.Core.Repositories.Implementations.PlanoContratacaoV2Repository.cs | 2842 |
| Fechamento(int, FinalizarVenda_Model, DadosToken) | BOX3_ERP_API.Core.Repositories.Implementations.VendaJazigoRepository.cs | 893 |
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
- Ajustes em métodos de cálculo de comissão específicos (ex: ComissaoOrdemServico, ComissaoVenda).
- Atualização dos métodos de criação de comissão (CriarComissao).
- Revisão dos métodos utilitários como Truncar para garantir consistência nos valores.
- Testes e validações nos controladores que invocam este método, como AgendamentoClinicaBLL, JazigoVendaController, OrdemServicoController, VendaController.
- 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.