gerarRelatorio method
- ObterProcuracaoResponse response
Gera um relatório textual das procurações
Implementation
String gerarRelatorio(ObterProcuracaoResponse response) {
final analise = analisarProcuracoes(response);
if (!response.sucesso) {
return '❌ Erro: ${response.mensagemPrincipal}';
}
if (analise['total'] == 0) {
return 'ℹ️ Nenhuma procuração encontrada.';
}
final buffer = StringBuffer();
buffer.writeln('📋 📊 RELATÓRIO DE PROCURAÇÕES');
buffer.writeln('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
buffer.writeln('📊 Resumo Geral:');
buffer.writeln(' • Total: ${analise['total']} procurações');
buffer.writeln(' • Ativas: ${analise['ativas']}');
buffer.writeln(' • Expirando em breve: ${analise['expiramEmBreve']}');
buffer.writeln(' • Expiradas: ${analise['expiradas']}');
buffer.writeln(' • Sistemas únicos: ${analise['totalSistemasUnicos']}');
buffer.writeln('');
if (response.dados != null && response.dados!.isNotEmpty) {
buffer.writeln('📝 Detalhes por Procuração:');
for (int i = 0; i < response.dados!.length; i++) {
final proc = response.dados![i];
final emoji = proc.status == StatusProcuracao.ativa
? '✅'
: proc.status == StatusProcuracao.expiraEmBreve
? '⚠️'
: proc.status == StatusProcuracao.expirada
? '❌'
: '❓';
buffer.writeln(' $emoji Procuração ${i + 1}:');
buffer.writeln(' • Status: ${proc.status.value}');
buffer.writeln(' • Expira em: ${proc.dataExpiracaoFormatada}');
buffer.writeln(' • Sistemas: ${proc.nrsistemas}');
buffer.writeln(' • Lista: ${proc.sistemas.join(', ')}');
buffer.writeln('');
}
if (analise['sistemasUnicos'].isNotEmpty) {
buffer.writeln('🔧 Sistemas Encontrados:');
for (final sistema in analise['sistemasUnicos']) {
buffer.writeln(' • $sistema');
}
}
}
return buffer.toString();
}