feat: integração da consulta sintetica com a aplicação
This commit is contained in:
parent
5acdff6dd2
commit
a1d22d3ac6
|
|
@ -62,7 +62,7 @@ export default function Teste() {
|
|||
try {
|
||||
setLoading(true);
|
||||
setError(null);
|
||||
const response = await fetch("/api/dre");
|
||||
const response = await fetch("/api/dre-oracle");
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erro ao carregar dados: ${response.status}`);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
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 }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
import type { Metadata } from 'next';
|
||||
import { Geist, Geist_Mono } from 'next/font/google';
|
||||
import { Inter, JetBrains_Mono } from 'next/font/google';
|
||||
import './globals.css';
|
||||
|
||||
const geistSans = Geist({
|
||||
variable: '--font-geist-sans',
|
||||
const inter = Inter({
|
||||
variable: '--font-inter',
|
||||
subsets: ['latin'],
|
||||
});
|
||||
|
||||
const geistMono = Geist_Mono({
|
||||
variable: '--font-geist-mono',
|
||||
const jetbrainsMono = JetBrains_Mono({
|
||||
variable: '--font-jetbrains-mono',
|
||||
subsets: ['latin'],
|
||||
});
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ export default function RootLayout({
|
|||
return (
|
||||
<html lang="pt-BR">
|
||||
<body
|
||||
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
||||
className={`${inter.variable} ${jetbrainsMono.variable} antialiased`}
|
||||
>
|
||||
{children}
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Reference in New Issue