ridotto per velocizzare il processo di lettura di qr code.
la classe qrscanner è utilizzata solo a fini di test per la lettura di qr code con webcam.
nel frmcerca aggiunto campo nascosto per gestire la lettura del qr code senza mostrarlo a video, viene inserito il numero di tessera solo se i controlli vanno a buon fine
nel form principale (puntocassa) non è stato necessario, in quanto ci sono thread in ascolto che leggono i caratteri (emulazione tastiera), validi sia per il qr code che per rfid.
nella classe qrcryptoservice.java è inserito il timer del qr code (CLOCK_SKEW) a 60 secondi, nonchè la chiave AES per la decriptazione (AES_KEY): dovrà essere modificata quando si andrà in produzione.
L'algoritmo di decriptazione usato per il qr code è AES-256 con CBC.
in caso di presenza di una prenotazione legata ad una tessera, il saldo non viene aggiornato se la stessa risulta già pagata.
inoltre, se pagata, non sarà possibile modificare i prodotti presenti nel carrello.
effettuata pulizia codice e creazione nuove funzioni per migliorare la leggibilità del sorgente
il metodo sommaColonne calcola i totali dei prodotti selezionati. Nel caso di selezione prodotti prima della scelta della tessera, va ricalcolato il prezzo totale prima della verifica del saldo (che viene fatto in pulsantiModoPagamento())
se una tessera ha una prenotazione, viene controllato il saldo prima del caricamento completo della tessera (e del saldo), per cui risulta sempre negativo e viene mostrato il messaggio di errore "saldo insufficiente. Spostato il metodo pulsantiModoPagamento() per permettere il caricamento del saldo prima del controllo dello stesso.
pulizia codice
spostamento metodo pulsantiModoPagamento, che richiama il calcolo del saldo. esso verrà richiamato dopo l'aggiornamento della fascia (conseguente alla scelta della tessera)