Skip to content

fix(dfc): remove RECEBIDO_PARCIAL do filtro de status#135

Merged
Warleypablo merged 12 commits intomainfrom
fix/dfc-remove-recebido-parcial
Apr 28, 2026
Merged

fix(dfc): remove RECEBIDO_PARCIAL do filtro de status#135
Warleypablo merged 12 commits intomainfrom
fix/dfc-remove-recebido-parcial

Conversation

@Warleypablo
Copy link
Copy Markdown
Owner

Summary

  • A query getDfc em server/storage.ts incluía parcelas com status RECEBIDO_PARCIAL, inflando o valor da DFC em relação ao relatório do Conta Azul.
  • Em jan/2026 (Turbo Partners), isso adicionava R$ 7.875,08 extras (1 parcela parcial).
  • Todas as outras queries de fluxo de caixa do projeto já usam apenas QUITADO — alinha getDfc com esse padrão.

Test plan

  • DFC de jan/2026 bate com relatório do Conta Azul após o fix
  • Validar outros meses (fev, mar/2026) batem com relatório
  • Conferir que demais módulos (P&L, Realizado x Orçado) seguem inalterados

🤖 Generated with Claude Code

Warleypablo and others added 12 commits April 27, 2026 14:08
Spec aprovado de mudança da página CrossSell Pipeline de card-por-oportunidade
para card-por-cliente, com serviços ativos e oportunidades mapeadas dentro
do mesmo card. Sem mudança de schema — refatoração 100% de apresentação.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Plano em 8 tasks (1 setup + 2 backend + 4 frontend pipeline + 1 dashboard
+ 1 verificacao). Refatoracao 100% de apresentacao, sem mudanca de schema.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…hadas

GET /api/comercial/crosssell agora retorna lista agrupada por cliente,
com servicosAtivos[], oportunidades[] e scoreMaximo para ordenacao.
Modelo de dados nao muda — mudanca apenas de shape da resposta.

Validado:
- 112 clientes retornados, ordenados por scoreMaximo desc
- Filtro etapa=sugerido_sistema retorna os mesmos 112 (toda base atual)
- Filtro etapa=fazer_contato retorna 0 (nao ha nessa etapa ainda)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Endpoint /api/comercial/crosssell/dashboard ganha clientesEmNegociacao
(COUNT DISTINCT cnpj de oportunidades em etapas ativas, excluindo
sugerido_sistema/ganho/descartado) e coberturaBase (% da base com pelo
menos 1 oportunidade aberta).

Validado: clientesEmNegociacao=0, coberturaBase=38.9% na base atual.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Substitui OpCard por ClienteCard (header CX/cluster/status/lifetime/R/P,
  chips de servicos ativos, lista de OportunidadeRow).
- OportunidadeRow: linha compacta com produto, dropdown de etapa, valor
  R em negociacao compacto, comentarios e ganho. Para sugerido_sistema
  mostra acoes Aceitar/Descartar + motivo abaixo.
- Reduz filtros de 6 para 4 (Cluster, CX, Etapa, Produto). Filtros agora
  aplicados no servidor via querystring.
- Adiciona dropdown de ordenacao (Maior potencial / MRR atual / Mais
  recentes / Alfabetico).
- Resumo no rodape passa a contar clientes e oportunidades.
- Dialogs Ganho/Comentarios recebem clienteNome como prop separada.
- Remove DataCell, PRIORIDADE_COLORS/LABELS e imports nao usados
  (Package, Calendar, ChevronDown).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ertura

Adiciona 2 cards de KPI focados em cobertura de cliente (alem dos
KPIs de funil ja existentes). Grid passa de 7 para 9 cards
(lg: 5 colunas, xl: 9 colunas).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Substitui a grid plana por accordion vertical, uma secao por etapa.
Cliente com oportunidades em N etapas aparece em N secoes, cada vez
focado na oportunidade daquela etapa. Backend permanece inalterado
(agrupamento puro de frontend).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 tasks: 1 backend (POST aceita etapa opcional) + 4 frontend (group
helper, EtapaSection, refactor main, NewOpDialog) + 1 verificacao.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Permite criar oportunidade ja em uma etapa especifica via campo
'etapa' no body. Default permanece 'fazer_contato' quando nao
enviado. Habilita o botao "+" do accordion criar oportunidade
diretamente em etapas alem da inicial.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Substitui a grid plana por accordion vertical, uma secao por etapa.
Cliente com oportunidades em N etapas aparece em N secoes, focado
na oportunidade daquela etapa.

- Novo componente EtapaSection com header colapsavel + grid interno.
  Header mostra badge da etapa, contagem e botao + para nova
  oportunidade pre-preenchida com a etapa.
- ClienteCard ganha prop oportunidadesFiltradas? para renderizar
  apenas oportunidades da etapa correspondente.
- groupClientesByEtapa agrupa o array plano em Map<Etapa, ...>.
- 3 primeiras etapas com itens iniciam expandidas; sugerido_sistema
  e descartado iniciam colapsadas.
- NewOpDialog ganha prop etapaInicial? e mostra mensagem
  "Sera criada em: X" quando etapa difere de fazer_contato.
- Sort dropdown passa a ordenar dentro de cada secao.
- Resumo no rodape mostra "X clientes unicos" (clientes nao
  duplicados, mesmo aparecendo em multiplas secoes).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adiciona linha dedicada no card do pipeline com labels CxCs (responsavel
do cliente) e Vendedor (cup_clientes.vendedor), separada dos demais
metadados (cluster, status, lifetime) para melhor legibilidade.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A query getDfc estava incluindo parcelas com status RECEBIDO_PARCIAL,
inflando o valor da DFC em relacao ao relatorio do Conta Azul. Em
jan/2026 Turbo Partners, isso adicionava R$ 7.875,08 extras (1 parcela
parcial). Todas as outras queries de fluxo de caixa do projeto ja usam
apenas QUITADO — alinha o getDfc com esse padrao.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@Warleypablo Warleypablo merged commit 317984c into main Apr 28, 2026
@Warleypablo Warleypablo deleted the fix/dfc-remove-recebido-parcial branch April 28, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant