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/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 }); } });