fix: filtro analitico pelo SUBGRUPO (DIRETO / INDIRETO / SEM CC)
This commit is contained in:
parent
5234066d98
commit
5c97a7911e
|
|
@ -14,6 +14,7 @@ export async function GET(request: NextRequest) {
|
||||||
const dataFim = searchParams.get('dataFim');
|
const dataFim = searchParams.get('dataFim');
|
||||||
const centroCusto = searchParams.get('centroCusto');
|
const centroCusto = searchParams.get('centroCusto');
|
||||||
const codigoGrupo = searchParams.get('codigoGrupo');
|
const codigoGrupo = searchParams.get('codigoGrupo');
|
||||||
|
const codigoSubgrupo = searchParams.get('codigoSubgrupo');
|
||||||
const codigoConta = searchParams.get('codigoConta');
|
const codigoConta = searchParams.get('codigoConta');
|
||||||
|
|
||||||
// Parâmetros para exclusão de valores específicos
|
// Parâmetros para exclusão de valores específicos
|
||||||
|
|
@ -29,6 +30,7 @@ export async function GET(request: NextRequest) {
|
||||||
dataFim,
|
dataFim,
|
||||||
centroCusto,
|
centroCusto,
|
||||||
codigoGrupo,
|
codigoGrupo,
|
||||||
|
codigoSubgrupo,
|
||||||
codigoConta,
|
codigoConta,
|
||||||
excluirCentroCusto,
|
excluirCentroCusto,
|
||||||
excluirCodigoConta,
|
excluirCodigoConta,
|
||||||
|
|
@ -57,6 +59,14 @@ export async function GET(request: NextRequest) {
|
||||||
console.log('📊 Adicionando filtro de grupo:', codigoGrupo);
|
console.log('📊 Adicionando filtro de grupo:', codigoGrupo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Filtro por subgrupo (DIRETO, INDIRETO, SEM CC, etc.)
|
||||||
|
if (codigoSubgrupo) {
|
||||||
|
sql += ` AND SUBGRUPO = :${paramIndex}`;
|
||||||
|
params.push(codigoSubgrupo);
|
||||||
|
paramIndex++;
|
||||||
|
console.log('📊 Adicionando filtro de subgrupo:', codigoSubgrupo);
|
||||||
|
}
|
||||||
|
|
||||||
// Filtro por código da conta
|
// Filtro por código da conta
|
||||||
if (codigoConta) {
|
if (codigoConta) {
|
||||||
sql += ` AND CODCONTA = :${paramIndex}`;
|
sql += ` AND CODCONTA = :${paramIndex}`;
|
||||||
|
|
|
||||||
|
|
@ -388,6 +388,9 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
||||||
if (filtrosExternos.codigoGrupo) {
|
if (filtrosExternos.codigoGrupo) {
|
||||||
params.append('codigoGrupo', filtrosExternos.codigoGrupo);
|
params.append('codigoGrupo', filtrosExternos.codigoGrupo);
|
||||||
}
|
}
|
||||||
|
if (filtrosExternos.codigoSubgrupo) {
|
||||||
|
params.append('codigoSubgrupo', filtrosExternos.codigoSubgrupo);
|
||||||
|
}
|
||||||
if (filtrosExternos.codigoConta) {
|
if (filtrosExternos.codigoConta) {
|
||||||
params.append('codigoConta', filtrosExternos.codigoConta);
|
params.append('codigoConta', filtrosExternos.codigoConta);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -492,8 +492,23 @@ export default function Teste() {
|
||||||
entidadeFiltro = row.entidade || "";
|
entidadeFiltro = row.entidade || "";
|
||||||
|
|
||||||
// Filtrar por direto/indireto se disponível
|
// Filtrar por direto/indireto se disponível
|
||||||
|
// Quando clicar em uma célula de valor de uma linha "direto_indireto" (DIRETO, INDIRETO ou SEM CC),
|
||||||
|
// adicionar o SUBGRUPO como filtro adicional
|
||||||
diretoIndiretoFiltro = row.direto_indireto || "";
|
diretoIndiretoFiltro = row.direto_indireto || "";
|
||||||
|
|
||||||
|
// Verificar se a linha é do tipo "direto_indireto" e se a entidade pai está expandida (drill aberto)
|
||||||
|
// Se sim, usar o direto_indireto como codigoSubgrupo no filtro
|
||||||
|
let codigoSubgrupoFiltro = "";
|
||||||
|
if (row.type === "direto_indireto" && row.direto_indireto) {
|
||||||
|
// Verificar se a entidade pai está expandida
|
||||||
|
const entidadePaiExpandida = expandedEntidades.has(row.entidade || "");
|
||||||
|
if (entidadePaiExpandida) {
|
||||||
|
// Usar o direto_indireto (DIRETO, INDIRETO ou SEM CC) como filtro de subgrupo
|
||||||
|
codigoSubgrupoFiltro = row.direto_indireto;
|
||||||
|
console.log('📊 Drill aberto - Adicionando filtro de subgrupo:', codigoSubgrupoFiltro);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Buscar CODGRUPO dos dados originais baseado na hierarquia selecionada
|
// Buscar CODGRUPO dos dados originais baseado na hierarquia selecionada
|
||||||
// Quando clicar em qualquer nível (entidade, direto/indireto, centro de custo ou conta), deve filtrar por CODGRUPO
|
// Quando clicar em qualquer nível (entidade, direto/indireto, centro de custo ou conta), deve filtrar por CODGRUPO
|
||||||
if (row.type === "entidade" || row.type === "direto_indireto" || row.type === "centro_custo" || row.type === "conta") {
|
if (row.type === "entidade" || row.type === "direto_indireto" || row.type === "centro_custo" || row.type === "conta") {
|
||||||
|
|
@ -637,7 +652,7 @@ export default function Teste() {
|
||||||
dataFim: dataFimFiltro,
|
dataFim: dataFimFiltro,
|
||||||
centroCusto: centroCustoFiltro,
|
centroCusto: centroCustoFiltro,
|
||||||
codigoGrupo: codigoGrupoFiltro, // CODGRUPO da entidade/linha selecionada
|
codigoGrupo: codigoGrupoFiltro, // CODGRUPO da entidade/linha selecionada
|
||||||
codigoSubgrupo: diretoIndiretoFiltro, // Usar direto/indireto como subgrupo
|
codigoSubgrupo: codigoSubgrupoFiltro || diretoIndiretoFiltro, // SUBGRUPO quando drill aberto (DIRETO, INDIRETO ou SEM CC)
|
||||||
codigoConta: codigoContaFiltro,
|
codigoConta: codigoContaFiltro,
|
||||||
linhaSelecionada: row.entidade || row.direto_indireto || row.centro_custo || row.conta || "",
|
linhaSelecionada: row.entidade || row.direto_indireto || row.centro_custo || row.conta || "",
|
||||||
excluirCentroCusto,
|
excluirCentroCusto,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue