# 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

1. **Inicialização**: Configura os parâmetros de conexão, logs e inicializa as propriedades necessárias
2. **Execução**: Verifica relatórios pendentes e os envia de acordo com o agendamento
3. **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

1. **Verificação de Horário**: Evita executar durante períodos de backup do sistema (geralmente às 3h da manhã)
2. **Registro de Descrições**: Inclui descrições detalhadas para avisos que serão enviados em lote
3. **Verificação de Avisos**: Monitora e envia avisos por SMS e push notification
4. **Registro de Tempo sem Conexão**: Verifica veículos sem comunicação por período prolongado
5. **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

1. **Monitoramento de Módulos**: Atualiza o status de comunicação dos módulos de rastreamento
2. **Bloqueio/Desbloqueio Automático**: Verifica e executa regras de bloqueio/desbloqueio automático por horário
3. **Ajuste de Rotas**: Corrige dados de início e fim de viagens
4. **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

1. **Verificação de Horário**: Executa as tarefas em horários específicos ao longo do dia
2. **Envio de Relatórios**: Gera e envia relatórios diários, incluindo CNH e exames vencidos
3. **Gerenciamento de Roteirização**: Cria e abre roteirizações automatizadas
4. **Importação de Dados**: Realiza importação de clientes e pedidos
5. **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.