Robos
Monitor
Robôs de Automação
Visão Geral
O sistema de gerenciamento de frota utiliza diferentes robôs automatizados para executar tarefas periódicas, monitorar veículos, enviar relatórios e gerenciar notificações. Estes robôs são componentes de software que executam em intervalos específicos (1 minuto, 5 minutos, diariamente e sob demanda) para garantir o funcionamento adequado do sistema.
Robô de Agendamento de Relatórios
Propósito
Este robô é responsável pelo agendamento e envio automático de relatórios conforme configurações definidas pelos usuários.
Fluxo de Trabalho
- Inicialização: Configura os parâmetros de conexão, logs e inicializa as propriedades necessárias
- Execução: Verifica relatórios pendentes e os envia de acordo com o agendamento
- Registro: Registra o timestamp da última execução para controle interno
Funcionalidades Principais
- Envio de relatórios agendados conforme periodicidade (diário, semanal, mensal)
- Geração e anexo de relatórios em formato PDF
- Envio de e-mails contendo os relatórios para os destinatários configurados
Robô de Execução 1 Minuto
Propósito
Este robô executa tarefas de alta frequência a cada minuto, focando principalmente em registrar eventos e enviar notificações imediatas.
Fluxo de Trabalho
- Verificação de Horário: Evita executar durante períodos de backup do sistema (geralmente às 3h da manhã)
- Registro de Descrições: Inclui descrições detalhadas para avisos que serão enviados em lote
- Verificação de Avisos: Monitora e envia avisos por SMS e push notification
- Registro de Tempo sem Conexão: Verifica veículos sem comunicação por período prolongado
- Envio de Avisos por Email: A cada 30 minutos, envia avisos acumulados por e-mail
Funcionalidades Principais
- Monitoramento em tempo real de eventos dos veículos
- Registro e envio de notificações Push e SMS
- Gerenciamento de avisos de tempo sem conexão com os dispositivos
- Limpeza automática de avisos do dia às 00h
Robô de Execução 5 Minutos
Propósito
Este robô executa tarefas de frequência média a cada 5 minutos, focando no monitoramento de módulos e ajustes operacionais.
Fluxo de Trabalho
- Monitoramento de Módulos: Atualiza o status de comunicação dos módulos de rastreamento
- Bloqueio/Desbloqueio Automático: Verifica e executa regras de bloqueio/desbloqueio automático por horário
- Ajuste de Rotas: Corrige dados de início e fim de viagens
- Importação de Dados: Integra dados de sistemas externos
Funcionalidades Principais
- Atualização do status de comunicação dos módulos de rastreamento
- Bloqueio e desbloqueio automático dos veículos com base em horários configurados
- Ajuste de informações de início e término de viagens
- Importação de dados de viagens de sistemas externos (como TOTVS)
Robô de Execução Diária
Propósito
Este robô executa tarefas de baixa frequência uma vez ao dia, focando em relatórios periódicos e tarefas de maior processamento.
Fluxo de Trabalho
- Verificação de Horário: Executa as tarefas em horários específicos ao longo do dia
- Envio de Relatórios: Gera e envia relatórios diários, incluindo CNH e exames vencidos
- Gerenciamento de Roteirização: Cria e abre roteirizações automatizadas
- Importação de Dados: Realiza importação de clientes e pedidos
- Limpeza do Sistema: Executa tarefas de manutenção e limpeza de dados antigos
Funcionalidades Principais
- Envio de relatórios de veículos desatualizados
- Alertas de vencimento de CNH, exame toxicológico e MOPP
- Criação e abertura de roteirizações automáticas
- Finalização de períodos de testes de clientes
- Verificação de consolidados e correção de erros em velocidade
- Importação de clientes de sistemas externos
- Identificação de veículos com base em geolocalização
Integração e Interação entre os Robôs
Os robôs trabalham de forma complementar, compartilhando dados e responsabilidades:
- Robô 1 Minuto: Monitora eventos em tempo real e registra descrições para processamento posterior
- Robô 5 Minutos: Atualiza status dos módulos e gerencia bloqueios automáticos
- Robô Diário: Executa tarefas pesadas de relatórios e manutenção do sistema
- Robô de Agendamento: Gerencia e envia relatórios personalizados conforme configuração dos usuários
Esta abordagem em camadas permite que o sistema realize tarefas críticas em tempo adequado, sem sobrecarga de processamento.
Regras de Negócio Importantes
Monitoramento de Veículos
- Veículos sem comunicação por mais de X horas (configurável por empresa) geram alertas
- Notificações são enviadas por diferentes canais (e-mail, SMS, push) com base nas configurações de cada cliente
Bloqueio Automático
- Veículos podem ser bloqueados/desbloqueados automaticamente com base em horários configurados
- Comandos de bloqueio são enviados aos dispositivos e verificados para garantir a execução
Envio de Relatórios
- Relatórios podem ser agendados com diferentes periodicidades (diária, semanal, mensal)
- Os destinatários e conteúdos dos relatórios são configuráveis por cliente
- O sistema mantém registro de execuções para evitar duplicidade
Gestão de Documentação
- O sistema monitora vencimentos de CNH, exames toxicológicos e outros documentos importantes
- Alertas são enviados com antecedência configurável para prevenir problemas legais
Roteirização Automática
- Rotas podem ser criadas automaticamente conforme programação (diária, semanal, mensal)
- O sistema calcula horários e ajusta viagens automaticamente
Perguntas Frequentes
Como funciona o agendamento de relatórios?
O agendamento de relatórios permite configurar a geração e envio automático de relatórios em periodicidade definida (diária, semanal ou mensal). É possível configurar múltiplos destinatários e diferentes tipos de relatórios.
O que fazer quando um veículo aparece como "desatualizado"?
Veículos desatualizados indicam falta de comunicação com o servidor. Isto pode ocorrer por quatro motivos principais: o veículo está fora da área de cobertura GSM, o veículo está desligado, o veículo está em manutenção, ou há um problema com o equipamento de rastreamento.
Como funciona o bloqueio automático de veículos?
O bloqueio automático de veículos permite definir horários específicos para bloqueio/desbloqueio dos veículos. Quando o horário programado é atingido, o sistema envia automaticamente comandos para os dispositivos instalados nos veículos.
Como o sistema trata as notificações de documentos vencidos?
O sistema monitora as datas de vencimento de documentos importantes como CNH, exames toxicológicos e MOPP, enviando alertas pré-programados por email para os responsáveis. Os alertas são enviados com antecedência configurável para permitir a renovação antes do vencimento.
O que acontece quando um veículo fica sem comunicação?
Quando um veículo fica sem comunicação por um período configurável (diferente para cada empresa), o sistema gera automaticamente alertas que são enviados por e-mail, SMS e notificações push para os contatos cadastrados.
Como funciona a roteirização automática?
A roteirização automática permite criar rotas pré-programadas que são geradas automaticamente conforme configuração de periodicidade (diária, semanal ou mensal). O sistema pode criar e até mesmo abrir automaticamente estas roteirizações nos horários programados.
Envio de Avisos por SMS e Push
Analisando o código Java fornecido, posso descrever o funcionamento do sistema em termos de regras de negócio, com base no processo de verificação e envio de alertas de veículos.
Fluxo de Negócio: Sistema de Notificações para Veículos Monitorados
Este sistema gerencia o envio de notificações sobre eventos de veículos através de diferentes canais de comunicação (SMS, Push e Central de Monitoramento) seguindo estas regras de negócio:
1. Identificação de Avisos Pendentes
- O sistema consulta periodicamente um banco de dados para identificar avisos de veículos que ainda não foram processados para envio de SMS ou notificações Push
- São selecionados até 10.000 avisos pendentes por ciclo de processamento
2. Processamento Paralelo de Localização
- Para cada aviso pendente, o sistema obtém informações de localização utilizando processamento paralelo
- Estas informações de localização são essenciais para contextualizar os alertas enviados
3. Carregamento de Configurações de Notificação
- O sistema carrega as configurações de notificação específicas para cada veículo
- Essas configurações determinam quais tipos de alertas cada veículo deve receber e através de quais canais
4. Regras de Envio de Notificações Push
- Para cada aviso, o sistema verifica se deve enviar notificação Push com base nas configurações do veículo
- Se autorizado, a notificação Push é enviada através do serviço FCM (Firebase Cloud Messaging)
5. Regras de Envio de SMS
- O sistema aplica várias regras para determinar se um SMS deve ser enviado:
- Verifica se o SMS está habilitado nas configurações do veículo
- Confirma se o envio é permitido (controle de frequência/excesso)
- Verifica se há saldo disponível na conta do cliente
- Valida se existem destinatários com números válidos para receber o SMS
- Se todas as condições forem atendidas, o SMS é enviado via serviço InfoBip
6. Regras para Monitoramento pela Central
- Para cada aviso, o sistema determina se deve ser encaminhado para uma central de monitoramento
- Avisos que não exigem monitoramento são marcados como encerrados
- Avisos que requerem monitoramento são encaminhados para a central
7. Atualização do Status dos Avisos
- Após o processamento, o sistema atualiza o status de cada aviso no banco de dados:
- Registra se o SMS foi enviado com sucesso ou qual foi o motivo da falha
- Registra quais avisos foram encaminhados para a central de monitoramento
- Marca os avisos que foram considerados como encerrados/não monitoráveis
8. Controles Específicos
- O sistema mantém controle sobre tipos específicos de alertas como:
- Excesso de velocidade
- Saída de cerca virtual (geocerca)
- Outros alertas personalizados (avisoAux0-3)
- Alertas de sensores conectados ao veículo
9. Gestão de Recursos
- O sistema implementa controles para gerenciar recursos:
- Limita o número de processamentos paralelos
- Monitora o saldo de créditos de SMS dos clientes
- Gerencia conexões com serviços externos
10. Rastreabilidade
- Todo o processo é registrado em logs para permitir auditoria e solução de problemas:
- Número de avisos processados
- Quantidade de SMS e Push enviados
- Erros ocorridos durante o processamento
Este sistema integra monitoramento de veículos com múltiplos canais de comunicação, seguindo regras específicas de negócio para garantir que as notificações corretas sejam enviadas aos destinatários adequados por meio dos canais apropriados.
Registro de Descrições
Sistema de Gerenciamento e Distribuição de Alertas de Veículos
O código apresentado implementa um sistema de gerenciamento e distribuição de alertas de veículos que possui as seguintes funcionalidades e regras de negócio:
Funcionalidade Principal
Este sistema processa alertas de veículos em lote e os distribui por diferentes canais de comunicação conforme configurações predefinidas. O sistema:
- Coleta alertas pendentes de veículos que ainda não foram processados
- Enriquece os alertas com informações de localização (endereço)
- Distribui os alertas através de múltiplos canais (SMS, notificações push)
- Encaminha alertas relevantes para uma central de monitoramento
- Registra o status do processamento de cada alerta
Regras de Negócio
Processamento de Alertas
- O sistema processa alertas pendentes em lotes de até 10.000 registros
- Alertas com coordenadas GPS são enriquecidos com informações de endereço
- O processamento é feito com prioridade para alertas recentes
Notificações Push
- Notificações push são enviadas para alertas gerados no mesmo dia ou alertas de pânico
- Se o volume total de alertas ultrapassar 5.000, as notificações push são temporariamente desativadas
- O envio de push depende das configurações estabelecidas para cada tipo de alerta e veículo
Notificações SMS
- SMS são enviados apenas para alertas do dia atual ou alertas de pânico
- O cliente precisa ter saldo positivo na plataforma de envio
- Existe proteção contra envio excessivo de SMS
- O conteúdo da mensagem inclui informações sobre o veículo, tipo de alerta e localização
- SMS serão enviados apenas se houver destinatários válidos configurados
Central de Monitoramento
- Apenas alertas configurados para monitoramento são encaminhados à central
- O cliente deve estar habilitado para monitoramento central
- O sistema pode descartar alertas que não necessitam de monitoramento pela central
Configurações do Cliente
- Os clientes devem estar configurados para receber alertas em lote
- Cada veículo pode ter diferentes configurações de notificação por tipo de alerta
- Clientes podem escolher quais tipos de alertas desejam receber e por quais canais
Esta funcionalidade permite que empresas com frotas monitorem eventos significativos de seus veículos, recebendo alertas importantes através dos canais mais adequados, conforme suas próprias configurações.
Alerta Tempo sem Conexão
Este sistema monitora a conectividade de veículos e gera alertas quando um veículo fica sem comunicação por um período específico. Aqui está como funciona:
-
O sistema verifica regularmente uma lista de veículos que têm configurações para monitoramento de perda de conexão.
-
Existem duas situações principais que geram alertas:
- Quando um veículo com a ignição ligada fica sem comunicação por um tempo determinado (configurado como "tempoSemConexaoIgnicaoONParaAlerta")
- Quando qualquer veículo, independente da ignição, fica sem comunicação por um tempo mais longo (configurado como "tempoSemConexaoParaAlerta")
-
O sistema calcula quanto tempo se passou desde a última comunicação do veículo (chamado de "último pacote recebido").
-
Se o tempo sem comunicação ultrapassar os limites configurados e não existir um alerta já ativo, o sistema registra um novo alerta de "tempo sem conexão".
-
Quando um veículo que estava sem comunicação volta a se conectar (ou seja, o tempo desde o último pacote fica menor que o limite configurado), o sistema desativa o alerta, mudando uma "flag" para "0".
-
O sistema é mais sensível para veículos com ignição ligada - normalmente o tempo para alertar é menor nestes casos, já que se espera que veículos em operação estejam constantemente se comunicando.
Resumindo, é como um sistema de segurança que diz "Atenção! Este veículo não está se comunicando há muito tempo", permitindo que a empresa tome medidas para verificar o que está acontecendo com o veículo (problemas técnicos, roubo, etc.). Os tempos para decidir o que é "muito tempo" são configuráveis para cada veículo.