vendaweb-api/src/app/api/dre-oracle/route.ts

43 lines
1.6 KiB
TypeScript
Raw Normal View History

import { NextRequest, NextResponse } from 'next/server';
import { executeOracleQuery } from '@/db/oracle';
export async function GET(request: NextRequest) {
try {
console.log('🔄 Buscando dados DRE do Oracle...');
// Query para buscar dados da tabela DRE_RESULTADO
const sql = `SELECT * FROM DRE_RESULTADO ORDER BY CODGRUPO, CODCONTA, CODCENTROCUSTO`;
const data = await executeOracleQuery(sql);
console.log('✅ Query executada com sucesso:', data.length, 'registros encontrados');
// Transformar os dados do Oracle para o formato esperado pelo componente
const transformedData = data.map((item: any) => ({
codfilial: "001", // Valor padrão
data_competencia: item.DATA || "2023-03", // Usar DATA do Oracle
data_cai: item.DATA || "2023-03", // Usar DATA do Oracle
grupo: item.GRUPO || "", // Usar GRUPO do Oracle
subgrupo: item.CENTROCUSTO || "", // Usar CENTROCUSTO como subgrupo
centro_custo: item.CODIGOCENTROCUSTO || "", // Usar CODIGOCENTROCUSTO
codigo_conta: parseInt(item.CODCONTA) || 0, // Converter CODCONTA para número
conta: item.CONTA || "", // Usar CONTA do Oracle
valor: item.VALOR?.toString() || "0", // Converter VALOR para string
}));
return NextResponse.json(transformedData);
} catch (error) {
console.error('❌ Erro ao buscar dados DRE do Oracle:', error);
return NextResponse.json(
{
success: false,
error: error instanceof Error ? error.message : 'Erro desconhecido',
details: error instanceof Error ? error.stack : undefined
},
{ status: 500 }
);
}
}