fix: ajuste no filtro de centro de custo
This commit is contained in:
parent
4be3965fea
commit
df741a287d
|
|
@ -1207,6 +1207,7 @@ export default function Teste() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filtro por centro de custo (multi-seleção) - USAR APENAS CÓDIGO
|
// Filtro por centro de custo (multi-seleção) - USAR APENAS CÓDIGO
|
||||||
|
// IMPORTANTE: Preservar grupos calculados (isCalculado ou centro_custo === "CALCULADO")
|
||||||
if (centrosCustoSelecionados.length > 0) {
|
if (centrosCustoSelecionados.length > 0) {
|
||||||
// Criar conjunto de códigos esperados dos centros selecionados - APENAS CÓDIGOS
|
// Criar conjunto de códigos esperados dos centros selecionados - APENAS CÓDIGOS
|
||||||
const codigosEsperados = new Set<string>();
|
const codigosEsperados = new Set<string>();
|
||||||
|
|
@ -1226,7 +1227,14 @@ export default function Teste() {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Filtrar APENAS pelo código do centro de custo, ignorando o nome
|
// Filtrar APENAS pelo código do centro de custo, ignorando o nome
|
||||||
|
// MAS preservar grupos calculados
|
||||||
dadosFiltrados = dadosFiltrados.filter((item: DREItem) => {
|
dadosFiltrados = dadosFiltrados.filter((item: DREItem) => {
|
||||||
|
// Preservar grupos calculados (têm centro_custo === "CALCULADO" ou isCalculado === true)
|
||||||
|
if (item.centro_custo === "CALCULADO" || item.isCalculado === true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Para outros itens, verificar pelo código
|
||||||
if (!item.codigo_centro_custo) {
|
if (!item.codigo_centro_custo) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -1238,15 +1246,22 @@ export default function Teste() {
|
||||||
codigosEsperados: Array.from(codigosEsperados),
|
codigosEsperados: Array.from(codigosEsperados),
|
||||||
totalFiltrado: dadosFiltrados.length,
|
totalFiltrado: dadosFiltrados.length,
|
||||||
centrosEncontrados: [...new Set(dadosFiltrados.map((d: DREItem) => d.centro_custo))],
|
centrosEncontrados: [...new Set(dadosFiltrados.map((d: DREItem) => d.centro_custo))],
|
||||||
codigosEncontrados: [...new Set(dadosFiltrados.map((d: DREItem) => d.codigo_centro_custo).filter(Boolean))]
|
codigosEncontrados: [...new Set(dadosFiltrados.map((d: DREItem) => d.codigo_centro_custo).filter(Boolean))],
|
||||||
|
gruposCalculados: dadosFiltrados.filter((d: DREItem) => d.centro_custo === "CALCULADO" || d.isCalculado === true).length
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filtro por conta (multi-seleção)
|
// Filtro por conta (multi-seleção)
|
||||||
|
// IMPORTANTE: Preservar grupos calculados (isCalculado ou centro_custo === "CALCULADO")
|
||||||
if (contasSelecionadas.length > 0) {
|
if (contasSelecionadas.length > 0) {
|
||||||
dadosFiltrados = dadosFiltrados.filter((item: DREItem) =>
|
dadosFiltrados = dadosFiltrados.filter((item: DREItem) => {
|
||||||
contasSelecionadas.includes(item.conta)
|
// Preservar grupos calculados
|
||||||
);
|
if (item.centro_custo === "CALCULADO" || item.isCalculado === true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// Para outros itens, verificar se a conta está selecionada
|
||||||
|
return contasSelecionadas.includes(item.conta);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filtro por valor mínimo
|
// Filtro por valor mínimo
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue