fix: correção no filtro da presidÊncia
This commit is contained in:
parent
ee95e72119
commit
147501193b
|
|
@ -76,6 +76,8 @@ interface AnaliticoProps {
|
|||
codigoSubgrupo?: string;
|
||||
codigoConta?: string;
|
||||
linhaSelecionada?: string;
|
||||
excluirCentroCusto?: string;
|
||||
excluirCodigoConta?: string;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -368,6 +370,12 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
|||
if (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()}`;
|
||||
console.log('🌐 Fazendo requisição para:', url);
|
||||
|
|
|
|||
|
|
@ -219,6 +219,8 @@ export default function Teste() {
|
|||
codigoSubgrupo: "",
|
||||
codigoConta: "",
|
||||
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 [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 = {
|
||||
dataInicio: dataInicioFiltro,
|
||||
dataFim: dataFimFiltro,
|
||||
|
|
@ -449,6 +471,8 @@ export default function Teste() {
|
|||
codigoSubgrupo,
|
||||
codigoConta: codigoContaFiltro,
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -16,12 +16,18 @@ export async function GET(request: NextRequest) {
|
|||
const codigoGrupo = searchParams.get('codigoGrupo');
|
||||
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:', {
|
||||
dataInicio,
|
||||
dataFim,
|
||||
centroCusto,
|
||||
codigoGrupo,
|
||||
codigoConta
|
||||
codigoConta,
|
||||
excluirCentroCusto,
|
||||
excluirCodigoConta
|
||||
});
|
||||
|
||||
// Construir query SQL com filtros
|
||||
|
|
@ -61,6 +67,22 @@ export async function GET(request: NextRequest) {
|
|||
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`;
|
||||
|
||||
console.log('🗄️ Query SQL final:', sql);
|
||||
|
|
|
|||
Loading…
Reference in New Issue