From 47f2d08b9bf612a69a7f2b3160c8a1122b000261 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Sousa Martins" Date: Wed, 16 Jul 2025 16:53:59 -0300 Subject: [PATCH] calculo: fix pensaoalimenticia Signed-off-by: Rodrigo B. de Sousa Martins --- .../calculos/DetalhePensaoAlimenticia.tsx | 23 ++++++++++++------- src/server/index.ts | 4 ++-- src/server/routes/pensaoAlimenticia.ts | 6 +++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/components/calculos/DetalhePensaoAlimenticia.tsx b/src/components/calculos/DetalhePensaoAlimenticia.tsx index eb56422..3cc8084 100644 --- a/src/components/calculos/DetalhePensaoAlimenticia.tsx +++ b/src/components/calculos/DetalhePensaoAlimenticia.tsx @@ -32,23 +32,30 @@ export function DetalhePensaoAlimenticia() { const [loading, setLoading] = useState(true); useEffect(() => { - if (id === "novo") { + // Verificação extra para garantir que o id está definido + if (!id || id === "novo") { setLoading(false); setCalculo(null); return; } const loadCalculo = async () => { try { - // Corrigir endpoint para buscar cálculo de pensão alimentícia + console.log('[DetalhePensaoAlimenticia] Buscando cálculo para id:', id); const response = await api.get(`/api/calculos/pensao-alimenticia/${id}`); setCalculo(response.data); } catch (error: any) { - // Tratamento de erro robusto e mensagem amigável - console.error('Erro ao carregar cálculo:', error); - toast.error( - error?.response?.data?.message || - 'Falha ao buscar cálculo de pensão alimentícia.' - ); + // Log detalhado para depuração + console.error('[DetalhePensaoAlimenticia] Erro ao carregar cálculo:', error); + + // Tratamento específico para erro 404 (cálculo não encontrado) + if (error?.response?.status === 404) { + toast.warn('Cálculo de pensão alimentícia não encontrado.'); + } else { + toast.error( + error?.response?.data?.message || + 'Falha ao buscar cálculo de pensão alimentícia.' + ); + } setCalculo(null); } finally { setLoading(false); diff --git a/src/server/index.ts b/src/server/index.ts index fe4f40d..47eaa00 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -24,7 +24,7 @@ import processosAdministrativosRoutes from './routes/processosAdministrativos'; import provasRouter from './routes/provas'; import calculosJudiciaisRoutes from './routes/calculosJudiciais'; import indicesMonetariosRoutes from './routes/indicesMonetarios'; -import pensaoAlimenticiaRoutes from './routes/pensaoAlimenticia'; +import pensaoAlimenticiaRouter from './routes/pensaoAlimenticia'; import financeiroPainelRoutes from './routes/financeiroPainel'; // Importar rotas do financeiro painel import audienciasRoutes from './routes/audiencias'; // Importar rotas de audiências @@ -1479,6 +1479,6 @@ app.use('/api/documentos-modelos', documentosModelosRouter); app.use('/api/processos-administrativos', processosAdministrativosRoutes); app.use('/api/calculos', calculosJudiciaisRoutes); app.use('/api/indices', indicesMonetariosRoutes); -app.use('/api/pensao-alimenticia', pensaoAlimenticiaRoutes); +app.use('/api/pensao-alimenticia', pensaoAlimenticiaRouter); app.use('/api/financeiro-painel', financeiroPainelRoutes); // Adicionar uso das rotas do financeiro painel app.use('/api/audiencias', audienciasRoutes); // Adicionar uso das rotas de audiências \ No newline at end of file diff --git a/src/server/routes/pensaoAlimenticia.ts b/src/server/routes/pensaoAlimenticia.ts index 828c24f..5bb1e92 100644 --- a/src/server/routes/pensaoAlimenticia.ts +++ b/src/server/routes/pensaoAlimenticia.ts @@ -55,6 +55,7 @@ router.post('/', async (req, res) => { router.get('/:id', async (req, res) => { try { const { id } = req.params; + console.log('[pensaoAlimenticia] Buscando cálculo por ID:', id); // Log para depuração const calculo = await prisma.calculoPensaoAlimenticia.findUnique({ where: { id }, include: { @@ -70,12 +71,13 @@ router.get('/:id', async (req, res) => { } }); if (!calculo) { + console.warn('[pensaoAlimenticia] Cálculo não encontrado para ID:', id); // Log para depuração return res.status(404).json({ error: 'Cálculo não encontrado' }); } res.json(calculo); } catch (error) { - console.error('Erro ao buscar cálculo:', error); - res.status(500).json({ error: 'Falha ao buscar cálculo' }); + console.error('[pensaoAlimenticia] Erro ao buscar cálculo:', error); + res.status(500).json({ error: 'Falha ao buscar cálculo', details: error.message }); } });