Persistir Coleta
Persistir Coleta
A tela de Persistir Coleta é onde o coletor registra uma coleta de leite (quantidade, tanque, temperatura, qualidade) ou uma não-coleta (quando não há leite a recolher na propriedade, com o motivo).
Visão Geral
A tela de Persistir Coleta é onde o coletor registra uma coleta de leite (quantidade, tanque, temperatura, qualidade) ou uma não-coleta (quando não há leite a recolher na propriedade, com o motivo). É usada tanto para criar um novo registro quanto para consultar um já existente.
Pré-requisitos
- Ao abrir esta tela, o aplicativo pede a permissão de localização e verifica se o GPS está ativo; se não estiver, mostra um alerta perguntando se o coletor quer ativar o GPS ou continuar sem isso — esse alerta é apenas informativo nesse momento, não bloqueia o uso da tela.
- Para salvar uma coleta normal em uma propriedade que exige confirmação de localização, é preciso estar dentro da distância permitida da propriedade — ver “Geolocalização e Rastreamento”.
Fluxo Operacional
- O coletor chega a esta tela para criar um novo registro ou para consultar um já existente.
- O título da tela indica se é um cadastro novo ou a edição de um já existente.
- Para um registro novo, o coletor escolhe entre registrar uma coleta normal (preenchendo litros, tanque, temperatura, qualidade do leite e observação) ou marcar como não-coleta (preenchendo o motivo e a observação).
- Ao salvar, o aplicativo valida os campos preenchidos e, se for uma coleta normal, verifica a localização conforme a regra de bloqueio configurada.
- Com tudo validado, o registro é salvo e o coletor retorna para a tela anterior.
- Para um registro já salvo, os campos do formulário aparecem desabilitados; só é possível consultar, adicionar evidências, imprimir ou excluir — não editar os valores diretamente.
Interface e Comportamentos
Formulário de Coleta Normal
Mostra os campos de litros, tanque, temperatura, resfriamento (somente leitura), qualidade do leite (alizarol) e observação. Quando a qualidade selecionada é “Alterado”, os campos de litros e temperatura ficam vazios e desabilitados — essa classificação não registra quantidade nem temperatura.
Formulário de Não-Coleta
Mostra apenas o motivo (lista de seleção) e a observação da não-coleta.
Registro Já Salvo é Somente Consulta
Um registro já salvo anteriormente tem todos os seus campos de formulário desabilitados para edição direta. Para alterar algo, é preciso excluir o registro e criar um novo.
Botões de Ação
O botão Salvar e o botão Não Coleta só ficam disponíveis para um registro novo; num registro já salvo, os dois ficam desabilitados. O botão de Evidência fica sempre disponível, mesmo num registro já salvo. Os botões Imprimir e Excluir só ficam disponíveis para um registro já salvo.
Confirmação para Excluir
Excluir um registro exige confirmação explícita numa caixa de diálogo, avisando que a exclusão não pode ser desfeita.
Feedbacks ao Usuário
| Situação | Feedback | Texto exato |
|---|---|---|
| GPS desativado ao abrir a tela | Diálogo com opção de ativar | Título: “GPS desativado” / Conteúdo: “Ative o GPS para melhorar a experiência com o aplicativo, há coletas que não podem ser registradas sem a localização do dispositivo” |
| Motivo não informado (não-coleta) | Erro de validação | “Motivo não informado” |
| Observação da não-coleta não informada | Erro de validação | “Observação da não coleta deve ser preenchida” |
| Qualidade do leite (alizarol) não informada | Erro de validação | “Alizarol não informado” |
| Quantidade de litros não informada ou inválida | Erro de validação | “Quantidade de litros não informada ou o valor é inválido” |
| Valor de litros fora de um padrão numérico válido | Erro de validação | “O valor informado de litros não esta em um padrão número válido” |
| Temperatura não informada ou inválida | Erro de validação | “Temperatura não informada ou o valor é inválido” |
| Valor de temperatura fora de um padrão numérico válido | Erro de validação | “O valor informado da temperatura não esta em um padrão número válido” |
| Temperatura fora da faixa permitida | Erro de validação | “A temperatura deve estar entre 3 e 8” |
| Quantidade informada maior que a capacidade disponível do tanque | Erro de validação | “Quantidade de litros não pode ser superior a capacidade do tanque” |
| Bloqueio por localização: sem permissão de localização | Aviso (snackbar) | “Não é possível registrar. O aplicativo não tem permissão para acessar a localização do dispositivo” (ou “Não é possível excluir…”, ao excluir) |
| Bloqueio por localização: GPS desativado | Aviso (snackbar) | “Não é possível registrar. O GPS não esta ativado impossibilitando a localização do dispositivo” (ou “Não é possível excluir…”) |
| Bloqueio por localização: propriedade sem localização cadastrada | Aviso (snackbar) | “Não é possível registrar. A propriedade não possui localização cadastrada” (ou “Não é possível excluir…”) |
| Bloqueio por localização: distância maior que a permitida | Aviso (snackbar) | “Não é possível registrar. A distância da sua posição atual à da propriedade é superior à máxima permitida” (ou “Não é possível excluir…”) |
| Bloqueio desativado: aviso de GPS/permissão/localização (não bloqueia) | Aviso (snackbar) | Ex.: “O GPS não esta ativo impossibilitando a localização do dispositivo. Porém, será salvo o registro” |
| Falha ao obter localização, com GPS ativo e permissão concedida | Diálogo de confirmação | “Não foi possível obter sua localização, continuar mesmo assim?” |
| Registro salvo com sucesso | Aviso (snackbar) | “Registro salvo com sucesso” |
| Falha ao salvar (sem causa específica) | Aviso (snackbar) | “Erro ao salvar o registro. Tente novamente” |
| Confirmação antes de excluir | Diálogo | Título: “Excluir registro” / Conteúdo: “Ao excluir o registro não será possível o recuperar. Caso deseja excluir clique em confirmar” |
| Registro excluído com sucesso | Aviso (snackbar) | “Registro excluído com sucesso” |
| Falha ao excluir | Aviso (snackbar) | “Erro ao excluir o registro. Tente novamente” |
Regras de Negócio
Validação de campos — não-coleta
Motivo e observação são obrigatórios para registrar uma não-coleta.
Validação de campos — coleta normal
A qualidade do leite (alizarol) é obrigatória. Se a classificação for “Alterado”, a quantidade e a temperatura são zeradas automaticamente e não precisam ser informadas. Para qualquer outra classificação: a quantidade (maior que zero) e a temperatura (entre 3 e 8 graus) são obrigatórias, e a quantidade somada ao que já está usado no tanque não pode superar a capacidade do tanque.
Ordem de validação
Antes de salvar ou excluir, o aplicativo sempre valida os campos preenchidos primeiro; só depois disso verifica a localização. Se a validação de campos falhar, a verificação de localização nem chega a ser feita.
Evidências e Documentos Gerados
Fotos de Evidência da Coleta
O botão de Evidência leva à tela onde é possível adicionar fotos à coleta atual. Diferente dos demais campos do formulário, esse botão fica disponível tanto para um registro novo quanto para um já salvo.
Geolocalização e Rastreamento
Bloqueio de Coleta por Localização
A verificação de localização só se aplica a registros de coleta normal — uma não-coleta não exige localização nenhuma. Se o bloqueio de coleta por localização estiver desativado, qualquer problema de GPS ou permissão apenas gera um aviso, e o registro é salvo mesmo assim, sem a localização. Se o bloqueio estiver ativado, o registro só é salvo se: o GPS estiver ativo, a permissão de localização estiver concedida, a posição atual for obtida com sucesso (ou o coletor confirmar expressamente que quer continuar sem ela), a propriedade tiver localização cadastrada, e a distância entre a posição atual e a da propriedade não for maior que o raio configurado.
Troubleshooting
Lista de tanque/qualidade/motivo parece não responder em um registro já salvo
Mensagem exibida: “Nenhuma — a seleção é aceita visualmente, mas o valor não muda”
Cenário: o coletor abre um registro já salvo e tenta trocar o tanque, a qualidade do leite ou o motivo.
O que fazer: explicar que registros já salvos não podem ser editados diretamente — para corrigir, é preciso excluir o registro e criar um novo.
Erro de validação de campos ao tentar salvar
Mensagem exibida: uma das mensagens específicas de validação (ver “Feedbacks ao Usuário”)
O que fazer: corrigir o campo apontado pela mensagem e tentar salvar novamente.
Registro bloqueado por localização
Mensagem exibida: uma das mensagens de bloqueio por localização (ver “Feedbacks ao Usuário”)
O que fazer: confirmar se o GPS está ativo e a permissão de localização concedida; se o coletor estiver mesmo dentro da propriedade e o aviso persistir, avisar o suporte para confirmar a localização cadastrada da propriedade.
Alerta de GPS desativado ao abrir a tela
Mensagem exibida: “Ative o GPS para melhorar a experiência com o aplicativo, há coletas que não podem ser registradas sem a localização do dispositivo”
O que fazer: ativar o GPS pelo próprio alerta antes de registrar, especialmente se o bloqueio por localização estiver ativo.
Casos de Uso
Caso 1 — Registro de uma coleta normal com sucesso
O coletor está dentro da propriedade, com GPS ativo. Ele preenche litros, tanque, temperatura e qualidade do leite, salva, e o aplicativo confirma o sucesso e volta para a tela anterior.
Caso 2 — Registro de uma não-coleta
A propriedade não tem leite para recolher no dia. O coletor marca “Não Coleta”, escolhe o motivo e descreve a observação, sem precisar de localização.
Caso 3 — Qualidade “Alterado”
O coletor identifica que o leite está com problema de qualidade. Ele seleciona “Alterado” na qualidade do leite; os campos de litros e temperatura ficam vazios e desabilitados, e o registro é salvo sem esses valores.
Caso 4 — Tentativa de registro fora da área permitida
O coletor está longe da propriedade (ou a localização não pôde ser obtida) e o bloqueio por localização está ativo. O aplicativo recusa o registro, mostrando o aviso correspondente.
Caso 5 — Consulta de um registro já salvo
O coletor toca em um registro já feito só para confirmar os dados. Os campos aparecem preenchidos mas desabilitados; ele pode imprimir, excluir ou adicionar evidências, mas não editar os valores.