fix: correção dos parametro do filtro analitico

This commit is contained in:
Alessandro Gonçaalves 2025-10-22 13:55:47 -03:00
parent 75e452312c
commit be89e103c5
2 changed files with 55 additions and 2 deletions

View File

@ -91,6 +91,14 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
console.log('🔄 Analítico - useEffect dos filtros chamado'); console.log('🔄 Analítico - useEffect dos filtros chamado');
console.log('📋 Filtros recebidos via props:', filtros); console.log('📋 Filtros recebidos via props:', filtros);
console.log('📋 Filtros externos atuais:', filtrosExternos); 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); setFiltrosExternos(filtros);
}, [filtros, filtrosExternos]); }, [filtros, filtrosExternos]);
@ -128,6 +136,13 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
const url = `/api/analitico-oracle?${params.toString()}`; const url = `/api/analitico-oracle?${params.toString()}`;
console.log('🌐 Fazendo requisição para:', url); 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); const response = await fetch(url);
if (response.ok) { if (response.ok) {

View File

@ -378,17 +378,53 @@ export default function Teste() {
const dataInicioFiltro = mesSelecionado || dataInicioStr; const dataInicioFiltro = mesSelecionado || dataInicioStr;
const dataFimFiltro = mesSelecionado || dataFimStr; 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 = { const novosFiltros = {
dataInicio: dataInicioFiltro, dataInicio: dataInicioFiltro,
dataFim: dataFimFiltro, dataFim: dataFimFiltro,
centroCusto: row.codigo_centro_custo || "", // ✅ Usar código do centro de custo centroCusto: centroCustoFiltro,
codigoGrupo, codigoGrupo,
codigoSubgrupo, codigoSubgrupo,
codigoConta: row.codigo_conta?.toString() || "", codigoConta: codigoContaFiltro,
linhaSelecionada: row.grupo || row.subgrupo || row.centro_custo || row.conta || "", // Incluir informação da linha selecionada 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('🎯 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); setAnaliticoFiltros(novosFiltros);
}; };
@ -822,6 +858,7 @@ export default function Teste() {
grupo, grupo,
centro_custo: centro, centro_custo: centro,
conta, conta,
codigo_conta: contaItems[0].codigo_conta, // ✅ Adicionar código da conta
codigo_centro_custo: centroItems[0].codigo_centro_custo, codigo_centro_custo: centroItems[0].codigo_centro_custo,
total: totalCentro, total: totalCentro,
valoresPorMes: valoresCentroPorMes, valoresPorMes: valoresCentroPorMes,
@ -873,6 +910,7 @@ export default function Teste() {
level: 1, level: 1,
grupo, grupo,
centro_custo: centro, centro_custo: centro,
codigo_conta: centroItems[0].codigo_conta, // ✅ Adicionar código da conta
codigo_centro_custo: centroItems[0].codigo_centro_custo, codigo_centro_custo: centroItems[0].codigo_centro_custo,
total: totalCentro, total: totalCentro,
isExpanded: expandedCentros.has(`${grupo}-${centro}`), isExpanded: expandedCentros.has(`${grupo}-${centro}`),