Enviar Coleta
Enviar Coleta
A tela de Enviar Coleta reúne todas as coletas já registradas no aparelho e ainda não enviadas ao servidor, organizadas por carga e por percurso, e permite ao coletor escolher quais cargas enviar de uma vez.
Visão Geral
A tela de Enviar Coleta reúne todas as coletas já registradas no aparelho e ainda não enviadas ao servidor, organizadas por carga e por percurso, e permite ao coletor escolher quais cargas enviar de uma vez. É o ponto em que os dados registrados em campo (incluindo evidências como fotos) deixam de existir só no aparelho e passam a ficar disponíveis no servidor.
Pré-requisitos
- É preciso haver ao menos uma coleta registrada e ainda não enviada; sem nenhuma, a tela mostra apenas um aviso de lista vazia.
- O aparelho precisa ter uma conexão de rede ativa no momento do envio.
- Para cada percurso com alguma coleta pendente na carga selecionada, todas as propriedades desse percurso atribuídas ao coletor precisam já ter uma coleta (ou um registro de não-coleta) preenchida — ver “Regras de Negócio”.
Fluxo Operacional
- Ao abrir a tela, o aplicativo carrega as coletas pendentes de envio, agrupadas por carga e, dentro de cada carga, por percurso.
- Cada carga aparece com uma caixa de seleção já marcada por padrão; o coletor pode desmarcar as cargas que não quer enviar naquele momento.
- Ao tocar no botão de enviar (que só aparece quando há pelo menos uma carga selecionada), o aplicativo confirma se o envio é permitido.
- Se permitido, mostra uma confirmação perguntando se o coletor quer iniciar o envio; se não for permitido, mostra o motivo do bloqueio.
- Confirmado o envio, o aplicativo verifica a conexão de rede e então envia as cargas selecionadas uma de cada vez, mostrando o progresso.
- Ao concluir o envio de todas as cargas selecionadas, a tela se fecha automaticamente. Se alguma carga falhar no meio do processo, o envio para naquele ponto e a tela permanece aberta com o aviso de erro.
Interface e Comportamentos
Lista de Cargas Pendentes
As coletas pendentes aparecem agrupadas em dois níveis: primeiro por carga (com uma caixa de seleção e a contagem de percursos), depois por percurso dentro de cada carga (com a contagem de coletas). Quando não há nenhuma coleta pendente, a tela mostra apenas um aviso no lugar da lista.
Seleção de Cargas para Envio
Toda carga que aparece na tela começa automaticamente marcada para envio — o coletor precisa desmarcar manualmente as que não quer enviar, não o contrário. O botão de enviar só fica visível quando pelo menos uma carga está marcada.
Confirmação Antes do Envio
Antes de enviar, o aplicativo sempre mostra uma caixa de confirmação. Se o envio é permitido, a caixa pergunta se o coletor quer mesmo começar, com opção de cancelar. Se o envio não é permitido (alguma propriedade sem registro, ver “Regras de Negócio”), a mesma caixa mostra o motivo do bloqueio, sem a opção de cancelar — apenas um botão que fecha a caixa sem enviar nada.
Feedbacks ao Usuário
| Situação | Feedback | Texto exato |
|---|---|---|
| Nenhuma coleta pendente de envio | Aviso no lugar da lista | “Não há coletas para enviar” |
| Confirmação antes de enviar (permitido) | Título e conteúdo da caixa de confirmação | Título: “Enviar coleta” / Conteúdo: “O processo de envio dos dados pode levar alguns minutos. Certifique-se que a Wi-fi ou os Dados móveis estão ativos e que possui internet. Deseja iniciar?” |
| Confirmação antes de enviar (bloqueado) | Conteúdo da caixa de confirmação | “Não é possível enviar. Existe rota na carga atual com propriedades que não possuem Coleta ou Não Coleta preenchidas” |
| Verificando a conexão antes de enviar | Texto de status | “Aguarde, estamos verificando o seu status de conexão” |
| Aguardando o início do envio | Texto de status | “Aguarde” |
| Enviando os dados ao servidor | Texto de status | “As coletas estão sendo enviadas para o servidor, aguarde” |
| Envio concluído com sucesso | Texto de status | “Coletas enviadas com sucesso” |
| Envio recusado por lista vazia | Texto de status | “Não é possível enviar uma lista de coletas vazia” |
| Falha interna ao preparar o envio | Texto de status | “Erro interno” |
| Falha genérica ao enviar | Texto de status | “Erro ao salvar a coleta. Certifique que possui internet e tente novamente” |
| Falha ao enviar depois que outras cargas já tinham sido enviadas com sucesso | Texto de status (mensagem adicional) | “Não foi possível salvar todos os registros. Certifique que possui internet e tente novamente” |
Regras de Negócio
Coleta sem a propriedade correspondente
Uma coleta pendente só aparece na lista de envio se a propriedade associada a ela ainda for encontrada nos dados salvos no aparelho; se a propriedade não for encontrada, a coleta é descartada da lista sem qualquer aviso.
Valores padrão para exibição e envio
Coletas com campos em branco (classificação do leite, quantidade em litros, temperatura, número do tanque) recebem valores padrão só para fins de exibição e envio: classificação normal, zero litros, zero graus, tanque zero.
Percurso precisa estar completo para ser enviado
O envio só é permitido quando, para cada percurso que tem alguma coleta pendente dentro da seleção, todas as propriedades desse percurso atribuídas ao coletor já tiverem uma coleta (ou um registro de não-coleta) preenchida. Uma única propriedade sem registro no percurso bloqueia o envio daquele percurso inteiro — e, por consequência, de toda a carga que o contém.
Envio por carga, não em lote único
As cargas selecionadas são enviadas uma de cada vez, nunca todas juntas. Se o envio de uma carga falhar, o processo para imediatamente: as cargas seguintes da seleção não chegam a ser enviadas. O envio só é considerado totalmente concluído quando todas as cargas selecionadas foram enviadas com sucesso; nesse caso, uma nova carga é preparada automaticamente para as próximas coletas.
Evidências e Documentos Gerados
Evidências anexadas ao envio
Apesar de o envio de uma carga conter os dados de todas as suas coletas, os arquivos de evidência (fotos/vídeos) efetivamente anexados ao envio vêm apenas da primeira coleta da carga — as evidências das demais coletas da mesma carga não são enviadas junto, mesmo que os dados das coletas estejam todos no mesmo envio. Na prática, evidências de coletas que não sejam a primeira de uma carga não chegam ao servidor.
Confirmação local após o envio
Assim que o servidor confirma o recebimento do envio de uma carga, o aplicativo marca localmente todas as coletas da carga e todas as evidências associadas como enviadas, e em seguida apaga do aparelho os arquivos de evidência dessas coletas — independentemente de essas evidências terem de fato chegado ao servidor.
Troubleshooting
Tela de Enviar Coleta mostra “Não há coletas para enviar” mesmo tendo registrado coletas
Mensagem exibida: “Não há coletas para enviar”
Cenário: pode ser porque realmente não há coletas pendentes, ou porque a propriedade de alguma coleta pendente não foi encontrada nos dados salvos no aparelho, ou porque o carregamento da lista falhou sem aviso explícito.
O que fazer: confirmar se de fato foram registradas coletas nesta sessão; se sim, sincronizar os dados novamente antes de tentar de novo.
Botão de enviar não aparece
Mensagem exibida: “Nenhuma — o botão simplesmente não é exibido”
Cenário: não há nenhuma coleta pendente, ou há coletas pendentes mas nenhuma carga está marcada para envio.
O que fazer: marcar a caixa de seleção de ao menos uma carga na lista.
Confirmação de envio mostra aviso de propriedades sem registro
Mensagem exibida: “Não é possível enviar. Existe rota na carga atual com propriedades que não possuem Coleta ou Não Coleta preenchidas”
O que fazer: visitar as propriedades restantes do percurso e registrar coleta ou não-coleta em cada uma antes de tentar enviar novamente.
Envio falha com aviso genérico
Mensagem exibida: “Erro ao salvar a coleta. Certifique que possui internet e tente novamente”
O que fazer: confirmar conexão de internet real (não só rede conectada); tentar novamente; se persistir, avisar o suporte.
Envio de várias cargas para no meio, com aviso de que nem tudo foi salvo
Mensagem exibida: “Não foi possível salvar todos os registros. Certifique que possui internet e tente novamente” (além do aviso genérico de erro)
Cenário: foi selecionada mais de uma carga para enviar; uma ou mais cargas foram enviadas com sucesso antes de uma falha interromper o processo.
O que fazer: tentar enviar novamente — as cargas já enviadas com sucesso não precisam ser reenviadas; confirmar com o suporte se as cargas restantes aparecem no servidor.
Fotos ou vídeos de uma coleta não aparecem no servidor mesmo com o envio confirmado como sucesso
Mensagem exibida: “Nenhuma — o envio é confirmado como bem-sucedido mesmo quando a evidência não chega ao servidor”
Cenário: a carga enviada tinha mais de uma coleta, e a coleta sem evidência no servidor não era a primeira da carga.
O que fazer: avisar o suporte técnico — os arquivos no aparelho já podem ter sido apagados mesmo sem terem chegado ao servidor, então pedir para registrar a evidência de novo pode não resolver sozinho.
Casos de Uso
Caso 1 — Envio de uma única carga com sucesso
O coletor tem uma carga pendente, com todas as propriedades dos percursos já visitadas. Ele mantém a carga selecionada, confirma o envio, e a tela se fecha automaticamente ao concluir.
Caso 2 — Tentativa de envio com percurso incompleto
O coletor tenta enviar uma carga, mas uma propriedade do percurso ainda não tem coleta nem não-coleta registrada. A confirmação de envio mostra o aviso de bloqueio, sem opção de prosseguir.
Caso 3 — Envio de múltiplas cargas, uma delas falha
O coletor seleciona duas cargas para envio. A primeira é enviada com sucesso; a segunda falha por problema de conexão no meio do processo. O envio para ali, com o aviso de que nem todos os registros foram salvos; a primeira carga permanece marcada como enviada, e só a segunda precisa ser reenviada.
Caso 4 — Carga com múltiplas coletas, evidências de todas menos a primeira se perdem
O coletor registrou três coletas na mesma carga, cada uma com fotos de evidência. Ao enviar, o aplicativo confirma sucesso e apaga as evidências locais das três — mas só a primeira coleta tem suas fotos de fato registradas no servidor; as outras duas ficam sem evidência alguma, sem que nada no aplicativo indique isso.