analisarProcuracoes method
- ObterProcuracaoResponse response
Analisa todas as procurações retornadas e gera estatísticas
Implementation
Map<String, dynamic> analisarProcuracoes(ObterProcuracaoResponse response) {
if (!response.sucesso || response.dados == null) {
return {
'total': 0,
'ativas': 0,
'expiramEmBreve': 0,
'expiradas': 0,
'sistemasUnicos': <String>[],
'analiseStatus': 'sem_dados',
};
}
final procuracoes = response.dados!;
final sistemasUnicos = <String>{};
int ativas = 0;
int expiramEmBreve = 0;
int expiradas = 0;
for (final proc in procuracoes) {
sistemasUnicos.addAll(proc.sistemas);
switch (proc.status) {
case StatusProcuracao.ativa:
ativas++;
break;
case StatusProcuracao.expiraEmBreve:
expiramEmBreve++;
break;
case StatusProcuracao.expirada:
expiradas++;
break;
default:
break;
}
}
return {
'total': procuracoes.length,
'ativas': ativas,
'expiramEmBreve': expiramEmBreve,
'expiradas': expiradas,
'sistemasUnicos': sistemasUnicos.toList(),
'totalSistemasUnicos': sistemasUnicos.length,
'analiseStatus': procuracoes.isEmpty
? 'nenhuma_procuracao'
: 'com_procuracoes',
};
}