Skip to main content

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:

  1. Um método main() que inicia o robô
  2. Um método iniciar() que configura o ambiente de execução
  3. Um método executar() que realiza a tarefa principal
  4. 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:

  1. Registra descrições de avisos para envio em lote
  2. Verifica e envia avisos por SMS e Push Notification
  3. Registra avisos de tempo sem conexão
  4. A cada 30 minutos, envia avisos por email
  5. À 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:

  1. Atualiza o status de comunicação de módulos veiculares
  2. Verifica e executa bloqueios/desbloqueios automáticos de veículos
  3. Ajusta horários de início/fim de viagens
  4. 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:

  1. Envia emails sobre vencimentos de CNH, exame toxicológico e MOPP
  2. Verifica e envia relatórios de agendamentos de veículos
  3. Finaliza períodos de testes de clientes
  4. Apaga históricos de comunicação antigos
  5. Envia relatórios diários de avisos
  6. Envia relatórios de veículos desatualizados
  7. 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:

  1. Recupera relatórios agendados que precisam ser enviados
  2. Executa o relatório conforme parâmetros configurados
  3. Envia o relatório por email aos destinatários cadastrados
  4. 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:

  1. Email: Envio de relatórios detalhados e notificações corporativas
  2. SMS: Para comunicações urgentes e alertas críticos
  3. Push Notification: Para alertas em aplicativos móveis
  4. 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:

  1. Mensal: Executa tarefas em um dia específico do mês
  2. Semanal: Executa tarefas em dias específicos da semana
  3. 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:

  1. Definição de polígonos para representar áreas
  2. Análise de rastreamentos para verificar presença em áreas
  3. 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:

  1. Ajuste de odômetros inconsistentes
  2. Correção de velocidades calculadas incorretamente
  3. Ajuste de horários de início e fim de viagens
  4. 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.