diff --git a/src/app/DRE/analitico.tsx b/src/app/DRE/analitico.tsx index 716c3c1..28595ad 100644 --- a/src/app/DRE/analitico.tsx +++ b/src/app/DRE/analitico.tsx @@ -91,6 +91,14 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { console.log('🔄 Analítico - useEffect dos filtros chamado'); console.log('📋 Filtros recebidos via props:', filtros); console.log('📋 Filtros externos atuais:', filtrosExternos); + console.log('🔍 Detalhes dos filtros:', { + dataInicio: filtros.dataInicio, + dataFim: filtros.dataFim, + centroCusto: filtros.centroCusto, + codigoGrupo: filtros.codigoGrupo, + codigoConta: filtros.codigoConta, + linhaSelecionada: filtros.linhaSelecionada + }); setFiltrosExternos(filtros); }, [filtros, filtrosExternos]); @@ -128,6 +136,13 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { const url = `/api/analitico-oracle?${params.toString()}`; console.log('🌐 Fazendo requisição para:', url); + console.log('📋 Parâmetros enviados:', { + dataInicio: filtrosExternos.dataInicio, + dataFim: filtrosExternos.dataFim, + centroCusto: filtrosExternos.centroCusto, + codigoGrupo: filtrosExternos.codigoGrupo, + codigoConta: filtrosExternos.codigoConta + }); const response = await fetch(url); if (response.ok) { diff --git a/src/app/DRE/teste.tsx b/src/app/DRE/teste.tsx index ceb74be..bebffb2 100644 --- a/src/app/DRE/teste.tsx +++ b/src/app/DRE/teste.tsx @@ -378,17 +378,53 @@ export default function Teste() { const dataInicioFiltro = mesSelecionado || dataInicioStr; const dataFimFiltro = mesSelecionado || dataFimStr; + // Determinar filtros baseado na ordem hierárquica e tipo da linha + let centroCustoFiltro = ""; + let codigoContaFiltro = ""; + + if (ordemHierarquiaContasPrimeiro) { + // Ordem: Contas → Centros de Custo + // SEMPRE filtrar por código da conta, independente do tipo da linha + codigoContaFiltro = row.codigo_conta?.toString() || ""; + // Se for centro de custo, também filtrar por código do centro de custo + centroCustoFiltro = row.type === "centro_custo" ? (row.codigo_centro_custo || "") : ""; + } else { + // Ordem: Centros de Custo → Contas + // SEMPRE filtrar por código do centro de custo, independente do tipo da linha + centroCustoFiltro = row.codigo_centro_custo || ""; + codigoContaFiltro = ""; // Nunca filtrar por conta nesta ordem + } + + console.log('🎯 Filtros determinados:', { + centroCustoFiltro, + codigoContaFiltro, + ordemHierarquia: ordemHierarquiaContasPrimeiro ? 'Contas→Centros' : 'Centros→Contas', + tipoLinha: row.type, + rowData: { + codigo_conta: row.codigo_conta, + codigo_centro_custo: row.codigo_centro_custo, + centro_custo: row.centro_custo, + conta: row.conta + } + }); + const novosFiltros = { dataInicio: dataInicioFiltro, dataFim: dataFimFiltro, - centroCusto: row.codigo_centro_custo || "", // ✅ Usar código do centro de custo + centroCusto: centroCustoFiltro, codigoGrupo, codigoSubgrupo, - codigoConta: row.codigo_conta?.toString() || "", + codigoConta: codigoContaFiltro, linhaSelecionada: row.grupo || row.subgrupo || row.centro_custo || row.conta || "", // Incluir informação da linha selecionada }; console.log('🎯 Novos filtros para analítico:', novosFiltros); + console.log('🔍 Verificação final dos filtros:', { + centroCusto: novosFiltros.centroCusto, + codigoConta: novosFiltros.codigoConta, + codigoContaType: typeof novosFiltros.codigoConta, + codigoContaLength: novosFiltros.codigoConta?.length + }); setAnaliticoFiltros(novosFiltros); }; @@ -822,6 +858,7 @@ export default function Teste() { grupo, centro_custo: centro, conta, + codigo_conta: contaItems[0].codigo_conta, // ✅ Adicionar código da conta codigo_centro_custo: centroItems[0].codigo_centro_custo, total: totalCentro, valoresPorMes: valoresCentroPorMes, @@ -873,6 +910,7 @@ export default function Teste() { level: 1, grupo, centro_custo: centro, + codigo_conta: centroItems[0].codigo_conta, // ✅ Adicionar código da conta codigo_centro_custo: centroItems[0].codigo_centro_custo, total: totalCentro, isExpanded: expandedCentros.has(`${grupo}-${centro}`),