Uma venda no PDV sem servidor: a fila local em ação
No artigo anterior contei a ideia: o caixa grava a venda primeiro no próprio computador e só depois envia para a nuvem. Aqui está uma venda de verdade no modo de demonstração, sem nenhum servidor conectado. O caixa, o operador e os produtos são fictícios.
O que acontece
- Abertura do caixa: o operador se identifica com código e PIN (verificados no próprio caixa, sem rede) e informa o fundo de troco.
- Leitura dos produtos: o campo aceita o código de barras,
2*códigopara quantidade e0,350*códigopara produtos pesáveis, como a banana. - Pagamento: dinheiro, PIX ou cartão, em uma ou mais formas. Aqui, R$ 100,00 em dinheiro para uma compra de R$ 57,06, com troco de R$ 42,94.
Onde está a parte "offline"
Olhe a barra superior: ela mostra "1 a enviar à nuvem" logo após abrir o caixa e "2 a enviar à nuvem" depois da venda. Cada evento (abertura, venda) entra numa fila local, com hash encadeado, e espera a sincronização. Sem servidor, a fila só cresce, e o caixa continua vendendo normalmente.
Um detalhe para não confundir: o selo "Online" ao lado de "PDV" indica o modo fiscal (normal ou contingência), não a conexão de rede. Como a emissão de NFC-e ainda não está implementada, ele fica sempre "Online" nesta demonstração.
O que vem depois
Quando a conexão volta, o caixa envia a fila em lotes assinados, e a nuvem confere a sequência e o hash de cada evento. Na próxima etapa quero mostrar essa conferência, incluindo o que acontece se a resposta do servidor se perde no meio do caminho.