# Mensagens de Teclado

## Visão Geral

O funcionalidade de Mensagens de Teclado é um módulo dentro da plataforma de gerenciamento de frota da Concept Rastreamento. Este sistema permite a comunicação bidirecional entre a central de controle e os motoristas através de dispositivos de teclado instalados nos veículos. A plataforma possibilita o envio, recebimento, auditoria e geração de contra-senhas para diversos tipos de mensagens operacionais. Para acessar a opção utilize o menu CONFIGURAÇÕES e a opção MENSAGENS DE TECLADO.

## Módulos Principais

O sistema é composto por quatro módulos principais:

1. **Pesquisa de Mensagens** - Visualização e gerenciamento das mensagens trocadas
2. **Envio de Mensagens** - Interface para enviar novas mensagens aos motoristas
3. **Edição de Mensagens** - Formulário para editar ou criar registros de mensagens com auditoria
4. **Auditoria de Mensagens** - Visualização do histórico de alterações e exclusões
5. **Gerador de Contra-Senha** - Ferramenta para gerar senhas de segurança

## Descrição Detalhada das Interfaces

### 1. Pesquisa de Mensagens (Mensagens de Teclados)

Esta tela permite a visualização e filtro de todas as mensagens trocadas entre a central e os veículos.

#### Elementos da Interface

**Seção de Filtros:**

- **Veículo**: Campo de seleção (dropdown) - Permite escolher um veículo específico da frota
- **Motorista**: Campo de seleção (dropdown) - Permite escolher um motorista cadastrado
- **Status de Exibição**: Campo de seleção com as opções "Ativas", "Inativas" e "Todas"
- **Período**: Dois campos de data com formato DD-MM-YYYY para definir o intervalo de busca

**Botões de Ação:**

- **Pesquisar** (ícone de lupa): Executa a pesquisa com os filtros aplicados
- **Novo** (ícone de adição): Abre o formulário para criar uma nova mensagem
- **Enviar mensagem para o teclado** (ícone de envio): Acessa a tela de envio de mensagens
- **Auditoria** (ícone de prancheta): Acessa os registros de auditoria
- **Gerar contra-senha** (ícone de cadeado): Acessa a ferramenta de geração de contra-senhas
- **Exportar CSV** (ícone de disco): Exporta os dados exibidos para um arquivo CSV

**Tabela de Resultados:**

- Colunas: #, Veículo, Origem, Data/Hora, Código, Mensagem, Localização, Status, Excluído?
- Cada linha representa uma mensagem trocada no sistema
- Clicando em uma linha, o usuário é redirecionado para a tela de edição daquela mensagem
- Indicador do total de registros exibidos na parte inferior

### 2. Envio de Mensagens (Enviar Mensagem de Teclado)

Esta tela permite o envio de novas mensagens para os dispositivos de teclado dos veículos.

#### Elementos da Interface

**Formulário de Envio:**

- **Veículo**: Campo de seleção (dropdown) - Obrigatório
- **Tipo**: Campo de seleção (dropdown) com duas opções: 
    - **Texto**: Para enviar uma mensagem de texto livre
    - **Aviso de Limite de Direção**: Para enviar alertas relacionados ao tempo de direção
- **Mensagem**: Campo de texto multiliinha (até 400 caracteres) - Exibido apenas quando o tipo "Texto" está selecionado
- **Tempo de Alerta Descanso**: Campo de seleção (dropdown) - Exibido apenas quando o tipo "Aviso de Limite de Direção" está selecionado, com opções de tempo (1 hora a 8 horas e 30 minutos)

**Botões de Ação:**

- **Gravar**: Salva e envia a mensagem
- **Voltar**: Retorna à tela de pesquisa

### 3. Edição de Mensagens (Mensagem de Teclado)

Esta tela permite a visualização, edição e exclusão de mensagens existentes, além de mostrar o histórico de auditoria.

#### Elementos da Interface

**Formulário de Edição:**

- **Veículo**: Campo de seleção (dropdown) - Obrigatório
- **Motorista**: Campo de seleção (dropdown) - Obrigatório
- **Tipo**: Campo de seleção (dropdown) - Códigos de mensagem específicos do tipo de teclado instalado no veículo selecionado
- **Data/Hora**: Campo de data e hora no formato DD-MM-YYYY HH:MM:SS - Obrigatório
- **Localização**: Campo de texto - Obrigatório
- **Justificativa**: Campo de texto multilinha (até 500 caracteres) - Obrigatório

**Botões de Ação:**

- **Gravar**: Salva as alterações (visível apenas se o registro não estiver excluído logicamente)
- **Excluir**: Marca o registro como excluído logicamente (visível apenas se o registro existir e não estiver excluído)
- **Voltar**: Retorna à tela de pesquisa

**Tabela de Auditoria:**

- Exibe um histórico das alterações feitas no registro
- Colunas: Data/Hora, Original, Alteração, IP, Usuário
- Mostra quem alterou, quando, de qual endereço IP e quais alterações foram feitas

### 4. Auditoria de Mensagens (Registros de Auditoria)

Esta tela permite a visualização de todas as alterações realizadas nas mensagens de teclado.

#### Elementos da Interface

**Seção de Filtros:**

- **Veículo**: Campo de seleção (dropdown)
- **Motorista**: Campo de busca com botão de pesquisa
- **Período**: Dois campos de data com formato DD-MM-YYYY para definir o intervalo de busca

**Botões de Ação:**

- **Pesquisar** (ícone de lupa): Executa a pesquisa com os filtros aplicados
- **Exportar CSV** (ícone de disco): Exporta os dados exibidos para um arquivo CSV
- **Voltar** (ícone de seta para esquerda): Retorna à tela principal

**Tabela de Resultados:**

- Colunas: #, Veículo, Motorista, Data/Hora, Original, Alteração, IP, Usuário, Justificativa
- Cada linha representa uma alteração feita no sistema
- Clicando no botão "+" de uma linha, abre-se um popup com detalhes da alteração
- Paginação na parte inferior da tela

**Popup de Detalhes:**

- **Dados Alterados**: Campo de texto mostrando o conteúdo após a alteração
- **Dados Originais**: Campo de texto mostrando o conteúdo antes da alteração
- **Justificativa**: Campo de texto mostrando a justificativa da alteração
- Botão **Fechar**: Fecha o popup

### 5. Gerador de Contra-Senha (Gerador Contra Senha)

Esta tela permite a geração de contra-senhas para operações de segurança no sistema.

#### Elementos da Interface

**Formulário de Geração:**

- **Versão**: Campo de seleção (dropdown) com opções "Versão 1" e "Versão 2"
- **Senha**: Campo de texto para entrada da senha original
- **Contra-Senha**: Campo de texto (somente leitura) que exibe a contra-senha gerada

**Botões de Ação:**

- **Gerar**: Gera a contra-senha baseada na senha fornecida
- **Voltar**: Retorna à tela de pesquisa

## Fluxos de Trabalho

### 1. Visualização e Filtragem de Mensagens

1. Acesse a tela "Mensagens de Teclados"
2. Selecione os filtros desejados (veículo, motorista, período e/ou status)
3. Clique no botão de pesquisa (ícone de lupa)
4. Os resultados serão exibidos na tabela abaixo
5. Para ver detalhes ou editar uma mensagem, clique em sua linha na tabela

### 2. Envio de Nova Mensagem

1. Na tela "Mensagens de Teclados", clique no botão "Enviar mensagem para o teclado"
2. Selecione o veículo de destino
3. Escolha o tipo de mensagem (Texto ou Aviso de Limite de Direção)
4. Se for do tipo "Texto", preencha a mensagem (até 400 caracteres)
5. Se for do tipo "Aviso de Limite de Direção", selecione o tempo de alerta
6. Clique em "Gravar" para enviar a mensagem

### 3. Criação Manual de Registro de Mensagem

1. Na tela "Mensagens de Teclados", clique no botão "Novo"
2. Preencha todos os campos obrigatórios (Veículo, Motorista, Tipo, Data/Hora, Localização, Justificativa)
3. Clique em "Gravar" para salvar o registro

### 4. Edição de Mensagem Existente

1. Na tela "Mensagens de Teclados", localize a mensagem desejada
2. Clique na linha correspondente para abrir a tela de edição
3. Faça as alterações necessárias nos campos
4. Forneça uma justificativa para a alteração
5. Clique em "Gravar" para salvar as mudanças

### 5. Exclusão de Mensagem

1. Na tela "Mensagens de Teclados", localize a mensagem desejada
2. Clique na linha correspondente para abrir a tela de edição
3. Clique no botão "Excluir"
4. Confirme a exclusão na caixa de diálogo exibida

### 6. Visualização de Auditoria

1. Na tela "Mensagens de Teclados", clique no botão "Auditoria"
2. Selecione os filtros desejados (veículo, motorista e/ou período)
3. Clique no botão de pesquisa
4. Os resultados serão exibidos na tabela abaixo
5. Para ver detalhes de uma alteração, clique no botão "+" da linha correspondente

### 7. Geração de Contra-Senha

1. Na tela "Mensagens de Teclados", clique no botão "Gerar contra-senha"
2. Selecione a versão desejada
3. Digite a senha original no campo correspondente
4. Clique em "Gerar"
5. A contra-senha será exibida no campo "Contra-Senha"

## Regras de Negócio e Validações

### Envio de Mensagens

1. **Validação de Campos Obrigatórios**:
    
    
    - Veículo: Deve ser selecionado um veículo válido
    - Para tipo "Texto": A mensagem não pode estar vazia
    - Para tipo "Aviso de Limite de Direção": Deve ser selecionado um tempo válido
2. **Seleção de Tipo de Mensagem**:
    
    
    - O tipo de mensagem disponível depende do modelo de teclado instalado no veículo
    - Para teclados KNOV KN02 (padrão ou em Hexa): Códigos de mensagem KNOV
    - Para teclados GetScale: Códigos de mensagem GetScale
    - Para teclados SGBRAS: Sem códigos específicos predefinidos

### Edição de Mensagens

1. **Validação de Campos Obrigatórios**:
    
    
    - Veículo: Deve ser selecionado um veículo válido
    - Motorista: Deve ser selecionado um motorista válido
    - Tipo de Mensagem: Deve ser selecionado um código válido
    - Data/Hora: Deve ser uma data e hora válidas
    - Localização: Não pode estar vazio
    - Justificativa: Obrigatória para qualquer alteração ou criação manual
2. **Controle de Permissões**:
    
    
    - Apenas usuários com permissão de gravação ou acesso master podem alterar ou excluir registros
    - Todas as alterações são registradas no sistema de auditoria

### Auditoria

1. **Registro de Alterações**:
    
    
    - Todas as alterações em mensagens são registradas (dados originais, dados alterados)
    - São armazenados: data/hora, usuário, IP, veículo, motorista e justificativa da alteração
2. **Filtros de Auditoria**:
    
    
    - É possível filtrar por veículo, motorista e período
    - O período padrão é do primeiro ao último dia do mês corrente

### Geração de Contra-Senha

1. **Algoritmos de Geração**: 
    - Versão 1: Utiliza as chaves "10973" e "12452" para gerar a contra-senha
    - Versão 2: Utiliza a chave "20252" para gerar a contra-senha
    - A contra-senha é gerada a partir da senha original fornecida

## Perguntas Frequentes (FAQ)

### Geral

1. **O que é o Sistema de Mensagens de Teclado?**
    
    
    - É um módulo que permite a comunicação entre a central de controle e os motoristas através de dispositivos de teclado instalados nos veículos.
2. **Quais tipos de mensagens posso enviar?**
    
    
    - Depende do modelo de teclado instalado no veículo. Geralmente, há dois tipos principais: mensagens de texto livre e avisos de limite de direção.

### Envio de Mensagens

3. **Por que não consigo selecionar um tipo de mensagem para um veículo?**
    
    
    - Os tipos de mensagem disponíveis dependem do modelo de teclado instalado no veículo. Se não houver tipos disponíveis, verifique se o veículo possui um teclado compatível configurado.
4. **Qual é o limite de caracteres para uma mensagem de texto?**
    
    
    - O limite é de 400 caracteres para mensagens de texto.
5. **O que é um "Aviso de Limite de Direção"?**
    
    
    - É um alerta enviado ao motorista para indicar o tempo máximo que ele deve dirigir antes de fazer uma pausa, conforme regulamentações de segurança.

### Auditoria

6. **Por que preciso fornecer uma justificativa ao alterar uma mensagem?**
    
    
    - A justificativa é obrigatória para fins de auditoria e rastreabilidade, permitindo entender o motivo de cada alteração no sistema.
7. **Quem pode ver os registros de auditoria?**
    
    
    - Usuários com permissões adequadas podem acessar a tela de auditoria para visualizar o histórico de alterações.
8. **Os registros excluídos podem ser recuperados?**
    
    
    - Registros marcados como excluídos logicamente ainda existem no sistema e podem ser visualizados aplicando o filtro "Inativas" ou "Todas".

### Contra-Senha

9. **O que é a função de geração de contra-senha?**
    
    
    - É uma ferramenta de segurança que gera uma senha secundária baseada em uma senha original, utilizada para operações que exigem maior nível de segurança.
10. **Qual a diferença entre Versão 1 e Versão 2 para geração de contra-senha?**
    
    
    - São algoritmos diferentes de geração, onde a Versão 1 utiliza duas chaves e a Versão 2 utiliza uma chave mais recente, possivelmente com maior segurança.

## Considerações Técnicas Adicionais

### Armazenamento e Processamento de Datas

- Datas são armazenadas internamente como timestamps (milissegundos desde 1970-01-01)
- Para exibição, as datas são convertidas para o formato local (DD-MM-YYYY)
- Para filtros de período, a data de fim é ajustada para incluir todo o dia (até 23:59:59)

### Integração com outros Módulos

- O sistema integra-se com o cadastro de veículos e motoristas
- As informações de modelos de teclado são obtidas do cadastro de veículos

### Segurança e Auditoria

- Todas as operações são registradas com informações de usuário, data/hora e IP
- A exclusão lógica preserva o histórico de mensagens sem remover dados do sistema
- As justificativas são obrigatórias para garantir rastreabilidade das alterações