fix: correção no filtro da presidÊncia

This commit is contained in:
Alessandro Gonçaalves 2025-10-23 16:57:20 -03:00
parent ee95e72119
commit 147501193b
3 changed files with 55 additions and 1 deletions

View File

@ -76,6 +76,8 @@ interface AnaliticoProps {
codigoSubgrupo?: string; codigoSubgrupo?: string;
codigoConta?: string; codigoConta?: string;
linhaSelecionada?: string; linhaSelecionada?: string;
excluirCentroCusto?: string;
excluirCodigoConta?: string;
}; };
} }
@ -368,6 +370,12 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
if (filtrosExternos.codigoConta) { if (filtrosExternos.codigoConta) {
params.append('codigoConta', filtrosExternos.codigoConta); params.append('codigoConta', filtrosExternos.codigoConta);
} }
if (filtrosExternos.excluirCentroCusto) {
params.append('excluirCentroCusto', filtrosExternos.excluirCentroCusto);
}
if (filtrosExternos.excluirCodigoConta) {
params.append('excluirCodigoConta', filtrosExternos.excluirCodigoConta);
}
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);

View File

@ -219,6 +219,8 @@ export default function Teste() {
codigoSubgrupo: "", codigoSubgrupo: "",
codigoConta: "", codigoConta: "",
linhaSelecionada: "", // Adicionar informação da linha selecionada linhaSelecionada: "", // Adicionar informação da linha selecionada
excluirCentroCusto: "", // Para excluir centro de custo específico quando desmarcado
excluirCodigoConta: "", // Para excluir código de conta específico quando desmarcado
}); });
const [linhaSelecionada, setLinhaSelecionada] = useState<string | null>(null); const [linhaSelecionada, setLinhaSelecionada] = useState<string | null>(null);
const [isAllExpanded, setIsAllExpanded] = useState(false); const [isAllExpanded, setIsAllExpanded] = useState(false);
@ -441,6 +443,26 @@ export default function Teste() {
} }
}); });
// Determinar exclusões baseado nos filtros aplicados
let excluirCentroCusto = "";
let excluirCodigoConta = "";
// Se o centro de custo "002.003.017" não está selecionado, excluir da consulta
if (!centrosCustoSelecionados.some(centro => {
const item = data.find((d: DREItem) => d.centro_custo === centro);
return item?.codigo_centro_custo === "002.003.017";
})) {
excluirCentroCusto = "002.003.017";
}
// Se a conta "100050" não está selecionada, excluir da consulta
if (!contasSelecionadas.some(conta => {
const item = data.find((d: DREItem) => d.conta === conta);
return item?.codigo_conta?.toString() === "100050";
})) {
excluirCodigoConta = "100050";
}
const novosFiltros = { const novosFiltros = {
dataInicio: dataInicioFiltro, dataInicio: dataInicioFiltro,
dataFim: dataFimFiltro, dataFim: dataFimFiltro,
@ -449,6 +471,8 @@ export default function Teste() {
codigoSubgrupo, codigoSubgrupo,
codigoConta: codigoContaFiltro, 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
excluirCentroCusto,
excluirCodigoConta,
}; };
console.log('🎯 Novos filtros para analítico:', novosFiltros); console.log('🎯 Novos filtros para analítico:', novosFiltros);

View File

@ -16,12 +16,18 @@ export async function GET(request: NextRequest) {
const codigoGrupo = searchParams.get('codigoGrupo'); const codigoGrupo = searchParams.get('codigoGrupo');
const codigoConta = searchParams.get('codigoConta'); const codigoConta = searchParams.get('codigoConta');
// Parâmetros para exclusão de valores específicos
const excluirCentroCusto = searchParams.get('excluirCentroCusto');
const excluirCodigoConta = searchParams.get('excluirCodigoConta');
console.log('🎯 Filtros recebidos:', { console.log('🎯 Filtros recebidos:', {
dataInicio, dataInicio,
dataFim, dataFim,
centroCusto, centroCusto,
codigoGrupo, codigoGrupo,
codigoConta codigoConta,
excluirCentroCusto,
excluirCodigoConta
}); });
// Construir query SQL com filtros // Construir query SQL com filtros
@ -61,6 +67,22 @@ export async function GET(request: NextRequest) {
console.log('💰 Adicionando filtro de conta:', codigoConta); console.log('💰 Adicionando filtro de conta:', codigoConta);
} }
// Exclusão de centro de custo específico (quando desmarcado)
if (excluirCentroCusto) {
sql += ` AND CODIGOCENTROCUSTO != :${paramIndex}`;
params.push(excluirCentroCusto);
paramIndex++;
console.log('🚫 Excluindo centro de custo:', excluirCentroCusto);
}
// Exclusão de código de conta específico (quando desmarcado)
if (excluirCodigoConta) {
sql += ` AND CODCONTA != :${paramIndex}`;
params.push(excluirCodigoConta);
paramIndex++;
console.log('🚫 Excluindo código de conta:', excluirCodigoConta);
}
sql += ` ORDER BY DTVENC, CODFORNEC, CODCONTA`; sql += ` ORDER BY DTVENC, CODFORNEC, CODCONTA`;
console.log('🗄️ Query SQL final:', sql); console.log('🗄️ Query SQL final:', sql);