From 14d3d7c17f8c31c3caf92a77babb8c7b57e8d580 Mon Sep 17 00:00:00 2001 From: Sidney Date: Sun, 7 Jun 2026 15:38:14 -0300 Subject: [PATCH] fix(financeiro): forca download de recibo pdf local ao inves da url do asaas --- manager/components/Finance.tsx | 13 +++++++++++++ manager/components/Students.tsx | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/manager/components/Finance.tsx b/manager/components/Finance.tsx index 302e088..08671a7 100644 --- a/manager/components/Finance.tsx +++ b/manager/components/Finance.tsx @@ -62,6 +62,19 @@ const Finance: React.FC = ({ data, updateData }) => { const handleOpenPaymentLink = async (id: string, type: 'boleto' | 'recibo' | 'carne') => { try { + if (type === 'recibo') { + const fullPayment = currentPayments.find(p => p.asaasPaymentId === id || p.id === id); + if (fullPayment) { + const student = data.students.find(s => s.id === fullPayment.studentId); + if (student) { + await pdfService.generatePaymentReceiptPDF(fullPayment, student, data); + return; + } + } + showAlert('Erro', 'Não foi possível encontrar os dados da parcela para gerar o recibo.', 'error'); + return; + } + showAlert('Aguarde', `Buscando ${type}...`, 'info'); if (type === 'carne') { diff --git a/manager/components/Students.tsx b/manager/components/Students.tsx index f61799a..4c53f51 100644 --- a/manager/components/Students.tsx +++ b/manager/components/Students.tsx @@ -542,6 +542,19 @@ const Students: React.FC = ({ data, updateData, deepLinkStudentId const handleOpenPaymentLink = async (asaasPaymentId: string, type: 'boleto' | 'recibo') => { try { + if (type === 'recibo') { + const fullPayment = data.payments.find(p => p.asaasPaymentId === asaasPaymentId || p.id === asaasPaymentId); + if (fullPayment) { + const student = data.students.find(s => s.id === fullPayment.studentId); + if (student) { + await pdfService.generatePaymentReceiptPDF(fullPayment, student, data); + return; + } + } + showAlert('Erro', 'Não foi possível encontrar os dados da parcela para gerar o recibo.', 'error'); + return; + } + showAlert('Aguarde', `Buscando ${type}...`, 'info'); const response = await fetch(`/api/cobrancas/${asaasPaymentId}/link`); const result = await response.json();