diff --git a/src/services/DocumentGenerate.service.js b/src/services/DocumentGenerate.service.js index 142c2d0..4df2933 100644 --- a/src/services/DocumentGenerate.service.js +++ b/src/services/DocumentGenerate.service.js @@ -243,12 +243,30 @@ export async function loadAllVariables(patientId, agendaEventoId = null, extras const ownerId = await getOwnerId(); const tenantId = await getActiveTenantId(ownerId); - const [patient, session, therapist, clinic] = await Promise.all([ + // Promise.allSettled pra nao mascarar falha individual: se uma source + // falhar, as outras ainda preenchem e a gente loga qual quebrou. + const results = await Promise.allSettled([ loadPatientData(patientId), loadSessionData(agendaEventoId), loadTherapistData(), loadClinicData(tenantId) ]); + const labels = ['patient', 'session', 'therapist', 'clinic']; + const errors = []; + results.forEach((r, i) => { + if (r.status === 'rejected') { + errors.push({ source: labels[i], err: r.reason }); + console.error(`[loadAllVariables] falha em ${labels[i]}:`, r.reason); + } + }); + const [patient, session, therapist, clinic] = results.map(r => r.status === 'fulfilled' ? r.value : {}); + if (import.meta?.env?.DEV) { + console.log('[loadAllVariables] resultados:', { + patient, session, therapist, clinic, + ownerId, tenantId, patientId, agendaEventoId, + errors + }); + } // Resolve valor numérico (extras tem prioridade sobre session) const valorNum = extras.valor != null