ajustes de filtros na sintetica passando para analitico
This commit is contained in:
parent
3b9f58b48c
commit
4cb38c0eb9
|
|
@ -119,8 +119,14 @@ export default function Teste() {
|
|||
|
||||
let codigoSubgrupo = '';
|
||||
if (subgrupo) {
|
||||
// Primeiro tenta extrair código numérico (ex: "001.008 - LOJA 8" -> "001.008")
|
||||
const subgrupoMatch = subgrupo.match(/^(\d+(?:\.\d+)+)/);
|
||||
codigoSubgrupo = subgrupoMatch ? subgrupoMatch[1] : '';
|
||||
if (subgrupoMatch) {
|
||||
codigoSubgrupo = subgrupoMatch[1];
|
||||
} else {
|
||||
// Se não tem código numérico, usa a descrição completa (ex: "DESPESAS ADMINISTRATIVAS")
|
||||
codigoSubgrupo = subgrupo;
|
||||
}
|
||||
}
|
||||
|
||||
return { codigoGrupo, codigoSubgrupo };
|
||||
|
|
|
|||
|
|
@ -80,22 +80,20 @@ export async function GET(request: NextRequest) {
|
|||
ffa.created_at,
|
||||
ffa.updated_at
|
||||
FROM fato_financeiro_analitico AS ffa
|
||||
INNER JOIN public.view_dre_gerencial AS dre
|
||||
ON ffa.codigo_conta = dre.codigo_conta::text
|
||||
AND ffa.codigo_centrocusto = dre.centro_custo
|
||||
AND to_char(ffa.data_competencia, 'YYYY-MM') = to_char(dre.data_competencia, 'YYYY-MM')
|
||||
WHERE to_char(ffa.data_competencia, 'YYYY-MM') BETWEEN ${dataInicio} AND ${dataFim}
|
||||
${sql.raw(whereClause)}
|
||||
${
|
||||
codigoGrupo
|
||||
? sql`AND SUBSTRING(dre.grupo FROM '^\\s*(\\d+)\\s*\\.') = ${codigoGrupo}`
|
||||
: sql``
|
||||
}
|
||||
${
|
||||
codigoSubgrupo
|
||||
? sql`AND (SUBSTRING(dre.subgrupo FROM '^\\s*(\\d+(?:\\.\\d+)+)\\s*-') = ${codigoSubgrupo} OR dre.subgrupo ILIKE '%${codigoSubgrupo}%')`
|
||||
: sql``
|
||||
}
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM public.view_dre_gerencial AS dre
|
||||
WHERE ffa.codigo_conta = dre.codigo_conta::text
|
||||
AND ffa.codigo_centrocusto = dre.centro_custo
|
||||
AND to_char(ffa.data_competencia, 'YYYY-MM') = to_char(dre.data_competencia, 'YYYY-MM')
|
||||
AND SUBSTRING(dre.grupo FROM '^\\s*(\\d+)\\s*\\.') = ${codigoGrupo}
|
||||
${sql.raw(
|
||||
codigoSubgrupo
|
||||
? `AND (SUBSTRING(dre.subgrupo FROM '^\\s*(\\d+(?:\\.\\d+)+)\\s*-') = '${codigoSubgrupo}' OR dre.subgrupo ILIKE '%${codigoSubgrupo}%')`
|
||||
: ''
|
||||
)}
|
||||
)
|
||||
AND to_char(ffa.data_competencia, 'YYYY-MM') BETWEEN ${dataInicio} AND ${dataFim}
|
||||
${sql.raw(whereClause)}
|
||||
`;
|
||||
} else {
|
||||
query = sql`
|
||||
|
|
|
|||
Loading…
Reference in New Issue