Monitor
Robôs de Automação
O sistema de gerenciamento de frota contém diversos robôs automáticos que executam tarefas cruciais em intervalos de tempo definidos. Esses robôs são responsáveis por automatizar processos recorrentes, enviar relatórios, monitorar veículos e garantir o funcionamento adequado do sistema.
Estrutura Básica dos Robôs
Os robôs são implementados como classes Java que executam operações específicas. Cada robô segue uma estrutura similar:
- Um método
main()que inicia o robô - Um método
iniciar()que configura o ambiente de execução - Um método
executar()que realiza a tarefa principal - Um mecanismo para registrar o estado de execução (usando arquivos properties)
Principais Robôs e suas Funções
Robô de Execução de 1 Minuto
Propósito: Executa tarefas críticas que necessitam de verificação frequente em intervalos de 1 minuto.
Fluxo de trabalho:
- Registra descrições de avisos para envio em lote
- Verifica e envia avisos por SMS e Push Notification
- Registra avisos de tempo sem conexão
- A cada 30 minutos, envia avisos por email
- À meia-noite, exclui avisos antigos do dia anterior
Este robô mantém o controle de interações consecutivas e pode ignorar a execução durante o horário de backup do sistema (às 3h da manhã).
Robô de Execução de 5 Minutos
Propósito: Executa tarefas que requerem verificação menos frequente em comparação com o robô de 1 minuto.
Fluxo de trabalho:
- Atualiza o status de comunicação de módulos veiculares
- Verifica e executa bloqueios/desbloqueios automáticos de veículos
- Ajusta horários de início/fim de viagens
- Importa e finaliza viagens de sistemas externos integrados (ex: TOTVS)
Este robô é essencial para manter os dados de rastreamento atualizados e garantir o funcionamento de bloqueios programados.
Robô de Execução Diária
Propósito: Executa tarefas de processamento agendadas para ocorrer uma vez ao dia.
Fluxo de trabalho:
- Envia emails sobre vencimentos de CNH, exame toxicológico e MOPP
- Verifica e envia relatórios de agendamentos de veículos
- Finaliza períodos de testes de clientes
- Apaga históricos de comunicação antigos
- Envia relatórios diários de avisos
- Envia relatórios de veículos desatualizados
- Cria roteirizações automatizadas
Este robô verifica se cada tarefa já foi executada no dia atual antes de realizá-la, evitando duplicações.
Robô de Agendamento de Relatórios
Propósito: Gerencia o envio automático de relatórios agendados pelos usuários.
Fluxo de trabalho:
- Recupera relatórios agendados que precisam ser enviados
- Executa o relatório conforme parâmetros configurados
- Envia o relatório por email aos destinatários cadastrados
- Registra a execução para controle
O envio pode ser configurado para acontecer diariamente, semanalmente ou mensalmente, em datas e horários específicos.
Funções Comuns entre os Robôs
Monitoramento de Veículos
Os robôs trabalham em conjunto para monitorar veículos, identificando:
- Veículos sem comunicação (desatualizados)
- Veículos que saíram de áreas permitidas
- Excesso de velocidade e outras violações
- Cumprimento de roteirizações
Envio de Notificações
Os robôs utilizam diversos canais para notificar usuários:
- Email: Envio de relatórios detalhados e notificações corporativas
- SMS: Para comunicações urgentes e alertas críticos
- Push Notification: Para alertas em aplicativos móveis
- Central de Monitoramento: Para casos que requerem intervenção humana
Gerenciamento de Agendas
Os robôs gerenciam diversos tipos de agendamentos:
- Manutenções preventivas
- Vencimentos de documentos
- Roteirizações programadas
- Bloqueios/desbloqueios por horário
- Envio de relatórios periódicos
Lógica de Periodicidade
Os robôs implementam três tipos principais de periodicidade:
- Mensal: Executa tarefas em um dia específico do mês
- Semanal: Executa tarefas em dias específicos da semana
- Diário: Executa tarefas todos os dias em horários definidos
Para cada tipo, o sistema verifica se é o momento adequado para execução com base nas configurações individuais de cada tarefa agendada.
Controle de Estado e Persistência
Todos os robôs mantêm arquivos de properties para controlar quais tarefas já foram executadas, evitando duplicações e mantendo o estado entre reinicializações. Isto permite:
- Retomar operações após falhas
- Controlar número de interações
- Registrar timestamp da última execução
- Evitar o reenvio de notificações já processadas
Identificação de Veículos em Áreas Geográficas
O sistema contém funcionalidade para identificar quais veículos passaram por determinada área geográfica em um período específico, utilizando:
- Definição de polígonos para representar áreas
- Análise de rastreamentos para verificar presença em áreas
- Geração de relatórios de veículos identificados dentro de perímetros
Correção de Dados de Rastreamento
Os robôs também realizam tarefas de correção de dados, como:
- Ajuste de odômetros inconsistentes
- Correção de velocidades calculadas incorretamente
- Ajuste de horários de início e fim de viagens
- Consolidação de dados para relatórios históricos
Perguntas Frequentes
Como funcionam os agendamentos de relatórios?
Os relatórios podem ser agendados para envio automático com periodicidade diária, semanal ou mensal. O sistema verifica a cada execução quais relatórios devem ser enviados conforme o dia e horário configurados, gerando e enviando por email aos destinatários cadastrados.
O que acontece quando um veículo para de enviar dados?
O sistema detecta automaticamente veículos que pararam de enviar dados após um tempo configurável. Quando isso ocorre, gera avisos que são enviados por email, SMS e push notifications para os responsáveis cadastrados. O sistema também pode incluir o alerta na central de monitoramento para intervenção humana.
Como funciona o bloqueio automático de veículos?
O sistema permite configurar horários específicos para bloqueio e desbloqueio automático de veículos. O robô de 5 minutos verifica continuamente quais veículos devem ser bloqueados ou desbloqueados conforme a programação, enviando os comandos necessários aos módulos de rastreamento.
Como o sistema identifica veículos em determinadas áreas?
O sistema utiliza dados de rastreamento e análise geográfica para identificar veículos que passaram por áreas definidas por polígonos. É possível configurar buscas por períodos específicos e obter relatórios detalhados sobre quais veículos passaram por determinada região.
Como são tratados os erros de comunicação com os módulos?
O sistema tenta reenviar comandos em caso de falhas de comunicação. Se persistir, gera alertas para o suporte técnico. Os robôs também consolidam informações sobre problemas de comunicação para ajudar na identificação de módulos com falhas recorrentes.
Como são controladas as roteirizações automáticas?
As roteirizações podem ser configuradas com períodos de repetição, como semanais ou mensais. O robô diário verifica quais roteirizações devem ser criadas para o dia seguinte com base nas configurações, evitando duplicações e mantendo o histórico de execuções.
O que acontece quando um cliente está em período de teste e este período termina?
O sistema monitora os clientes em período de teste e, ao final do período, executa ações configuradas como: finalizar o teste (desativando o cliente), alterar o plano para uma versão específica, ou enviar notificações para a equipe comercial avaliar a continuidade.