Regras de validação, estado dos apps e dispositivos
✅ Salvo
🏗️ Hierarquia de configurações:
Filial › Empresa › Geral — cada nível herda do superior e pode sobrescrever individualmente.
Selecione uma empresa ou filial para configurar regras específicas.
Deixe em branco para editar a configuração Geral (padrão do sistema).
🚗 Validação de KM e Horímetro
Tolerância máxima de salto de KM
geral
Salto de KM acima deste valor aciona o aviso ou bloqueio configurado abaixo.
km
Tolerância máxima de salto de horímetro
geral
Salto de horímetro acima deste valor aciona o aviso ou bloqueio.
h
Comportamento ao exceder o salto
geral
Avisar e confirmar — operador pode confirmar mesmo assim (flag forcar). Bloquear — não permite enviar sem corrigir.
📍 Propriedade e Talhão via GPS
Propriedade — detecção por GPS
geral
A propriedade sempre é detectada automaticamente pelo GPS quando possível (o operador também pode escolher da lista a qualquer momento). Essa opção só controla o botão extra: Automático: só a detecção automática + lista, sem botão extra. Automático + botão: além da detecção automática, aparece o botão "Usar coordenadas GPS atuais" pro operador acionar na hora, se a detecção falhar ou ele quiser forçar.
Talhão — detecção por GPS
geral
Mesma lógica acima, mas só para o Talhão — configurado separado da Propriedade.
⛽ Validação de Litros vs Tanque do Veículo
Tolerância acima da capacidade do tanque (%)
geral
110% = aceita até 10% acima da capacidade cadastrada na frota. Cobre imprecisão do sensor. Aplicado em abastecimentos com ESP e modo manual.
%
Comportamento ao exceder a capacidade
geral
Bloquear — não permite enviar. Avisar e confirmar — operador confirma.
💰 Validação de Preço de Combustível
Tolerância de preço (± %)
geral
Preço unitário (R$/L) de entrada que estiver acima ou abaixo da média dos últimos 30 dias mais do que esse percentual gera ocorrência. Ex: 20 = aceita variação de ±20% sobre a média.
%
📊 Divergência de Nível (Sensor vs Previsto)
Tolerância de divergência do sensor (%)
geral
Percentual da capacidade do tanque. Se a leitura do sensor divergir do saldo calculado mais que esse % da capacidade, gera ocorrência. Ex: 10 num tanque de 10.000L = tolera até 1.000L de diferença.
%
🔒 Fechamento de Ciclo (Prestação de Contas)
Divergência máxima aceitável (%)
geral
No fechamento do ciclo, se a divergência (esperado vs real) for maior que esse % do saldo esperado, exige justificativa. Ex: 2% num saldo de 4.000L = tolera até 80L.
%
Divergência máxima aceitável (litros)
geral
Limite em litros absolutos. A divergência é aceita se estiver abaixo do % OU dos litros (o que for mais permissivo). Acima de ambos, exige justificativa.
L
Bloquear fechamento com ocorrências abertas
geral
Se ativado, não permite fechar o ciclo enquanto houver ocorrências (divergências de KM, horímetro, sensor, etc.) não resolvidas no período.
Modelo de ciclo
O ciclo de prestação de contas é livre: o usuário escolhe a data de fechamento. O novo ciclo inicia automaticamente na data final do anterior. Período mínimo: 30 dias. Não é permitido fechar 2 ciclos no mesmo dia.
✅ Livre
🔄 Sincronização em Background (App)
Intervalo de sincronização
geral
Com que frequência o app sincroniza dados em background. Mínimo do Android: 15 minutos.
min
Notificar ao sincronizar
geral
Quando exibir notificação no celular após o background sync.
📷 Fotos no Abastecimento Manual
Foto do KM
geral
Exige foto do painel de KM antes de abastecer.
Foto do Horímetro
geral
Exige foto do horímetro antes de abastecer.
Foto da Leitura Inicial (bomba)
geral
Exige foto da bomba no início do abastecimento.
Foto da Leitura Final (bomba)
geral
Exige foto da bomba ao concluir o abastecimento.
📷 Fotos no Abastecimento Normal (via ESP)
Foto do Tanque (inicial)
geral
Exige foto do tanque antes de iniciar o abastecimento normal.
Foto do KM (normal)
geral
Exige foto do painel de KM no abastecimento normal (config independente da manual).
Foto do Horímetro (normal)
geral
Exige foto do horímetro no abastecimento normal (config independente da manual).
Foto Final (pedida após encerrar)
geral
Após o abastecimento encerrar e os dados serem enviados, o app pede essa foto separadamente e a envia depois (vinculada ao abastecimento já registrado).
ℹ️ As validações são aplicadas pelo servidor em todos os abastecimentos recebidos. O app também lê as configurações via GET /configuracoes?empresa_id=&propriedade_id= e aplica as regras localmente.
Fechamentos inesperados e erros capturados nos celulares
Data/Hora
Usuário
Empresa
Filial
IP
Mensagem
Detalhes
Dispositivos ESP32 — configurações recebidas pelo app
MAC
IP
SSID Wi-Fi
Backend URL
Firmware
RSSI
Modo
Fator Calib.
Tanque
Modo Nível
Calib. Nível
Fila
Empresa
Atualizado
Estado dos Apps — dados enviados no login e sync
IP Celular
Usuário
Perfil
Empresa
Filial
Filiais Sync
Híbrido
Manual
Frotas
Ops
Props
Talhões
Safras
Produtos
Tanques
Usuários
Abast. Total
Pendentes
ESP IP
ESP Backend
🔑 Código
KM max
Hor max
Comportamento KM
Litros %
Comportamento Litros
Última Sync
Atualizado
Tags NFC cadastradas nos apps
UID
Tipo
Nome
Valor
Empresa
Filial
Cadastrado em
Atualizado
Dispositivos Bluetooth (BLE) e suas associações
Dispositivo
MAC
Associado a
Descrição
Empresa
Filial
Cadastrado em
Log de sincronização — cada vez que o app atualizou os dados