Pular para o conteúdo principal

SetLivroCaixa

atenção

Gerado por Inteligência Artificial.


Visão Geral

O método SetLivroCaixa da classe LivroCaixaBLL é central no processo de controle financeiro. Ele registra um lançamento de caixa, garantindo que o caixa do colaborador esteja aberto, persistindo os dados e gerando notificações.

Seu impacto é crítico em fluxos de pagamento, crédito, TEF, PIX, boletos e outros canais.

BOX3_ERP_API.Core.BLL.LivroCaixaBLL.SetLivroCaixa
public async Task<int> SetLivroCaixa(int colaboradorId, DateTime dataPagamento, LivroCaixa livroCaixa, DadosToken dadosToken)

Dependências Diretas

MétodoDescriçãoLocalizaçãoLinha
AbrirCaixaAutomaticoGarante que o operador de caixa esteja aberto para o colaborador.LivroCaixaOperadorBLL.cs558
DbSet<LivroCaixa>.AddInsere o lançamento de caixa na base de dados.LivroCaixaBLL.cs567
GerarNotificacaoCaixaGera e dispara notificações do lançamento (ex: Telegram).LivroCaixaBLL.cs570

Detalhamento dos Dependentes

AbrirCaixaAutomatico

  • Verificações e criação de entrada em LivroCaixaOperador.
  • Chama:
    • ColaboradorBLL.GetItem(int)
    • ColaboradorCargoBLL.GetItem(int)
    • LivroCaixaOperador.AnyAsync/Where
    • DbContext.SaveChangesAsync

GerarNotificacaoCaixa

  • Responsável por alertas em tempo real.
  • Chama:
    • ConfiguracaoBLL.GetItem(bool)
    • Consulta de PlanoContas, Colaborador, UsuarioNew
    • TelegramAlertaBLL.GerarNotificacao

Chamadores Diretos

MétodoLocalLinha
ConsultarClienteCreditoVenda(int)TefGerenciamentoRepository.cs347
ConsultarPorId(int)FinanceiroTransacoesPixRepository.cs178
Pagamento(...)RecebimentoBLL.cs1345
API_Adicionar(...)ClienteCreditoController.cs826

Detalhamento dos Chamadores

RecebimentoBLL.Pagamento

  • Responsável por processar pagamentos via vários canais: mobile, Pagar.me, links e TEF.

TefGerenciamentoRepository.ConsultarClienteCreditoVenda

  • Usa SetLivroCaixa ao consultar créditos relacionados a uma venda TEF.

FinanceiroTransacoesPixRepository.ConsultarPorId

  • Processamento automático de transações Pix e vinculação a caixa.

ClienteCreditoController.API_Adicionar

  • Criação de novos créditos para clientes.

Impacto de Alterações

Alterar o método SetLivroCaixa afeta diversos processos críticos da aplicação:

  • Fluxos de pagamento (Pix, boleto, links).
  • Registros contábeis no caixa.
  • Processamento automático (via TEF, notificações, APIs).
  • Alertas via Telegram e rastreabilidade.

Impacta os seguintes componentes:

  • Recebimento: falha aqui pode comprometer transações e registros.
  • Financeiro/Pagamento: má sincronização pode causar erro de saldo.
  • TEF/PIX/BOLETO/Efipay: automações baseadas nesse método serão impactadas.
  • Notificações e logs: alertas falharão caso notificações não sejam geradas corretamente.

Propagação de Mudanças

Se você modificar SetLivroCaixa, verifique:

  • Abertura de caixa automática
  • Persistência correta do lançamento
  • Envio de notificações
  • Recebimentos integrados (Pix, boleto, TEF, links)

Se dependências mudarem:

  • Mudanças em AbrirCaixaAutomatico, GerarNotificacaoCaixa ou queries EF afetam o comportamento esperado do método.

Conclusão Técnica

O método SetLivroCaixa é um dos pontos neurálgicos do sistema financeiro do BOX3 ERP. Ele orquestra ações críticas de lançamento e sinalização.

Requisitos para alteração segura:

  • Executar testes automatizados de todos os fluxos financeiros.
  • Validar lógica de abertura de caixa e consistência de banco.
  • Simular cenários com múltiplos canais de entrada (TEF, boleto, Pix).
  • Verificar alertas e logs pós-lançamento.