1.45.8.0 2022-03-01 (EWT) - Added the possibility to set the PIN code length in configuration (myconf.config) 7 - updated GetLine() method in modMain to be able to print the PIN code with the desired length 1.45.7.0 2022-02-12 (EWT) - Added PAY WITH PIN CODE (see PayTicket and PayInTicket and method in ModMain): Redmine #19332 1.45.6.0 2021-10-15 (EWT) - Added PROHIBITION ON EXIT check in ParkCame.asmx.vb inside the InTicket method for Redmine #18421 1.45.5.4 2021-07-15 (SV) - Bugfix: anomaly in the inside area terminals (#18565) 1.45.5.3 2021-05-04 (NB) - fix log WebServicePlateReading 1.45.5.2 2021-03-30 (NB) - daily ticket bugfix 1.45.5.1 2021-03-18 (NB) - receipt VAT management label 1.45.5.0 2021-03-08 (NB) - new receipt VAT management 1.45.4.33 2021-02-10 (NB) - Prebooking API integration - AMPP: new tariffs two days long fix 1.45.4.32 2021-02-01 (NB) - AMPP: new tariffs two days long 1.45.4.31 2021-01-21 (NB) - Bugfix: Tper payment type 2021-01-20 (NB) - Bugfix: Tper amount 1.45.4.30 2020-12-16 (NB) - Bugfix: exit with parking full issue 2021-01-07 (NB) - Bugfix: ticket service Came Adriatic 1.45.4.29 2020-12-15 (NB) - Bugfix: Revenco tariff amount on exit terminal 1.45.4.28 2020-12-09 (NB) - came adriatic correct the calculation formula for fiscalization 2020-12-14 (NB) - came adriatic daily ticket issue 1.45.4.27 2020-12-04 (NB) - Bugfix Revenco tariff amount blocked 1.45.4.26 2020-12-02 (NB) - came adriatic new method for fiscalization keepalive 1.45.4.25 2020-12-02 (NB) - came adriatic fiscalization - bugfix revenco ticket amount Ver 1.45.4.24 2020-11-24 (NB) - Croatian fiscalization - Bugfix Revenco tariff amount blocked Ver 1.45.4.23 2020-11-10 (NB) - Revenco bugfix tariff amount blocked Ver 1.45.4.22 2020-11-04 (NB) - Tper bugfix service ticket exit with a partial payment - Tper bugfix discount with a service ticket - Revenco bugfix service ticket payment Ver 1.45.4.21 2020-10-20 (NB) - Tper bugfix disable ticket on exit terminal - Tper bugfix ticket amount - Revenco bugfix tariff amount blocked - Tper save second code to movtransitextention Ver 1.45.4.20 2020-10-19 (NB) - Tper card with discount - Revenco bugfix renew after payment - Revenco bugfix check in time renew - Revenco bugfix tariff amount blocked - Tper ticket 30gg Ver 1.45.4.19 2020-10-02 (NB) - Revenco bugfix interrupted payment with service ticket Ver 1.45.4.18 2020-10-02 (NB) - Revenco bugfix ticket service Ver 1.45.4.16 2020-09-18 (NB) - Issue with invoice witout tax 2020-09-17 (NB) - bugfix ticket service Ver 1.45.4.15 2020-07-21 (NB) - Revenco change tariff delay - Revenco service ticket with postpaid Ver 1.45.4.14 2020-07-13 (NB) - fixed AMPP Troika Ver 1.45.4.13 2020-06-29 (NB) - fixed service ticket (Adriatic) Ver 1.45.4.12 2020-06-17 (NB) - fixed partially service ticket (Adriatic) - fixed bug POF amount receipt (Gulf) 2020-04-29 (NB) - fixed AMPP Troika Ver 1.45.4.11 2020-04-23 (NB) - fixed marocco plate number Ver 1.45.4.10 2020-04-07 (NB) - fixed Fiscalization for Came Adriatic Ver 1.45.4.9 2020-03-23 (NB) - parameter clearPlateWithSubscription Ver 1.45.4.8 2020-02-05 (NB) - Troika AMPP mod TicketKey format Ver 1.45.4.7 2020-02-03 (NB) - Troika AMPP phase 2 - Troika AMPP check entry unit ticket Ver 1.45.4.6 2019-12-19 (NB) - Troika AMPP bugfix if Api are offline Ver 1.45.4.5 2019-11-11 (NB) - modify payload Troika AMPP Api - modify counter panel library in order to have multiple floor counters on a single line Ver 1.45.4.4 2019-11-07 (NB) - new parameter PayInTicketDelay in order to forcing a delay during the execution Ver 1.45.4.3 2019-11-05 (NB) - Bugfix QRCode Moldavia Supermarket1 change tariff - QRCode Moldavia Supermarket1 save sender identification code on DB Ver 1.45.4.2 2019-10-30 (NB) - commit - fix QRCode Moldavia Supermarket1 Ver 1.45.4.1 2019-10-15 (CA) - commit - - modifiche per gestione QRCode Moldavia Supermarket1 - #14314 - modifiche e fix Gestione TROIKA 2019-10-11 (CA) - commit - #14314 - modifiche Gestione TROIKA ver 1.45.3.1 2019-10-02 (CA) - RILASCIO VERSIONE - commit - COMMENTATA RIGA PERCHE' PERMETTEVA ACCESSO A QUALSIASI TESSERA...ANCHE NON VALIDA (CON MODULO SOGEMI DISATTIVATO) ver 1.45.2.1 2019-09-18 (CA) - commit - Porting modifiche servizi ver. 1.29.0.11 su questa versione per came Adriatic 2019-08-27 (CA) - commit - AGGIUNTI METODI PER COMPATIBILITA' VERSIONI - INTEGRAZIONE PARKVIA ver 1.45.1.1 2019-07-22 (FC) - RILASCIO VERSIONE - .commit - modificata funzione modPayment.UpdateFreeExitTime, eliminato il limite di risultati sulla query che azzera il tempo gratuito sui pagamenti ancora attivi. (evita che l'applicazione della tariffa appena cambiata sia resa inefficace nel caso siano state generate in precedenza più righe di pagamento) 2019-07-12 (CA) - .commit - Correzione parametro terminale in rilevazione targa e valutazione input fotocellule da telecamera per classificazione veicolo ver 1.45.0.1 2019-07-10 (CA) - RILASCIO VERSIONE - Corretto valutazione classe veicolo con fotocellule. Aggiunto parametro per abilitare o meno l'uso delle fotocellue - Aggiunto metodo per validazione "Merce valida" da cassa manuale - Aggiunto controllo su ReservationManage_v3 per recupero id prenotazione se operation è delete reservation con PNR ver 1.44.1.1 2019-07-01 (CA) - RILASCIO VERSIONE - Aggiunta valutazione dei parametri delle fotocellule per la classificazione della classe veicolo Ver 1.44.0.1 2019-05-03 (FC) - RILASCIO VERSIONE - .commit - NB: la versione precedentemente rilasciata il 03/04/2019 era stata rilasciata come 1.44.1.1, questo rilascio corregge l'errore) 2019-04-03 (FC) - aggiunto controllo che permette l'ingresso senza targa agli abbonati registrati senza targa a cui la targa non viene letta in ingresso 2019-04-02 (FC) - corretto il controllo del codice ricevuto dal PSAC132/144 considerando la presenza eventuale del byte che indica il numero di antenne installate - integrata su funzione GetJSON_Data, funzione getsubscriber per ricerca dati abbonati Ver 1.43.1.1 2019-03-27 (FC) - RILASCIO VERSIONE - .commit - aggiunto controllo su emissione lost ticket da palmare per escludere la targa obbligatoria (il palmare non può avere targa) 2019-03-22 (FC) - migliorata gestione salvataggio dati offline ricevuti da colonnina - importata lingua romena per le traduzioni delle ricevute di pagamento (modReceipt) 2019-03-19 (FC) - aggiunta gestione uscita automatica con targa in caso di transito valido - aggiunta segnaposto %cls per stampare la classe veicolo sul ticket Ver 1.41.2.1 2019-03-18 (FC) - RILASCIO VERSIONE - .commit - modificata funzione modImages.SaveTransitImages, adattato salvataggio immagini per gestire correttamente anche quelle di contesto 2019-03-14 (FC) - rilascio versione in test - .commit - modificata funzione modImages.SaveTransitImages per salvare anche le immagini di contesto e renderle disponibili in wisepark - .commit - modificata funzione Offline_Transits, eventuali anomalie sul salvataggio dei transiti offline ora vengono solo loggate ma non contrassegnate come errate per venire reinviate Ver 1.41.1.1 2019-02-07 (FC) - modificate funzioni Cerca_Tariffa, veniva cercata l'associazione con la classe usando il valore di claPosition cercato come id - .commit - aggiunta funzione modPayment.UpdateFreeExitTime, per togliere il tempo di uscita gratuito nel caso in cui venga fatto cambio tariffa - modificata funzione clsFunctions.ChangeTariff Ver 1.41.0.1 2018-12-03 (FC) - RILASCIO VERSIONE - .commit - merge revisioni 4331-4360 === merge revisioni 4331-4360 === 2018-12-03 (FC) - .commit 2018-11-26 (FC) - modificata funzione KeepAlive per gestire retromarcia con ricezione di codici biglietti multipli (utilizza $ come separatore) - eliminati riferimenti a CAME.PSONE.Api.Service.Models.enums.vehicleclass non più usata - aggiunto enum kiunsys_vehicleclass solo per compatibilità con mappatura classe veicoli statica creata prima di definire la tabella di mappatura 2018-11-23 (FC) - .commit - aggiunta conversione classe veicolo in base a mappatura definita su database (nuove tabelle tabClassMapping,tabClassExtTypes) 2018-11-09 (FC) - .commit 2018-10-30 (FC) - aggiunte stampanti KPM a enum subDeviceType - aggiunte proprietà sClassScore e sColorScore a metodo PlateReadingAdvanced Ver 1.40.1.1 2018-10-25 (FC) - RILASCIO VERSIONE - .commit - corretto controllo per black list su InTicket, era posizionato in maniera errata 2018-10-24 (FC) - modificata funzione modExternalApi.MakeRequest, convertite le date da formato data in formato stringa stampabile (basato su cultura locale) per stampa su ticket - modificata funzione Parse_DeviceStatus, aggiunto controllo che se ricevuto outofserviceoff e colonnina in stato allout viene inviato il messaggio alloutoff (per richiesta di Kiunsys di avere un messaggio generale di rimessa in servizio della colonnina) 2018-10-23 (FC) - aggiunto parametro, su modExternalAPI.MakeRequest, RequestTimeout per definire il tempo di connessione massima per la connessione al server rest esterno - modificati metodi PlateReading e PlateReadingAdvanced per utilizzare la nuova funzione WebservicesPlateReading - aggiunto salvataggio versione firmware telecamera su tabella tabterminal (solo per messaggio aggiornamento PlateReadingAdvanced) - aggiunta funzione modPlate.WebServicePlateReading, spostato tutto il controllo di flusso di ricezione dei dati della telecamera. Unificato per la gestione del messaggio vecchio (PlateReading) e di quello nuovo (PlateReadingAdvanced) - modificato modulo modCategory per gestione conversione classe veicoli PSONE/Vigilate/Kiunsys === FINE merge revisioni 4331-4360 === Ver 1.40.0.1 2018-10-19 (FC) - .commit - modificati metodi InTicket, OutTicket, KeepAlive per controllare le targhe in blacklist, targhe il cui passaggio verrà bloccato 2018-10-11 (FC) - .commit - creato modulo modTelepass in cui spostare e creare le funzioni relative all'utilizzo con il telepass - creato branch per sviluppo Interporto Prato (associazione telepass a abbonati tramite targa) Ver 1.39.4.7 2018-10-18 (FC) - .commit - applicate correzioni su calcolo costo parcheggio con pagamento effettuato prima dell'uscita dalle aree interne creata funzione modRoutes.CheckPaymentAnomaly Ver 1.39.4.6 2018-10-18 (FC) - creata funzione modTransit.FindRealParkingEntryTime per ricavare la prima data di ingresso effettuata con il codice utilizzato (per trovare il primo utilizzo con i percorsi) Ver 1.39.4.5 2018-10-17 (FC) - RILASCIO VERSIONE - .commit - modificata funzione modRoutes.isValidTrackNew, aggiunta funzione GetTimeLimit per ricavare il tempo di uscita eventualmente ancora attivo per il passaggio attuale che deve essere applicato per non ricalcolare costi aggiuntivi 2018-10-16 (FC) - modificata funzione isAnomalyBlock, aggiunto il controllo sull'ora di effettivo ingresso in parcheggio per il movimento ricercato (aggiunta fatta per evitare che il passaggio di un abbonato trovasse ancora anomalie relative a passaggi precedenti già conclusi dopo l'uscita dal parcheggio) - modificata funzione InTicket, corretto controllo stati ricevuti da server (sstatus>900) che erano valutati solo per device XP3BOARD Ver 1.39.4.4 2018-10-12 (FC) - .commit - modificata funzione modPark.Get_ParkPlaces, spostato il caricamento dei parametri anche fuori prenotazione per avere sempre il dato disponibile (ReservationGetConfigurationParameter) - modificata funzione modPark.Get_ParkPlaces, aggiunto il controllo anche sul tempo previsto di ritardo per l'uscita - modificata funzione modPark.GetFreePark, spostato il caricamento dei parametri anche fuori prenotazione per avere sempre il dato disponibile (ReservationGetConfigurationParameter) - modificata funzione modPark.GetFreePark, aggiunto il controllo anche sul tempo previsto di ritardo per l'uscita - modificata funzione InTicket, se viene letta una prenotazione sulle righe custom da stampare in fondo al biglietto viene ignorata l'eventuale riga che riporta la data di fine periodo gratuito (parametro %t), questo viene fatto perchè sulla seconda riga vengono riportati i dati della prenotazione e ci si ritroverebbe una prima riga che contiene un testo scollaegato dal successivo (funziona SOLO con parametro %t) Ver 1.39.4.3 2018-10-11 (FC) - .commit - modificato metodo inTicket. su caricamento dati prenotazione, se una prenotazione non risulta valida e cancellata interrompe l'elaborazione del messaggio per uscire con success=false altrimenti l'elaborazione continua, viene creato un movimento con codice prenotazione sul campo traBadge e nessuna azione sulla prenotazione e nessun ticket stampato Ver 1.39.4.2 2018-10-10 (FC) - RILASCIO VERSIONE - .commit - correzioni varie ingressi/uscita con validazione targa da operatore nel caso di abbonati che accedono come occasionali 2018-10-08 (FC) - modificata funzione isValidTrackNew, aggiunto controllo sui posti disponibili per gruppo e per l'area. Se è un'area di passaggio blocco l'accesso in caso di posti non disponibili - su funzione isReservation aggiunto controllo che esclude dai risultati le prenotazioni che non siano state confermate (aggiungo anche quelle già usate - stato 1 - perché per quelle ho il controllo sui transiti residui) - modificata funzione isReservation, aggiunto parametro per identificare se la richiesta è ricevuta da un messaggio di retromarcia per poter cercare anche i movimenti associati a prenotazioni già associate (in modo da riuscire a trovare il codice collegato a una prenotazione quando viene fatta la retromarcia dopo aver fatto il qrcode). Non veniva trovato in uscita, in quanto il transito era stato già disattivato Ver 1.39.4.1 2018-10-05 (FC) - RILASCIO VERSIONE - .commit - modificata funzione ReservationCompleteAssociation, aggiunto il cambio di data limite pagamento mettendo ad adesso se il tipo prenotazione è con FEE. (altrimenti viene consentita l'uscita dal parcheggio senza pagare) - aggiunto su modClasses.ct_ReservationConfigurationResult. enuPaymentConfig il tipo PaymentFee - corretta funzione Get_ParkPlaces, il periodo di ricerca delle prenotazioni non era corretto - corretta funzione GetFreePlaces, il periodo di ricerca delle prenotazioni non era corretto 2018-10-03 (FC) - aggiunto controllo su Keepalive per evitare richieste simultanee - correzioni Minsk - su metodo InTicket le letture fatte da prenotazioni in ingresso non salvavano l'id della prenotazione sulla variabile wResId, non associando la prenotazione all'ingresso, sostituito il controllo usando l'oggetto wReservationInfo - su metodo InTicket caricati i dati della prenotazione prima di verificare se fare la richiesta operatore di validazione targa, altrimenti il passaggio non viene mai autorizzato - su metodo InTicket spostata la verifica della validità del biglietto prima del controllo validazione targa da operatore, altrimenti la richiesta di validazione veniva inviata anche con titoli non validi 2018-10-02 (FC) - .commit - avanzamento chiamate API esterne per integrazione con Kiunsys 2018-09-21 (AC) - Modificata la funzione SaveForcedStatus per gestire il salvataggio di più terminali sul file currentforcedstatus.txt 2018-09-17 (FC) - creato metodo GetGUID per generazione guid univoco per eventuali operazioni di manutenzione manuali 2018-09-14 (FC) - .commit - avanzamento sviluppi per Sogemi (integrazione Kiunsys) 2018-09-07 (FC) - .commit - creazione funzioni (LoadCurrentStatus e SaveForcedStatus) per salvare lo stato da impostare sulle colonnine, stato da ripristinare in caso di riavvio dei webservices - corretta impostazione modalità "outofservice" che non veniva impostata 2018-09-05 (FC) - .commit - aggiunte integrazioni per validazione biglietti esterna al sistema psone (progetto sogemi - mercati generali milano -) (sviluppi su modExternalApi, aggiunte chiamate su Parkcame.asmx: - InTicket - OutTicket - KeepAlive - RequestPrintTicket - PayInTicket - PayTicket) 2018-08-30 (FC) - .commit - corretta funzione isReservation, durante il controllo di esistenza di una prenotazione tramite la targa veniva sempre considerata valida la prima prenotazione trovata, indipendentemente dalla targa ricevuta e dalla targa registrata sulla prenotazione (il problema si verificava anche se sulla tabella movReservation erano salvati dei voucher) Ver 1.39.3.1 2018-08-10 (FC) - RILASCIO VERSIONE - .commit 2018-08-09 (FC) - correzioni su funzioni: - modPark.GetFrePark - modPark.Get_ParkPlaces - .commit - aggiunto modMain.enuTicketType tipo ReservationFee = 40 - aggiunte funzioni (unificate da versione 1.29.9.1 Minsk) - modPaymentOnline.GetReservationFeeJSON - modReservation.GetReservationConfigDB - modReservation.GetReservationCheckDate - modTariff.funcGetAmount - modificata funzione modReservation.GetReservationCheckDate. Gestita la possibilità di personalizzare il tempo precedente e successivo all'inizio della prenotazione che viene consentito per considerare la prenotazione valida - modificata funzione modReservation.funcReservationGetPNRList. Aggiunta possibilità di caricare prenotazioni non associate a un'area (importato da versione 1.29.9.1 Minsk) - aggiunta il controllo del numero di anticipo necessari per l'acquisto di una prenotazione - modificata funzione modPark.GetFreePark. Nel caso di prenotazione, se l'area prevede un numero di posti riservati ai soli prenotati, quel valore viene utilizzato come capienza massima dell'area - modificata funzione modPark.Get_ParkPlaces. Nel caso di prenotazione, se l'area prevede un numero di posti riservati ai soli prenotati, quel valore viene utilizzato come capienza massima dell'area - aggiunto parametro "getreservationfee" su funzione Get_JSONData per ottenere il costo del diritto di prenotazione (importato da versione 1.29.9.1 Minsk) - aggiunto parametro "getreservationconfig" su funzione Get_JSONData per ottenere la lista di tutti i campi della tabella di configurazione delle prenotazioni in un unico oggetto (esteso automaticamente ai nuovi elementi aggiunti sul database) 2018-08-07 (FC) - modificata funzione modPark.Get_ParkPlaces, modificata la query che controlla i posti prenotati, che non considerava correttamente il giorno (prendeva le prenotazioni del giorno precedente) - modificata funzione modPark.GetFreePark, modificata la query che controlla i posti prenotati, che non considerava correttamente il giorno (prendeva le prenotazioni del giorno precedente) - creata funzione modReservation.GetReservationCheckDate in cui calcolare le date di inizio e fine prenotazione (sulla base della data prevista di arrivo) 2018-07-26 (FC) - modificata funzione paySubscriber, registrava tutti i pagamenti come da fatturare senza considerare la variabile wInvoice che stabilisce se l'abbonamento è da fatturare 2018-07-23 (FC) - importato modulo Newtonsoft JSON - aggiunto modulo modExternalAPI per gestione chiamate esterne 2018-07-20 (FC) - .commit 2018-07-19 (FC) - modificata funzione Parkcame.asmx.GetFreePlaces, non azzero lo stato di parcheggio chiuso (freeplaces=-1) per permettere alla cassa manuale di poter visualizzare lo stato corretto - modificata assegnazione valori .rDateTime su oggetto ct_OutTicketResult, aggiungendo ovunque la formattazione standard "formatEx(Now, vrShortDateLocalFormat & " " & vrLongTimeLocalFormat)" per la visualizzazione in formato locale (risolve il problema che la stampa di un biglietto a fronte di una lettura di una prenotazione/voucher di sconto riportava sempre la data di ingresso in formato USA mm/gg/aaaa) 2018-07-16 (FC) - modificato calcolo iva da applicare a pagamento su funzione modTariff.Calc_VatExtract viene calcolata l'iva solo sull'importo effettivamente pagato (se il pagamento non è completato) oppure sull'importo totale da pagare se il totale pagato supera il richiesto (es. per resti non resi) - sostituita funzione Calcola_IVA con modTariff.Calc_VatExtract per unificare le chiamate - creata funzione modTariff.Calc_VatExtract, per il calcolo dell'iva (SOLO scorporo). funzione utilizzata in tutti i punti del codice dove veniva fatto il calcolo 2018-06-08 (FC) - .commit - modificata funzione modImages.MoveImage e modImages.CopyImage aggiungendo l'informazione sul tipo di dato da salvare (o file su disco o contenuto locale in base64) - aggiunta funzione modLog.Write_FileByte per scrivere un file da un byte array - modificata funzione Images.SaveTransitImages, passo come parametro l'eventuale immagine della targa letta, da usare al posto dell'immagine attuale della corsia 2018-06-04 (FC) - aggiornato file modSekuplate.vb, applicati alcuni bug fix già inseriti su branch Aeroporto FVG Ver 1.39.2.1 2018-05-30 (FC) - RILASCIO VERSIONE - corretto controllo per visualizzare messaggio lettura targa in corso solo quando è definito un limite di durata del trigger 2018-05-24 (FC) - corretto salvataggio immagini corsia su lettura tessera smartdiesel e voucher, non scattava le foto 2018-05-22 (FC) - importate correzioni fatte su versione aeroporto FVG - corretta funzione Offline_Transits, se letto un biglietto in uscita con tariffa ancora gratuita (in tempo di ripensamento) non veniva creato nessun movimento (con movimento in ingresso era fatto offline e la colonnina era ancora offline) - corretta funzione Offline_Transits, sui movimenti offline ricevuti dalle colonnine di uscita non veniva trattato correttamente il tipo di codice ricevuto generando un errore sul salvataggio del movimento su database 2018-05-21 (FC) - .commit - corretto su payInTicket controllo su utilizzo secondo biglietto utilizzato per impedire uso biglietto parcheggio per sconti (se letto un voucher associato al biglietto, viene fatto l'abbinamento con il codice biglietto parcheggio e valutato quest'ultimo, risultando quindi una lettura di un codice parcheggio come secondo biglietto) rif #REF_CHECKNOPRENOT - disattivo wAllowExitWithPlateOnly perché non completamente integrato e perché crea interferenze con la validazione targa da operatore in uscita - modificate sulle funzioni InTicket e PayInTicket le query di modifica su movTransit per il salvataggio della tariffa e/o degli sconti (evitando di salvare i dati non impostati) (modifica per evitare ad esempio l'azzeramento della tariffa impostata sulla prenotazione che veniva prima impostata su salva_movimento e poi azzerata in quanto non definita sul metodo InTicket) - spostato controllo validità biglietto letto in ingresso (InTicket) per valutare prima se necessario accedere alla validazione della targa da operatore e evitare di processare ticket non validi - aggiunta gestione validazione targa da operatore su lettura tessera magnetica (SmartDiesel) - aggiunta cancellazione targa globale su InTicket e OutMultiTicket, con chiamata SetPlate aggiunta la chiamata a vrCurrentPlate.RemovePlate 2018-05-14 (FC) - modificato modStructures.subDeviceType. Aggiunto: PAYVK80_KIOSK = 11003 e FISCALPRINTER_LEOCAS = 11004 2018-05-11 (FC) - .commit 2018-05-09 (FC) - aggiunto messaggio "Lettura targa in corso" da visualizzare sulla colonnina mentre viene letta la targa (non blocca la possibilità di richiesta del ticket, funziona solo con modalità trigger e solo con timeout di durata del trigger e sono con aggiunta della nuova voce su DB) - applicate alcune piccole correzioni alla gestione della lettura targa con trigger (gestione della durata del trigger in caso di mancata lettura non era gestito bene) 2018-05-09 (FC) - .commit - modificata funzione modMain.Salva_Accesso, aggiunto il controllo sulla durata del biglietto di accesso (tabTicketType.ticDuration) (se viene definita una durata questa sovrascrive le regole predefinite) - creata funzione modMain.GetTicketTypeGroup, per ottenere l'ambito a cui si applica il tipo biglietto (se ci sono più biglietti per lo stesso cliente viene valutato il dato generico senza dover controllare tutti i singoli stati) - aggiunta funzione modTariff.FindRealParkingStartTime per trovare la prima data di ingresso nell'area escludendo le aree pedonali (la ricerca si ferma o all'inizio dei movimenti, oppure alla prima area non pedonale diversa da quella attuale) - modificata funzione ParkCame.asmx.ChangeCustomLines, tolgo la forzatura in minuscolo della seconda riga custom da stampare in sul biglietto 2018-05-08 (FC) - importate funzioni per integrazione trigger telecamera sekuplate 2018-05-07 (FC) - modificata funzione PayInTicket, sul salvataggio degli sconti su movTransit non veniva composta correttamente la query (poteva generare errori in caso di dati non completi e non salvava i dati se richiesto un cambio tariffa invece di uno sconto) Ver 1.39.1.1 2018-05-04 (FC) - modificati controlli per permettere il passaggio in parcheggio usando una prenotazione, quando è attivo il controllo di validità della targa 2018-05-03 (FC) - corretto il controllo su PayInTicket, se letto un biglietto non valido su colonnina di uscita con pos apre sempre la barriera 2018-04-26 (FC) - aggiunto controllo per gestione validazione targa da operatore su ingresso su metodo InTicket (era gestito solo su outTicket) - modificata funzione modReservation.isReservation, cerco il codice biglietto associato alla prenotazione solo se ho trovato una prenotazione valida Ver 1.39.0.1 2018-04-11 (FC) - RILASCIO VERSIONE per validazione - modificata funzione modPSAC132.GetPSAC132 per verificare la presenza di comandi speciali (richieste di apertura/chiusura, ecc) da remoto da inviare a terminale virtuale 2018-04-06 (FC) - aggiunto metodo ReservationManage_v3, permette la registrazione in un unico metodo di una nuova prenotazione e il relativo pagamento - corretto controllo posti disponibili parcheggio modPark.Get_ParkPlaces, non considerava come posto non prenotabile le prenotazioni con data di inizio allo stesso giorno della data di cui controllare la disponibilità () 2018-04-05 (FC) - aggiunto metodo GetFreePlacesPeriod per ottenere per un periodo di tempo i posti disponibili in parcheggio per ogni giorno del periodo 2018-04-03 (FC) - modificata funzione modPayment.Salva_Pagamento. Disattivato salvataggio importo iva calcolata sul pagamento quando il pagamento non è stato completato (per evitare che l'iva venga considerata sui report ogni volta che viene tentato un pagamento anche se fallito) 2018-03-12 (FC) - modificato metodo KeepAlive, migliorata gestione lettura targa presente su corsia utilizzando un oggetto locale in cui salvare i dati senza doverli richiedere continuamente Ver 1.38.0.1 2018-03-09 (FC) - RILASCIO VERSIONE 2018-03-08 (FC) - aggiunta funzione GetTicketDataFromCode per ricavare data e ora dal biglietto parcheggio - modificata funzione GetInfoTicket, aggiunta la registrazione dei biglietti stampati offline e non presenti sul database - modificata funzione outMultiTicket, aggiunto il conteggio dei posti sulla generazione dei ticket - modificata funzione modRoutes.Create_Transit, aggiunto controllo se l'area di passaggio è un'area pedonale non faccio il conteggio dei posti - aggiunto modulo modArea per verificare se un'area è di tipo pedonale (nel caso non faccio il conteggio dei posti) 2018-03-05 (FC) - modificata funzione CompleteTicketReverse per disattivare/riattivare i movimenti dei biglietti secondari su retromarcia - modificata funzione ParkCame.asmx.ReverseAccess, controllo il tipo ticket, se ricevo un biglietto non di servizio faccio la retromarcia normale per i ticket parcheggio 2018-03-03 (FC) - Integrazione sviluppi SmartDiesel (revisioni 3827,3828,3832,3855,3858,3860,3877,3888,3899) 2018-03-03 (FC) - modificata funzione modCustomer.isPassbackTickets, se non esistono passaggi per il biglietto letto e viene letto in uscita (con controlli passback attivi) il passaggio viene bloccato 2018-03-02 (FC) - modificata funzione isValidTrackNew, non consento il passaggio se l'area attuale del parcheggio non corrisponde a una delle aree di passaggio 2018-03-01 (FC) - modificata funzione GetPSAC132, aggiunto il controllo che se il device ha 1 sola spira, non controlla lo stato barriera aperta ma solo il passaggio sulla spira 2018-02-27 (FC) - aggiunta funzione modLoops.UpdateCode, per scrivere il codice letto alla lettura o il codice stampato all'ingresso. chiamata su InTicket e OutTicket 2018-02-24 (FC) - modificata funzione modMain.Salva_Accesso, aggiunto parametro wDirection per specificare il verso del movimento (scala il posto solo se ingresso) - modificata funzione modMain.Salva_Accesso, salvo i transiti massimi consentiti utilizzando quelli presenti sul database se presenti e non ricevuti nei dati di pagamento - corretta funzione modTicketType.isServiceType, usciva in caso di codice numerico, quando in realtà doveva uscire con un codice non numerico 2018-02-23 (FC) - aggiunto tipo biglietto (enuTicketType) a parametri passati a funzione isValidTrackNew - modificata funzione ExistsTable, aggiunta la dictionary per memorizzare su globale la presenza della tabella 2018-02-22 (FC) - modifiche chiamate vrClsCustomer.LoadData con .Clone finale che danno eccezione nel caso la funzione restituisca nothing 2018-02-21 (FC) - create due nuove tipologie di biglietti su enuTicketType: SmartDiesel_PedestrianZone = 37 2018-02-18 (FC) - creato metodo ManageVoucher per la gestione delle chiamate di creazione voucher - creato modulo modVoucher per funzioni legate alla creazione di nuovi voucher 2018-02-16 (FC) - aggiunto controllo su Park_Counter che esclude il calcolo dei posti se la richiesta viene ricevuta da determinati dispositivi (esclude cassa manuale e cassa automatica) - aggiunto parametro a funzione Park_Counter dove inserire il tipo di codice biglietto inviato, serve a stabilire se il tipo di biglietto deve scalare i posti in parcheggio - completato invio immagini su richiesta Get_JSONData 2018-02-15 (FC) - aggiunto elemento a subDeviceType, WEBCAM = 20016 - aggiunto elemento a subDeviceType, MAGSTRIPE = 20015 - aggiunta funzione list_creditcards a Get_JSONData per ottenere la lista di carte di credito utilizzabili per i pagamenti (da scegliere su cassa manuale) - aggiunta classe CreditCards 2018-02-14 (FC) - aggiunto elemento a subDeviceType, AXIS_EYESYSTEM = 20014 2018-02-09 (FC) - aggiunte classi per lettura immagini su metodo GetJSON_Data - modificata funzione GetJSON_Data, aggiunto namespace per separare meglio la classe - importata da versione CameGulf la funzione GetJSON_Data - Merge trunk per integrazione sviluppi Magros (revisione: 3826) Ver 1.37.1.1 2018-02-28 (FC) - attivate chiamate su InTicket e PayInTicket per invio TRAP SNMP - aggiunto riferimento a CAME.PSONE.WebServices per gestione trap SNMP 2018-02-21 (FC) - creata funzione modWeights.UpdatePlatesDB per aggiornare i riferimenti al veicolo (su movTransitWeight) quando vengono inseriti i dati rilevati dal libretto (Magros) - modificata funzione modWeights.UpdateVehicleDB, era rimasta la query di inserimento, non era stata aggiornata per l'aggiornamento - su funzione modWeights.pubSetVehicleData aggiunta chiamata su UpdateVehicleDB per registrare le modifiche al veicolo Ver 1.37.0.1 2018-02-14 (FC) - modificata funzione GetVehicleData per inviare anche i dati relativi all'ultima pesata rilevata (se disponibile) (il json invece di serializzare l'oggetto clsVehicleData ora serializza l'oggetto clsVehicleCurrentData) 2018-02-13 (FC) - eliminata variabile globale vrTESTTODELETE usata solo per test chiamata SetDeviceStatusHeader 2018-02-09 (FC) - Merge branch Magros Fase 2 (revisioni: 3804-3820-3822) Ver 1.36.0.1 2018-02-08 (FC) - modifiche a commenti per riferimenti progetto SmartDiesel 2018-02-02 (FC) - merge per integrazione sviluppi Magros per installazione 05/02/2018 revisioni 3799-3801 Ver 1.35.0.1 2018-02-02 (FC) - correzioni e modifiche varie per completamento sviluppi Magros (predisposizione per installazione del 05/02/2018) 2018-02-01 (FC) - aggiunta funzione modPlate.Set_Plate per impostare la targa su una corsia (chiamata pubblica utilizzabile da fuori ParkCame.asmx) - aggiunta funzione modPlate.GetPlate per ricavare i dati della targa rilevata su una corsia (chiamata pubblica utilizzabile da fuori ParkCame.asmx) - aggiunta funzione modPlate.GetPlateText per ricavare solo il testo della targa rilevata su una corsia (chiamata pubblica utilizzabile da fuori ParkCame.asmx) - aggiunti metodi ParkCame.asmx.GetVehicleData e ParkCame.asmx.SetVehicleData e classi modClasses.ct_GetVehicleDataResult e modClasses.ct_SetVehicleDataResult per caricare da database i dati di un veicolo e per memorizzare i dati ricevuti - aggiunto modulo modWeights che contiene tutte le funzioni per la gestione dei pesi rilevati all'ingresso (gestione Bilance Magros) - '#RIF_MAGROS_201802 modifiche per Magros 2018-01-31 (FC+IC) **** MERGE VERSIONI SU TRUNK **** Ver 1.34.0.2 2017-12-21 (FC) - modificata funzione modMain.getLine, faccio il padding del codice pin (modificato per Came Russia) stampando tutte le 11 cifre (anche se non significative) Ver 1.34.0.1 2017-12-18 (FC) - Modifica per calcolo codice id biglietto da stampare sul biglietto preso da tabella movTransitId (per richiesta Came Russia da completare entro il 18/12, generazione id codice da 11 cifre) modifica fatta su modMain.getLine Ver 1.33.0.1 2017-12-15 (FC) - aggiunta funzione SetErrorMessage per impostare sulla risposta di un metodo dei webservices il tag rMessage con l'eventuale errore generato da un'eccezione - creato metodo GetLastTicketCodes per caricare i dati degli ultimi biglietti generati (modifica per CameRussia, da usare poi in abbinamento con la chiamata per ottenere le info del biglietto pagato) - creato metodo GetDeviceParameters per caricare i parametri di configurazione dei dispositivi di un certo tipo (tutti quelli utilizzabili, non solo quelli installati) (modifica per CameRussia) - aggiunta classe DeviceCategories per definire le tipologie di dispositivi (per ora solo dispositivi di pagamento) - aggiunta classe PaymentDevice per definire la struttura delle proprietà per i dispositivi di pagamento - modificata funzione JSON_Serialize, uso JavaScriptSerializer, invece di caricare le proprietà dell'oggetto Ver 1.32.0.1 2017-11-06 (FC) --- importato il 11/12/2017 - creato metodo General_Send per invio dati generico (utilizzato ora per ricezione immagine da webcam colonnina) '#RIF_SMARTDIESEL_201712 2017-12-05 (FC) --- importato il 11/12/2017 - aggiunto metodo OutTicket_Additional per richiesta stampa ticket passeggero (customizzazione SmartDiesel) o altro ticket associato a un ticket precedente (per eventuali usi futuri) '#RIF_SMARTDIESEL_201712 Ver 1.29.0.9 2017-12-14 (FC) - aggiunta su PayInTicket il controllo che se è stato letto il secondo biglietto questo non può essere un biglietto di parcheggio - modificata funzione PayInTicket per controllare se il biglietto è da pagare o meno valutando se cassa automatica o colonnina pos e se viene letto codice voucher/prenotazione **** FINE MERGE VERSIONI SU TRUNK **** Ver 1.29.0.8 2017-11-22 (FC) - RILASCIO VERSIONE - corretto controllo su associazione biglietto collegato a voucher (riverificata funzione del 21/11 e sistemata). Non funzionava bene nel caso di voucher con più utilizzi possibili (dopo il primo uso tutti gli altri ticket sarebbero stati bloccati) - aggiunta disconnessione mancante a database su funzione Delete_TmpTicket - aggiunta chiamata a funzione Delete_TmpTicket su Elabora_Ticket, al posto dell'esecuzione della query direttamente all'interno della funzione - aggiunta chiamata a funzione Delete_TmpTicket su Salva_Pagamento, al posto dell'esecuzione della query direttamente all'interno della funzione 2017-11-21 (FC) - modificata funzione PayInTicket, verifico il codice biglietto associato a prenotazione che sto tentando di usare, se diverso dal codice in uso, rifiuto l'utilizzo del qrcode 2017-11-20 (FC) - su funzione PayInTicket modificato controllo per risposta True o False per indicare se necessario effettuare il pagamento in base al device e al titolo letto (devo comportarmi diversamente se leggo voucher di sconto) 2017-11-16 (FC) - aggiunto il controllo sul dispositivo PEDESTRIANGATE_COLUMN per essere trattato come varco pedonale (non registra movimenti di passaggio aree sul parcheggio) - aggiunto nuovo device (anche su tabDevice e tabLnkDevice) PEDESTRIANGATE_COLUMN, per gestire la colonnina pedonale (colonnina con scheda arm ASEM) (si aggiunge al dispositivo 7 usato per varco pedonale formato da PSAC+TSP e 20 usato per varco pedonale con targa citofonica Thangram) 2017-11-15 (FC) - modificata funzione payTicket per permettere il salvataggio del pagamento con il tipo di sconto corretto (lascia la percentuale se è lo sconto che è stato definito, mentre prima indicava lo sconto applicato sempre in valore) (il valore che veniva memorizzato era corretto e corrispondeva al valore calcolato dello sconto sommato a eventuali ulteriori sconti derivanti da arrotondamenti vari, se trovo un qualsiasi arrotondamento lo sconto viene comunque impostato a valore, altrimenti non viene modificato) - aggiunta funzione modBadgeConversion.isString, chiamata in ConversionParse per verificare se il codice che sto convertendo è una stringa (può contenere numeri e caratteri A..F); se lo è non faccio conversioni e lascio il codice identico - corretta funzione Exists_PaymentDiscounted, controllava l'esistenza di uno sconto 100% controllando il tipo sbagliato (verificava il tipo a valore invece che percentuale) 2017-11-14 (AC) - Gestita sulla funzione Load_UsersFull, anche gli operatori che non hanno valori impostati su rProperties 2017-11-14 (FC) - su funzione Verify_Passback aggiunto messaggio "msg_enterpark" per sollecitare l'ingresso quando viene riletta una tessera e la barriera risulta già aperta - su funzione InTicket controllo, prima di chiamare Disable_Ticket che la variabile SaveTransit sia a True, altrimenti viene disabilitato un movimento per niente (caso esempio: entro con tessera, rientro subito dopo - rilettura immediata che non genera passback - il movimento di ingresso viene disabilitato) 2017-11-10 (AC) - Sulla funzione PaySubscriber, solo quando l'abbonamento che si sta aggiornando, non era scaduto, resta invariata la data di inizio validità 2017-11-09 (FC) - modificata funzione SetDeviceStatusHeader, aggiungo anche PEDESTRIANGATE e DVCIP ai device a cui può venire inviato il comando di apertura/chiusura barriera - modificata funzione isReservation, nel caso di codice non di prenotazione la funzione andava in eccezione facendo dei controlli necessari solo con codice di prenotazione 2017-11-08 (FC) - aggiunta configurazione sezioni da stampare per x e z report per visualizzazione totale operazioni abbonati: TOTSUBSCRIPTIONS aggiunto record su tabelle payfiscalreportsections e payfiscalreportconfig - aggiunte traduzioni su tabella tabUserMessage:msg_subscrrenew - modificata funzione modShifts.Save_FiscalReport per includere il riepilogo delle operazioni derivanti da ricariche abbonati - modificate funzioni "Generate_Report" per considerare anche gli incassi derivanti da rinnovi abbonamento, che altrimenti non venivano visualizzate e conteggiate su X e Z report e nemmeno visualizzate sul riepilogo incassi visualizzato in basso a destra sulla cassa manuale 2018-11-07 (FC) - Risolto Bug #230: l'Ultimo problema riscontrato riguardava il salvataggio su movOperator del opeCode "codice badge letto" diverso dal codice salvato su movOperator.. - su BadgeOperatorSearch, in wCodeFound salvo il codice "database" invece che quello convertito - In Check_Operator, aggiunto il byref al parametro wBadge 2017-11-06 (FC) - aggiunto controllo su query su tabDiscountRules che verificava anche le righe cancellate (dirStatus='D') 2017-10-27 (AC) - Su isValidUserHeader e Load_UsersFull, imposto su rProperties anche i bit di OfflineEnabled e CreditCardEnebled - Create le funzioni IsOfflineEnabledOnTerminal e IsCreditCardEnabledOnTerminal per ottenere lo stato di abilitazione dell'offline e del pagamento con carta Ver 1.29.0.7 2017-10-25 (FC) - RILASCIO VERSIONE - tolte le query di aggiornamento utilizzi residui prenotazioni, sostituite con la chiamata a funzione "UpdateReservationTransit" - aggiornata le funzione UpdateReservationTransit, scalo il numero di utilizzi solo se non già fatto per il biglietto attuale - aggiunta verifica del codice di prenotazione su messaggio payInTicket ricevuto da colonnina di uscita (caso di uscita da colonnina col pos) (il problema era che leggendo un qrcode, non facendo la ricerca dei voucher, lo dava sempre come ticket non trovato) 2017-10-24 (FC) - disattivo dalla scrittura dei log la stringa di connessione a mysql (in caso di errore connessione), che altrimenti scrive in chiaro la password usata 2017-10-23 (FC) - migliorata registrazione operazioni di uscita con codice sconto 100%, venivano generati due movimenti di uscita e una riga su tmpPay che rimaneva sempre attiva - aggiunto controllo su transiti residui codice prenotazione/voucher anche su cassa automatica/manuale (altrimenti potevo utilizzare infinite volte il codice per il pagamento) Ver 1.29.0.6 2017-10-20 (FC) - modificata la memorizzazione della percentuale di sconto sulla prenotazione (veniva fatto un x100 in più) (per trovare la modifica cercare la data nei commenti) - modificata funzione TEST_ReservationPaymentOnline, registra il pagamento usando i dati della prenotazione se trovata (usando il PNR) Ver 1.29.0.5 2017-10-13 (FC) - corretto salvataggio codice qrcode, aggiungendo il padding corretto per eventuali dati mancanti 2017-10-12 (FC) - Aggiunta funzione GetAirportIATACode, per caricare il codice aeroporto di partenza (necessario sul qrcode per fast track/sala vip) 2017-10-06 (FC) - modificata funzione InTicket, aggiunta stampa informazioni relative a sconto/tariffa/periodo validità su utilizzo voucher/prenotazione (MAX 25 caratteri per riga) #VOUCHERINFOTICKET 2017-10-05 (FC) ******** MODIFICA APPLICATA SU VERSIONE 1.25.3.5 ******** - su funzione payMultiTicket spostato controllo su sGUID vuoto, altrimenti poteva riattivare tutti i movimenti dell'impianto ********************************************************* - modificata funzione OutTicket per poter emettere un lost ticket valido su tutte le aree. L'area viene assegnata al momento della lettura su una corsia di uscita #LOSTTICKETALLAREA 2017-10-03 (FC) - preparata funzione SetWeights, per ricevere dalle colonnine il peso rilevato dalla lettura del peso su bilancia posta prima dell'ingresso (customizzazione Algeria) 2017-10-02 (FC) ****** MODIFICA APPLICATA SU VERSIONE 1.29.1.4 ********** - modificata funzione modMain.Elabora_Ticket. caricato id gruppo abbonato/occasionale per controllare se possibile escludere il controllo passback in uscita (il passback in uscita non dovrebbe applicarsi agli occasionali) ********************************************************* - modificata funzione isServiceType, controllo il tipo di dato, per evitare eccezione non gestita in caso di codice non numerico - su payInticket uso la data ricevuta nell'header invece che "now", per evitare potenziali problemi visto che in alcuni punti può venire chiamata la variabile wDate senza essere prima inizializzata 2017-09-29 (FC) - modificata funzione isReservation. Faccio il controllo degli utilizzi residui solo quando sono su un terminale con verso in ingresso e non è un dispositivo di pagamento 2017-09-27 (FC) ***************************** MODIFICA APPLICATA SU VERSIONE 1.29.1.2 ***************************** - corretto problema conteggio posti su uscita con biglietto da colonnina con pos dopo pagamento - su payInticket aggiunto il conteggio dei posti quando registro pagamento su colonnina di uscita quando c'è biglietto gratuito - su payTicket aggiunto il conteggio dei posti disponibili quando registro pagamento su colonnina di uscita ***************************************************************************************************** 2017-09-26 (FC) - correzione funzione isValidTrackNew per salvare correttamente i pagamenti e i debiti legati ai passaggi di area coi percorsi - modificata formattazione data e ora su messaggi errore err_ticketGiaUsato,err_tesserausata,err_ticketDisabled su Elabora_Ticket per formattare data e ora sulla base delle impostazione della lingua utilizzata Ver 1.29.0.4 2017-09-19 (FC) - RILASCIATA VERSIONE (PER INSTALLAZIONE SUN&SKY - CAME GULF) - modificata riga su modMain.Elabora_ticket che registra il pagamento in caso di ticket gratis. Veniva controllato wRis = True, condizione che ho eliminato per poter proseguire con le operazioni Ver 1.29.0.3 2017-09-05 (FC) - RILASCIATA VERSIONE (PER INSTALLAZIONE SUN&SKY - CAME GULF) - aggiunte funzioni per codifica badge secondo regole definite su nuova tabella tabCardConversionRules - modifiche a funzioni per uniformare a nuovi parametri funzione isBadge - modificata funzione isValidCode - modificata funzione Park_Counter - modificata funzione Load_UsersFull - modificata funzione Load_Users - modificata funzione SendGeneralData - modificata funzione Check_Operator - creato modulo modBadgeConversion (contiene funzioni per elaborazione codici tessere ricevute da lettori con codifiche diverse) - modificata funzione isBadge 2017-08-31 (FC) - modificata funzione funcReservationLockPlace, salvo l'amount in importo unitario invece che in centesimi - corretto salvataggio importo prenotazione (resAmountCalc). veniva salvato con l'importo già scontato invece di salvare l'importo al lordo - aggiunta scrittura log, dove mancante, su eccezioni su classe clsDatabase - corretta funzione clsDatabase.Exec, sull'eccezione se non ci sono parametri, la funzione falliva - corretta funzione SalvaPrenotazione_v2, l'importo da pagare con la virgola veniva salvato errato (non veniva formattato correttamente, virgola invece del punto come separatore decimale) - corretta funzione SalvaPrenotazione_v2, veniva salvato due volte nella stessa query il campo dell'importo da pagare, adesso lo uso una sola volta - aggiunto controllo esistenza tabella payInvoiceLinks (escludo operazioni fatturazione se manca la tabella) 2017-08-30 (FC) - aggiunta classe clsSanction usata per salvare i dati delle sanzioni da applicare ai pagamenti (per i percorsi) al posto delle singole variabili - aggiunto controllo esistenza tabella payInvoiceFtp (escludo operazioni ftp se manca la tabella) Ver 1.29.0 (BETA 2) 2017-08-30 (FC) - RILASCIO VERSIONE - corretta memorizzazione sconto su funzione PNR_SaveReservation, lo sconto veniva salvato con valore unitario invece che in centesimi. Questo causava un problema con il ricalcolo della tariffa che veniva calcolato con sconto errato, generando un errata richiesta di pagamento 2017-08-29 (AC) - Sulla funzione GetLine, aggiunto il segnaposto "%r" che viene sostituito con il nome del terminale 2017-08-11 (FC) - corretto controllo passback su abbonato che stampa ticket, mancavano alcuni controlli su InTicket - corretto salvataggio abbonato che stampa ticket, aggiunto salvataggio codice badge - modificato il controllo di validità dell'area sulla verifica di validità del codice di prenotazione/voucher. Controllo l'area sui dispositivi di ingresso/uscita, non su quelli di pagamento Ver 1.29.0 (BETA 1) 2017-08-09 (FC) - corretta associato codice biglietto a prenotazione/voucher, devo farlo solo nel caso di codice prenotazione valido, altrimenti se leggo un voucher non valid perché già usato, caricherei comunque il codice biglietto sbagliato (cioè quello letto e associato in precedenza al voucher) - corretto problema su memorizzazione data periodo prenotazione su salvataggio dati da inviare via ftp (solo per fattura su ticket occasionale, che non ha indicazione del periodo) - corretto bug su controllo validità prenotazione, se tipo voucher non controllo area parcheggio (viene valutata poi con l'area del biglietto) e non valuto le date di ingresso/uscita per lo spostamento della validità 2017-08-08 (FC) - corretta gestione retromarcia su lettura qrcode prenotazione in ingresso e uscita - aggiunta funzione GetResNumberByCode per ottenere id prenotazione partendo dal codice biglietto generato all'ingresso - modificata funzione isReservation, carico codice biglietto se presente - modificata funzione PayInTicket, spostata verifica codice biglietto associato a qrcode in modo da poter caricare in maniera corretta i dati del biglietto generato 2017-08-07 (FC) - corretto nome parcheggio stampato su lost ticket quando viene richiesta la stampa per un'area diversa da quella associata alla cassa - aggiunta funzione GetInvoiceData per ricaricare i dati di fatturazione quando per lo stesso biglietto è già stata richiesta fattura (pagamento integrativo) - corretto salvataggio pagamento da fatturare, non veniva eseguita la query per inserire le righe su payInvoiceLinks 2017-08-04 (FC) - corretta lettura qrcode di prenotazione in uscita, non veniva riconosciuto come prenotazione - corretto calcolo posti riservati per prenotazioni (non veniva considerata la data di prenotazione ma sempre adesso), aggiunto parametro wDate su funzione Get_ParkPlaces 2017-08-03 (FC) - aggiunta chiamata a Call_ElaboraStatiTH quando ricevo un keepalive che contiene degli stati da un dispositivo di tipo PSAC (caso cassa manuale che invia stato spire con gestione corsie attiva e psac collegato per rilevamento stato spire) 2017-07-31 (FC) - modificata struttura ReservationInfo, aggiunte proprietà traUID e payUID per memorizzare riferimenti a pagamento e movimento ingresso della prenotazione, DateFrom e DateTo per memorizzare le date di validità 2017-07-27 (FC) - modificata funzione InTicket, aggiunto controllo per effettuare stampa biglietto su lettura tessera abbonato - aggiunta tipologia SubscriberType= 6= PrintTicket, usato per tessera che deve stampare un biglietto (abbonato "strano": è un abbonato, ma paga ogni volta la sosta in parcheggio e non può fare ricariche) 2017-07-25 (FC) ********************************** MODIFICA FATTA SU Ver 1.28.1 (BETA 11) ********************************** - modificato codice qrcode, usando codice ZOI (aka ZKI), dopo correzione informazioni errate fornite da Came Adriatic - modificata l'etichetta stampata sulla ricevuta di pagamento fiscale, invertiti ZOI e EOR a seguito di correzione informazioni ricevute da Came Adriatic ************************************************************************************************************ 2017-07-20 (FC) - creazione funzione GetLanguageList per restituire l'elenco delle lingue configurate e installabili sul sistema - aggiunte funzioni per inviare pagamenti da fatturare via ftp - aggiunta funzione PayTicketInvoice per registrare i dati di fatturazione legati all'ultimo pagamento fatto sul device 2017-07-12 (FC) ******************************************************************************************************************************** MODIFICATA APPLICATA SU VERSIONE 1.28.5.11 2017-05-12 (FC) - corretto bug su Salva_Movimento, la chiamata Tariffa_Abbonato(wCarId, wCode, wPlateData.rPlate) poteva arrivate con oggetto wPlateData non inizializzato generando un errore ******************************************************************************************************************************** 2017-07-07 (FC) ******************************************************************************************************************************** MODIFICATA APPLICATA SU VERSIONE 1.28.4.9 2017-07-07 (AC) - In Save_FiscalReport, Aggiunti i caratteri speciali che identificano l'inizio e la fine delle sezioni da non stampare su cassa manuale (questi caratteri vengono invece rimossi sul salvataggio nel database) ******************************************************************************************************************************** 2017-06-30 (FC) - creata funzione - creato modulo modPaymentOnline per funzioni e dichiarazioni relative a salvataggio pagamenti online **** INIZIO MODIFICA APPLICATA SU VERSIONE 1.28.4.11 **** - su keepAlive, aggiunto il codeType = plate, nel caso di chiamata a funzione isBadge quando so già di avere una targa (in modo da evitare tutti i controlli come se si trattasse di una tessera) - eliminata la conversione del codice su funzione isBadge, quando nel codice da verificare vengono trovati caratteri non esadecimali - corretta funzione isBadge, non entrava più nella verifica della targa (in quanto non ricevo il codetype impostato) **** FINE MODIFICA APPLICATA SU VERSIONE 1.28.4.11 **** 2017-06-29 (FC) - aggiungo salvataggio dati fatturazione su ricezione pagamento online 2017-06-28 (FC) - disattivo scrittura log "CarRental_User" - disattivato su keepalive ricerca abbinamento prenotazione con targa 2017-06-27 (FC) - aggiunta gestione controlli validità agenzie create tabelle su database (tabAgency, tabAgencyCodes, tabAgencyRules, tabAgencyCodeUses) - aggiunto metodo ReservationConfiguration, per caricare i dati relativi alla configurazione della pagina di prenotazione 2017-06-26 (FC) - rifatta funzione isBadge, per rendere meno contorto il controllo di validità abbonato 2017-06-23 (FC) - aggiunto invio codice originale (così come ricevuto dal messaggio) su funzione isBadge chiamata nel metodo InTicket - modificata funzione isBadge, aggiunto parametro opzionale per passare il codice originale senza conversione (nel caso di codici troncati, facendo il detrasnform c'è il problema (con codici>5 byte) che con il troncamento non è più possibile ottenere il dato originale) - aggiunto parametro sOptions a GetParkPlaces, identifica una lista di parametri aggiuntivi (separati da ";"), ora usato per indicare con "reservation" di voler visualizzare solo parcheggi prenotabili 2017-06-21 (FC) - aggiunta struttura modReservation.strReservationStatus dove memorizzare e verificare gli stati della prenotazione - creato metodo ReservationUnlockPlace per sbloccare un posto precedentemente riservato - creato metodo ReservationLockPlace per bloccare un posto per le prenotazioni, richiesta che genera un codice prenotazione, ma non crea ancora la prenotazione vera e propria server solo per impedire di perdere il posto in caso di prenotazioni contemporanee 2017-06-20 (FC) - aggiunta assegnazione header su creazione risposta metodo Get_ParkPlaces **** INIZIO MODIFICA APPLICATA SU VERSIONE 1.28.3.9 **** - migliorata query su funzione modShifts.Generate_Report per velocizzare il recupero dei dati (sostituito utilizzo "IN" con "JOIN") - migliorata query su funzione OccasionalCount per velocizzare esecuzione su database con tanti passaggi **** FINE MODIFICA APPLICATA SU VERSIONE 1.28.3.9 **** 2017-06-19 (FC) - aggiunto metodo GetAmountPerArea per calcolare la tariffa per tutte le aree del parcheggio attive e con posti disponibili per un periodo indicato Ver 1.28.0 (BETA 12) 2017-06-16 (FC) - RILASCIO VERSIONE - aggiunta inversione codici operatori inviati a colonnina per gestione offline (in modo da inviarli così come verranno ricevuti da colonnina) - aggiunto controllo su tipo biglietto smarrito stampato offline - modificati tutti i riferimenti al tipo biglietto usando enuTicketType - aggiunto enum enuTicketType dove definire le tipologie di biglietti utilizzati - modificata riga DateTime.TryParse(wOutTicket.rDateTime, wRispo.rDateTime) in wRispo.rDateTime = Validate_Date(wOutTicket.rDateTime) per evitare errore su conversione data (problema visto ad Astana) ******* MODIFICA APPLICATA SU VERSIONE SU 1.28.2.11 ******* 2017-06-15 (FC) - modificata funzione Offline_Transits, aggiunta possibilità di indicare anche l'area nella struttura sTransits 2017-06-08 (FC) ************************************************************************************************************************ MODIFICA AGGIUNTA SU VERSIONE 1.28.5.9 - modificato parametro rZebraTicket, ora può inviare layout di stampa ticket a cassa manuale (manualcash_ticket.txt) e palmare (handheld_ticket.txt) ************************************************************************************************************************ - aggiunto parametro sAreId su metodo OutTicket (forza la creazione del movimento di ingresso su un'area diversa da quella associata al terminale) - modificata scrittura file log _status.txt, la faccio solo quando i log sono impostati a livello DEBUG 2017-06-07 (FC) ****** MODIFICHE APPLICATE SU VERSIONE 1.28.1.11 ******* - chiamata funzione isValidOpeningTime in Get_ParkPlaces, GetFreePark - creata funzione modPark.isValidOpeningTime per verificare la validità di un'orario in un periodo di apertura - modificata funzione Offline_Config, se l'ora di chiusura è impostata al giorno successivo, viene inviata l'ora alle 23:59 (altrimenti le colonnine non chiuderebbero mai l'area) ********* MODIFICATA GESTIONE SU COLONNINE, ORA CONTROLLANO L'ORA ANCHE CON CHIUSURA AL GIORNO SUCCESSIVO *************** - corretta funzione CreateOfflineEntryTransit, per creare il movimento generato offline usando i dati dell'ingresso (data e terminale ricavati dal codice biglietto) - corretta funzione Get_ClassFromTicketCode che prendeva la classe veicolo di due caratteri quando in realtà è composta da un solo carattere ******************************************************** 2017-06-06 (FC) ****** MODIFICHE APPLICATE SU VERSIONE 1.28.1.11 ******* - aggiunto controllo su Elabora_Ticket che crea sul database il biglietto stampato offline in ingresso, quando viene letto da colonnina di uscita online - migliorata funzione Decode_Class, la funzione non restituiva risultato "True" nel caso di corsia impostata con classe fissa (non letta da sensori colonnina) ******************************************************** 2017-06-05 (FC) ****** MODIFICHE APPLICATE SU VERSIONE 1.28.1.11 ******* - aggiunto controllo su InTicket che crea il biglietto stampato offline in ingresso se letto da colonnina di uscita online ******************************************************** 2017-06-01 (FC) - aggiunti parametri su classe ct_Users: rPin, rUseCustomers, rAllowZReport Public rProperties 2017-05-25 (FC) - riattivate modifiche per gestione prenotazione con targa per continuazione sviluppo - disattivate modifiche per gestione prenotazione con targa per rilascio versione 1.28.0.11 2017-05-19 (FC) - aggiunta gestione risconscimento prenotazione associata a targa, con stampa automatica del biglietto (se prenotazione non scontata al 100%) 2017-05-18 (FC) - modificata funzione isReservation per permettere l'abbinamento anche con targa invece che con il codice prenotazione 2017-05-17 (FC) - aggiunto controllo validità e assocazione prenotazione anche utilizzando la targa Ver 1.28.0 (BETA 11) 2017-05-15 (FC) - RILASCIO VERSIONE - attivata query su Elabora_Stati_New di cancellazione stato terminale non connesso, query solo scritta ma che non veniva eseguita (non è chiaro se volutamente o meno) - Aggiunto invio del messaggio di stato - Call_ElaboraStatiTH - su messaggio PlateReading (telecamera Sekuplate) in modo da registrare la telecamera come online nella tabella degli stati (logstatus) 2017-05-12 (FC) - modificata funzione isPasspartout, aggiunto il controllo anche sul codice originale prima della conversione - tradotto il testo sulle ricevute fiscali, nel caso di lingua slovena selezionata: ZKI diventa EOR, JIR diventa ZOI - modificate funzioni Create_Receipt. Aggiunte le traduzioni in sloveno e corrette alcune parole in croato 2017-05-10 (FC) - modificata funzione Offline_transits, non veniva considerata la classe se impostata fissa sulla corsia, ma veniva sempre usato lo stato delle spire *********** MODIFICA APPLICATA SU VERSIONE 1.28.2.9 *********** 2017-05-09 (FC) - modificata la funzione Save_FiscalReport per aggiungere la possibilità di scegliere le parti da visualizzare su X e Z report *********** MODIFICA APPLICATA SU VERSIONE 1.28.2.9 *********** 2017-05-02 (FC) - modificata funzione Elabora_Ticket, aggiunto controllo del passback su biglietto disattivato. se l'ultimo movimento era stato fatto con un titolo diverso da quello attuale l'uscita veniva impedita anche con passback disattivo (es: ingresso fatto con targa, uscita fatta con tagmaster, nuova uscita sempre con tagmaster dava messaggio "Already Used") *********** MODIFICA FATTA SU VERSIONE 1.28.1 BETA 9 *************** 2017-04-20 (FC) ************** modifiche fatte su versione 1.28.1 BETA 11 ************* - aggiunto controllo per effettuare la fiscalizzazione sono sui dispositivi configurati su tabTerminalReceipt.trcFisclPrintEnable (in abbinamento al parametro impostato su myconf.config) - aggiunto controllo validità configurazione fiscalizzazione (croazia/slovenia) prima di effettuare il pagamento, in modo da impedire di effettuare pagamenti con sistema non in funzione ************************************************************************ 2017-04-19 (FC) ************** modifiche fatte su versione 1.28.1 BETA 10 ************* - aggiunto parametro TaxNumber (in coda alla lista di elementi su tabTerminal.terSetup) da usare per generazione qrcode fiscalizzazione slovena (è il codice iva azienda) - verificate tutte le funzioni che possono effettuare la fiscalizzazione, in modo da passare sempre la stessa data in ogni passaggio - aggiunto parametro data su tutte le funzioni Create_Receipt (in modo da stampare sulla ricevuta l'esatta data e ora di registrazione del pagamento). (Importante per la fiscalizzazione) - modificata funzione GetFiscalCode, aggiunta pulizia caratteri non validi nel codice(lascio solo caratteri per numero esadecimale) - modificato codice usato per generazione qrcode fiscalizzazione slovenia (funzione GetFiscalCode). uso codice JIR invece del codice ZKI ************************************************************************ 2017-04-18 (FC) - aggiunta funzione CreateOfflineEntryTransit per generazione biglietti offline, quando si riceve messaggio PayTicket da cassa manuale con biglietto non esistente (la funzione di creazione del ticket è in realtà già presente sulla cassa manuale per cui questa chiamata è ininfluente) - corretta funzione Offline_Transits, non veniva registrato correttamente il movimento con il verso indicato dalla richiesta (usava sempre il verso associato alla corsia) - modificata funzione Get_ClassId, usata la funzione ExecScalar invece di leggere il dato con recordset usando una Open - modificata chiamata PayInticket, creata funzione CreateOfflineEntryTransit per generare i movimenti generati offline 2017-04-13 (FC) - completata funzioni acquisto servizi multipli, Creata funzione OfflinePaymentPOS_Multi 2017-03-31 (FC) ***REVERSE *** - modificata la funzione GetTicketGUID, per prendere l'uid dell'ultimo movimento generato relativo al biglietto richiesto - modificata la funzione Salva_Movimento, modificata la verifica se si sta effettuando un passaggio recente sullo stesso terminale (prima veniva fatto tutto sulla query, ma in caso di passaggi rapidi anche con altri terminali risultava erroneamente sempre un passaggio ripetuto) ora viene controllato l'ultimo passaggio, poi si verifica se il terminale su cui è stato fatto l'ultimo passaggio corrisponde a quello attuale - modificata la funzione GetPayInfo, controllo l'importo già pagato solo sui movimenti non ancora disattivati (altrimenti considero il passaggio già completato) - modificata funzione GetTimeLimit, controllo il tempo di uscita e solo sui movimenti non ancora disattivati (altrimenti considero il passaggio già completato) l'importo già pagato lo considero anche sui movimenti disattivati 2017-03-29 (FC) - aggiunto controllo tempo di uscita (su funzione Check_ErrorAction) dopo pagamento su passaggio fra aree con gestione percorsi Ver 1.28.0 (BETA 10) 2017-03-23 (FC) - RILASCIO VERSIONE - corretta verifica operatore su funzione RequestFiscalization, prima di Check_FiscalForcedParameters imposto l'id operatore eventualmente già ricevuto nel messaggio da usare per la fiscalizzazione) 2017-03-21 (FC) - aggiunta funzione "GetFiscalCode" per generazione codice qrcode (codice testo per generazione qrcode da stampare su ricevuta fiscale) Ver 1.28.0 (BETA 9) 2017-03-17 (FC) - RILASCIO VERSIONE - modificata funzione Elabora_Ticket, su riattivazione biglietto con retromarcia assegnata la corretta data di ingresso (altrimenti risultava entrato al momento della lettura, sbagliando il calcolo tariffa) - modificata funzione PayTicket, disattivo registrazione movimento in uscita su cassa manuale (era stato aggiunto per registrare i movimenti di uscita quando vengono ricevuti i pagamenti offline, ma deve essere la cassa stessa che invia il movimento di uscita se è presente una scheda di comando apertura barriera) 2017-03-16 (FC) - aggiunti ulteriori controlli su messaggio inTicket per gestire correttamente l'id dispositivo quando attiva la gestione corsie 2017-03-15 (FC) - modificata gestione del controllo presenza auto su metodo InTicket, nel caso di colonnine il controllo di presenza auto, viene escluso SOLO se le spire configurate sono <=0 - modificati i controlli su quantità spire necessarie (ora vengono fatti controlli più precisi su esatta quantità di spire gestite, in modo da poter gestire anche configurazioni diverse da 1 o 2 spire) - aggiunto su metodo Inticket, chiamata a funzione UnloadData per tutti i device che compongono la corsia (altrimenti possono rimanere memorizzati dei dati relativi a un abbonato su quella corsia) - modificata funzione di caricamento parametri di tipo debug, andava in eccezione impostando sempre il livello di salvataggio log a INFO 2017-03-13 (FC) - modificata funzione Salva_monete per correggere il problema anche il problema sul salvataggio degli inventari nel caso di banconota scartata durante l'erogazione da hopper payout (veniva aggiunta nel cashbox, ma non tolta dai resti disponibili) - modificata funzione Salva_Monete per correggere il problema di salvataggio dei dati, quando una banconota dell'hopper banconote viene scartata e messa nel cashbox, viene segnata come pagata dal cliente *** patch aggiunta su versione 1.25.2 BETA 5 *** 2017-03-08 (FC) - modificata funzione modJson.ParseString, aggiunge gli apici anche nel caso di tipo dato datetime (altrimenti la deserializzazione fallisce) Ver 1.28.0 (BETA 8) 2017-03-07 (FC) - aggiunto .Clone a ogni chiamata GetDeviceInfo - aggiunto metodo Clone a classe Device_Info e clsDevice - modificata funzione Check_PlateByCode, cambiato da wDevice = wClsDevice.LoadDevice(sHeader.hDevice) a wDevice = vrDevice.LoadDevice(sHeader.hDevice) e tolto clsDevice - tolto oggetto wDevice da funzione GetSinglePlace, passato come parametro da funzione padre che già lo carica - disattivata funzione RemoveDevice che toglie il dispositivo dall'oggetto in memoria che contiene le info device. Una volta caricato il device mi va bene tenere sempre i dati memorizzati 2017-03-02 (FC) - aggiunto parametro "truncatebadge" su myconf.config per definire la lunghezza massima del codice tag "maxcodelength", i caratteri in eccesso vengono eliminati - aggiunta funzione RemoveData su modWebConfig per eliminare tag da file myconf.config - aggiunta funzione ExistsData su modWebConfig per verificare l'esistenza di un tag su myconf.config - aggiunta sezione "badgeconfig" su file myconf.config, spostato tag forcebadge in questa sezione da system - aggiunto parametro maxcodelength su myconf.config per impostare la lunghezza del codice badge risultante dopo la conversione (default: 13) - modificata funzione TransformCode per considerare l'intero codice ricevuto senza troncarlo a 10 byte (esadecimali) 2017-03-01 (FC) - aggiunta funzione Salva_TransazioneType con cui effettuare il salvataggio sui log su database basandosi sulla verbosità di log richiesta (gestione da estendere gradualmente come per il punto sotto) - aggiunto tag "logtype" su file myconf.config, per gestire la scrittura dei log secondo la verbosità richiesta (la gestione verrà estesa gradualmente a tutti i log, attualmente molti verranno scritti in ogni caso) Ver 1.28.0 (BETA 7) 2017-03-01 - RILASCIO VERSIONE 2017-02-28 - aggiunto controllo su tag letto (es: tagmaster) che deve effettuare apertura con psac, se il dispostivo master è configurato con 1 spira non fa controllo di stato spira e barriera, altrimenti fa il controllo e si aspetta spira occupata e barriera chiusa) - aggiunto tag su myconf.config TagMaster_IgnoreLoopsStatus, se <>0 ignora lo stato delle spire e della barriera quando viene fatta la lettura da tagmaster ###### NO ##### - Modifica annullata - aggiunta funzione GetPSAC132_NOChecks che effettua la verifica dei codici letti da PSAC in qualsiasi momento, non verifica MAI lo stato delle spire/barriere, quello che legge usa #### NON USATA ##### DA TENERE IN CONSIDERAZIONE SOLO PER EVENTUALI USI FUTURI, era stata fatta per Miglioranza (problema lettura tagmaster con spira non occupata), ma il suo caso non usava questa funzione per cui non è necessario utilizzarlo 2017-02-01 (FC) - corretta funzione GetDeviceList, non impostava lo stato rSuccess a True in caso di esito positivo. 2017-01-31 (FC) - modificata query su funzione GetPayInfo, migliorata esecuzione per limitare il set di dati restituito e per utilizzare in maniera migliore gli indici Ver 1.28.0 (BETA 6) 2017-01-31 (FC) - RILASCIATA VERSIONE A MIGLIORANZA (CAME GULF - DUBAI) - creata classe ct_UserResultExtends, che estende la classe ct_UserResult, aggiungendo il parametro rAllowZReport (parametro usato per la funzione LoadOperatorData) - modificata funzione Load_OperatorData per verificare se l'operatore è abilitato alla stampa dello z-report 2017-01-26 (FC) - modificata funzione RequestFiscalization, per modifiche richieste da Came Adriatic. Aggiunta la possibilità di fiscalizzare i pagamenti fatti da cassa automatica (si può scegliere i singoli dispositivi su cui attivare la fiscalizzazione e si può scegliere se l'operatore è obbligatorio oppure no) - modificata funzione GetOperatorName, aggiunta gestione utente supervisore - disabilitata scrittura dei log dell'impostazione della targa sulla corsia quando targa vuota (solo sekuplate, messaggio PlateReading) - ridisabilitata la scrittura dei log sul messaggio BoardMessage Ver 1.28.0 (BETA 5) 2017-01-25 (FC) - abilitata possibilità di effettuare fiscalizzazione croata anche su cassa automatica - riattivata scrittura log su messaggio BoardMessage per test su tabelloni 2017-01-19 (FC) - modificata funzione LoadOperatorData per caricare i dati del supervisore (utente "Came"), altrimenti restituisce errore sulla gestione turni facendo il login da cassa manuale - aggiunto parametro per indicare device (per valutazione tariffa specifica per quel terminale) su Calcola_TariffaNew e su CercaTariffa 2017-01-18 (FC) - modifica la funzione Save_FiscalReport, tolgo dal totale incassato i resti emessi - modificata funzione GetClassList, escludo i lost ticket dalle classi restituite dalla funzione (non voglio usare il lost ticket) Ver 1.28.0 (BETA 4) 2017-01-12 (FC) - aggiunto metodo SetLoopStatus per impostare da remoto lo stato di una corsia (usato per cassa manuale con spira collegata a PSAC132B) - correzioni varie su utilizzo varco con gestione corsie (c'erano problemi con corsia di ingresso e telecamera sekuplate) quando viene fatta un'uscita di un abbonato con targa, usando la telecamera sekuplate non c'è controllo di passback 2017-01-05 (AC) - Nella funzione KeepAlive, aggiunta la gestione di invio "comandi" a tornello XVIA per caduta braccio "turnstileemergency" o per riarmo/rotazione "turnstilerotate" I comandi vengono generati leggendo il campo terCustomMessage (di default a 0): una volta letti i comandi, vengono subito resettati su db Ver 1.28.0 (BETA 3) 2016-12-23 (FC) - modifiche varie per effettuare l'apertura della barriera usando l'output della telecamera sekuplate 2016-12-21 (FC) - aggiunta possibilità di effettuare apertura barriera anche su dispositivo PSAC (da pagina cfgManage di wisepark, SetDeviceStatusHeader) - creato metodo isZReportAllowed per verificare se un utente è abilitato alla stampa dello zreport - tolgo parametro rAllowZReport su isValidUserHeader per garantire retrocompatibilità con versioni precedenti del software (che altrimenti non sarebbero in grado di effettuare il login) 2016-12-20 (FC) - aggiunto parametro su isValidUserHeader, rAllowZReport per definire se un utente è abilitato alla stampa dello z-report 2016-12-14 (FC) - aggiunto il controllo della classe su metodo InTicket anche su dispositivo di tipo "PSAC" 2016-12-12 (FC) - aggiunto controllo su occupazione spira, utilizzando dispositivi master/slave 2016-12-07 (FC) - modifiche varie. CONTROLLA SU REPOSITORY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - modificata funzione stampa z-report. non devo stampare i biglietti emessi ma i biglietti non pagati 2016-12-06 (FC) - modificata funzione di stampa z-report per visualizzazione dati emissione biglietti - aggiunta gestione conteggio biglietti emessi da ultimo z-report Ver 1.28.0 (BETA 2) 2016-11-29 (FC) - corretto salvataggio immagini ricevute da telecamera sekuplate (venivano salvate con codifica errata) 2016-11-28 (FC) - elimino indicazione BETA su lettura versione (invece di 1.28.0 BETA 2 ora verrà riportato solo 1.28.0.2 (dove l'ultimo valore indica una versione beta se <>0, altrimenti indica versione stabile)) 2016-11-28 (FC) - modificata funzione Cerca_Tariffa e Calcola_TariffaNew, aggiunta la chiamata alla funzione Tariffa_Abbonato, se viene indicato l'id abbonato che sta effettuando il passaggio; in questo modo è possibile applicare all'ingresso la tariffa corretta, altrimenti non venivano considerate le tariffe degli abbonati con l'associazione della tariffa effettuata in ingresso al parcheggio 2016-11-23 (FC) - completata funzione SendGeneralData per memorizzare su db la ricevuta di inizio e fine manutenzione generata da cassa automatica - aggiunta tabella logMaintenanceReport (per memorizzare le ricevute di manutenzione generate da cassa automatica) - aggiunta funzione RequestPrintTicket (e Test_RequestPrintTicket) per richiesta di stampa di un biglietto smarrito con data da effettuare su un dispositivo diverso da quello da cui lo si chiede (es: da cassa manuale chiedo la stampa su cassa automatica) - aggiunto parametro iCarId su struttura ct_GetInfoTicketResult.iTransitInfo; mette l'id tessera dell'abbonato se presente - aggiunto parametro iCode su struttura ct_GetInfoTicketResult.iTransitInfo; mette il codice del biglietto trovato dopo aver fatto una ricerca con GetInfoTicket (utile se la ricerca viene fatta per targa) - aggiunto metodo Test_GetInfoTicket Ver 1.28.0 (BETA 1) 2016-11-18 (FC) - aggiunta classe clsManagePSACStatus per gestire in memoria gli stati degli input/output del PSAC144 in tempo reale (dipende dalla velocità di comunicazione della scheda) - aggiunto metodo PSAC144_Status per ottenere la lista degli input e degli output (se gestiti) attivi sul PSAC144 2016-11-16 (FC) - aggiunto tag dLinkedDevices a struttura ct_GetDeviceInfo dove memorizzazare tutti i device collegati a un terminale master (usato in alternativa a terIdLink, permette l'associazione di più terminali a una stessa corsia) 2016-11-15 (FC) - aggiunta gestione attivazione output multipli su azione speciale richiesta su funzione GetPSAC132 2016-11-14 (FC) - aggiunto parametro sTerId a metodo GetDeviceInfo per richiedere le informazioni di un terminale partendo dal suo id invece che dall'indirizzo 2016-11-11 (FC) - corretta funzione Salva_Monete. Veniva salvato l'importo totale con segno sbagliato nel caso di banconota spostata da payout a cashbox durante l'erogazione del resto, generando un errore sull'importo totale calcolato *** patch applicata a versione 1.25.1 BETA 5 **** 2016-11-10 (FC) - corretta funzione ExistsField che riportava in modo errata la mancanza di campi su database - aggiunta gestione PSAC144 per utilizzo con REM Ver 1.27.0 (BETA 2) 2016-10-28 (FC) - modificata lettura codici temporanei arabia saudita, non devono essere di 17 ma di 18 Ver 1.27.0 (BETA 1) 2016-10-24 (FC) - aggiunta visualizzazione resti su stampa X e Z report 2016-10-21 (FC) - modificata funzione UHFConvert, non veniva letto correttamente il codice se non era completo di tutti i 10 byte 2016-10-20 (AC) - In GetLicenseInfo, verifico se esiste il mac address (codificato in Md5) indicato, nella tabella tabLicenseMacAddress nel caso in cui il parametro sToken inizi con "mac_license_" - Inserita la funzione EncodePassword che viene chiamata per codificare e sovrascrivere la password nel file myconf.config nel caso in cui quella salvata sia in chiaro - Inserita DecodePassword "modPasswordDecode" (con le funzioni annesse (modRandom)) che gestisce sia le password in chiaro che le password da noi criptate 2016-10-19 (FC) - creato metodo SendGeneralData, usato, per adesso, per inviare dalla cassa automatica il testo delle ricevute di manutenzione, poi potrà essere usato per scambiare altre informazioni (da definire) 2016-10-03 (FC) - Tenuta disabilitata fino al 2016-10-13 - aggiunta gestione varco pedonale su messaggio InTicket (citofono DVCIP e colonnina pedonale). Fanno solo registrazione su tabella movAccess, permettono sempre passaggio nel caso in cui: biglietto occasionale: presente in parcheggio e non disattivato. Abbonato: valido, non scaduto e abilitato nella fascia oraria definita sul gruppo (opzionale) Ver 1.26.0 (BETA 3) 2016-10-13 (FC) - corretto calcolo tariffa, se veniva fatto ingresso in area principale, ingresso in area interna (percorsi), uscita da area interna, poi era possibile uscire dal parcheggio senza fare pagamento delle soste precedenti (in quanto l'ultimo ingresso era ancora in tempo gratuito) ora applico il tempo gratuito se l'importo da pagare è a 0 2016-10-10 (FC) - modificata funzione PayInTicket, azzera gli importi rToPay e rPayed solo quando gli invio a cassa automatica (che li vuole azzerati per poter funzionare correttamente) - aggiunto controllo su applicazione sconto, non faccio il cambio tariffa se la tariffa sulla prenotazione è messa a -1 - aggiunto palmare (e cassa manuale) fra i dispositivi su cui può essere letto uno sconto 2016-10-07 (FC) - modificata funzione Calcola_tariffaNew per considerare ai fini dei pagamenti anche il totale già pagato delle "sanzioni" (lo aggiungo al totale dal pagare perché viene considerato nel già pagato) - corretta chiamata funzione isAnomalyBlock, su funzione payInTicket, passava come tipo codice il valore "false" invece del tipo di codice a barre 2016-09-30 (FC) - modificata funzione Elabora_ticket, su biglietto già usato dava messaggio tessera già usata quando viene letta la targa. Ora discrimino se si tratta di abbonato o occasionale 2016-09-29 (FC) - completate procedure di verifica targa da parte dell'operatore, sulle colonnine di ingresso/uscita per la customizzazione da installare a Minsk 2016-09-28 (FC) - aggiunti 3 tentativi di esecuzione query (in caso di fallimento). Modificate funzioni "Open","Excec" e "ExecScalar" 2016-09-27 (FC) - migliorata funzione LoadMoneyValues per non effettuare sempre la correzione dei valori sulle tabelle payCash, payInventory, payCurInventory ottimizzate le query di update, faccio una query unica per tutti i valori invece di creare una query per ogni valore da aggiornare 2016-09-21 (FC) - aggiunta funzione PlateSaveImage, per salvare su tabella movTransitPlates le immagini delle targhe lette con accesso consentito (da cancellare all'uscita dal parcheggio) - aggiunto parametro su Salva_Movimento per passare i dati della targa letta (targa, accuratezza, immagine) - aggiunto parametro su Salva_Movimento per restituire l'id del record appena inserito - modificate tutte le funzioni di settaggio stati terminale (Parse_DeviceStatus, SetDeviceStatus, SetDeviceStatusHeader, ecc..), per poterci inserire anche una descrizione, da eventualmente visualizzare sul display di colonnina 2016-09-20 (FC) - su Translate_Message non aggiungo uno spazio alla fine del testo, se il testo è vuoto - su registrazione retromarcia, e controllo biglietti non entrati, uso come valore di riferimento sempre la data di ingresso (prima veniva usata sia quella di ingresso che quella di creazione) - su OutTicket cambio tutte le date, usando sempre quella ricevuta dalla colonnina, altrimenti potevano venire stampate diverse alcune date sul biglietto (differenza tempo fra invio messaggio ed elaborazioni) 2016-09-19 (FC) - controllo in ingresso, su OutTicket, se la targa è in black list e applico la tariffa forzata rispetto ad altre eventualmente configurate - inibisco cambio tariffa (SOLO SU PERCORSI) se la targa è inserita in black list con indicazione di tariffa speciale da applicare - aggiungo chiamata OutMultiTicket (richiesta su keepalive) per la stampa del ticket da effettuare dopo conferma ingresso da operatore - su Outmultiticket, non creo movimento con UIDGroup se devo generare solo 1 biglietto di tipo 1 (biglietto standard), e in questo caso chiamo PayTicket invece di PayMultiTicket (se da generare anche il pagamento) ********************** Ver 1.26.1 (BETA 2) -- CREATO BRANCH DA ELIMINARE ALLA FINE DEI TEST -- 2016-09-15 (FC) - aggiunta verifica su funzione isValidTrackNew per impedire il ripassaggio uscendo da un'area interna (percorsi) se l'uscita è già stata fatta (veniva permesso se la tariffa da pagare risultava >0) (DISATTIVATO, VERIFICARE SE FUNZIONAMENTO DEVE PERMETTERE L'USCITA PER EVITARE DI "SEQUESTRARE" I CLIENTI) ********************** Ver 1.26.0 (BETA 2) 2016-09-14 (FC) - modificata funzione Validate_Date, aggiunto controllo su formato "yyyyMMdd" non gestito. Dava problemi con il salvataggio delle date di validità dei biglietti di servizio (modifica fatta su versione 1.25.1 BETA 5) - aggiunta sulle funzioni Create_Receipt la formattazione delle date secondo la formattazione della lingua impostata sul sistema 2016-09-12 (FC) - modificata la funzione Salva_Movimento, quando viene chiamata la funzione Cerca_Tariffa adesso uso la variabile wCodice al posto di wCode altrimenti potrei non avere un codice biglietto come riferimento per poter effettuare la corretta associazione - aggiunta possibilità di usare nel campo tabTariffEntry.taeMsgReceipt i caratteri segnaposti per la nuova riga %n, la centratura %c, ecc. come già usato in altre situazioni - modificato controllo su funzione Elabora_Ticket per creazione pagamento in caso di utilizzo biglietto in franchigia, eliminata condizione su tariffa = 0, in quanto ora la tariffa non viene mai azzerata - modificata la funzione "GetLine" per poter effettuare una variazione anche a un'altra riga oltre a quella che si sta impostando. (fatto per Minsk per modificare il testo visualizzato sulla riga 1 quando la data di ripensamento non viene stampata perché a 0) - modificata la funzione "GetLine" in modo da non stampare la riga custom (1 o 2 in fondo al ticket) se il tempo gratuito per l'uscita è di 0 minuti, e c'è il valore %t nella stringa (%t è il segnaposto per la stampa dell'ora in questione) - aggiunta la lettura dei minuti di tempo gratuito (dall'ingresso) sulla funzione Calcola_TariffaNew. Il valore viene usato SOLO per stampare sul biglietto di ingresso l'ora entro cui uscire dal parcheggio senza pagare - aggiunto campo tabTerminalReceipt.trcForced INT, per poter definire se forzare la generazione della ricevuta da parte del server (si attiva mettendo il valore a 11100 (forza ricevuta su pagamenti in contanti, no su pos per non sovrascrivere ricevuta della banca), si disattiva con 10000, per ora non vengono gestiti altri casi) (se il campo non esiste il comportamento è quello precedente, cioè viene stampata la ricevuta della cassa se ricevuta, a meno che non sia attiva la fiscalizzazione Croazia) - su funzione DecodeFile_Base64 sostituita funzione System.Text.Encoding.Default.GetString(bt64) con System.Text.Encoding.UTF8.GetString(bt64) per evitare problemi con conversioni in alfabeti non occidentali (es. cirillico) 2016-08-26 (FC) - aggiunta properità rConfidence su ct_GetPlateResult, dove memorizzare la % di accuratezza della targa rilevata - aggiunta proprietà sAccuracy a metodo SetPlate, per impostare la % di accuratezza della targa rilevata Ver 1.26.0 (BETA 1) 2016-08-24 (FC) - modificata funzione generazione messaggi customizzati per aggiungere informazioni per layout diverso e per inserire il numero di passaggi giornalieri 2016-08-22 (FC) - aggiunta verifica tariffa e messaggi custom su gestione percorsi - aggiunto controllo per applicazione tariffa e messaggi customizzati anche su lettura prenotazione 2016-08-11 - modificata funzione Create_Receipt per aggiungere alla ricevuta l'eventuale testo salvato su movLinks.mliReceiptMessage - modificata funzione Salva_movimento, aggiunto parametro wCustomMessageToSave per salvare un messaggio su tabella movLinks da ristampare sulla ricevuta al momento del pagamento 2016-08-10 - modificata funzione OutTicket per valutare il numero di ingressi giornalieri e applicare eventualmente una tariffa diversa Ver 1.25.0 (STABLE) 2016-08-09 (FC) - rilascio versione stabile (deciso da me) Ver 1.25.0 (BETA 5) 2016-08-10 (FC) - corretto caricamento dati prenotazioni su InTicket. Dopo la modifica fatta sulla versione 1.22.0 BETA 4 non veniva più associata la tariffa al movimento al momento dell'utilizzo della prenotazione Ver 1.25.0 (BETA 4) 2016-08-01 (FC) - corretta funzione isValidCode, per verificare correttamente che un ingrsso fatto con colonnina offline già usato in uscita non venga ricreato quando la colonnina ritorna online - modificata funzione Get_CurrentLanguage, aggiunto controllo sulla query di caricamento lingua la condizione lanStatus='V' per evitare di caricare righe eliminate 2016-07-27 (FC) - modificata funzione Get_Type in modo da valutare il dispositivo su cui è stata fatta l'operazione piuttosto che il valore, per stabilire se si tratta di moneta o banconota (per evitare problemi con l'assegnazione del tipo in caso di monete/banconote con lo stesso valore) Ver 1.25.0 (BETA 3) 2016-07-21 (FC) - modificata variabile wAnom su metodo InTicket, cambiata da Int a Double (altrimenti tronca i valori decimali) - modificato il risultato della funzione ExecScalar, per restituire un valore double invece che INT64 (può succedere che venga utilizzata per calcolare un importo, che altrimenti verrebbe arrotondato) - modificato su ct_ListAnomaliesCustomerDetail il campo anmAmount, messo a Double invece che Long Ver 1.25.0 (BETA 2) 2016-07-08 (FC) - modificata funzione SaveSensorDB per rendere più veloce il salvataggio dei dati dei sensori. ottimizzata la query di update 2016-06-27 (FC) - Aggiunto salvataggio stati concentratori e display (offline/online). - Modificata valutazione byte di stato connessione ZCU, valuto la maschera di bit invece del valore esadecimale 2016-06-21 (FC) - Create funzioni per la gestione del posto singolo (KeyTop), usando scheda PSAC141, concentratori, display e sensori infrarossi creato modulo modSinglePlace 2016-06-16 (FC) - modificata la funzione Salva_Monete che nel caso di movimentazione di banconote sia nei resti che nel cashbox durante la stessa operazione di pagamento, non registrava correttamente l'importo totale della banconota nel cashbox 2016-05-18 (FC) - su ricezione OutTicket, se ricevo tipo biglietto 1, lo lascio a 1, altrimenti se ricevuto da cassa manuale metterebbe tipo movimento a 4 Ver 1.25.0 (BETA 1) 2016-05-09 (FC) - aggiunta visualizzazione importo totale all'interno della cassa manuale, su stampa x e z report, importo che somma il totale incassato in contanti con il totale inserito come fondo cassa iniziale - corretto problema su salvataggio x e z report, se sul testo della ricevuta è presente il carattere ' la query fallisce Ver 1.24.0 (BETA 2) 2016-04-27 (FC) - aggiunto numero di biglietti occasionali ancora attivi sull'impianto in coda a stampa X e Z report (esclusi abbonati, include solo ticket di tipo 1 e 22 - standard e lost ticket -) (modifica applicata a versione 1.19.3 BETA 1) - corretta la valutazione del tipo di sconto sui voucher. fatta correzione sui webservices, ma viene sbagliato il codice qrcode generato (ora prendo i dati registrati su db piuttosto che quelli ricavati dal qrcode) - corretto salvataggio utilizzo gettoni di sconto su salvataggio abbonati, non veniva salvato quando per il pagamento viene usato solo il gettone Ver 1.24.0 (BETA 1) 2016-04-11 (FC) - Modificata funzione Calcola_Tariffa_New per valutare le tariffe da applicare in base all'ora di ingresso - Aggiunto su funzioni Cerca_Tariffa la valutazione dell'ora di ingresso (se attiva). quando abilitata se l'ingresso viene effettuato entro l'orario definito si applica la tariffa trovata, altrimenti ne viene cercata un'altra valida - corretto salvataggio movimento su registrazione (Salva_Movimento su Offline_Transits) di una lettura offline di un badge non valido (caso piuttosto remoto) Ver 1.23.0 (BETA 2) 2016-02-23 (FC) - corretto salvataggio gettoni di sconto, veniva moltiplicato il valore (già totale) per la quantità registrando in modo errato il valore totale (quando gettoni usati > 1) Ver 1.23.0 (BETA 1) 2016-03-11 (FC) - modifica testo ricevuta croata da Plaćanje a Placanje su funzioni modReceipt.Create_Receipt per accento non stampabile su stampante NP2511 correzione applicata su versione 1.22.1 (BETA 2) - modifica testo ricevuta croata da Plaćeno a Placeno su funzioni modReceipt.Traduci per accento non stampabile su stampante NP2511 correzione applicata su versione 1.22.1 (BETA 2) - tolgo somma importi scontati da calcolo totale pagato (il totale pagato, deve corrispondere solo al totale richiesto da pagare, gli sconti non devono venire considerati) - corretto controllo su Salva_Accesso che verificava il tipo biglietto di servizio in modo errato (usava il campo che definisce se si tratta di pagamento o transito invece di valutare il tipo) - aggiunta una funzione che ricava il tipo corretto leggendo da database correzione applicata su versione 1.22.1 (BETA 2) 2016-03-09 (FC) - modificata funzione Change_Tariff, aggiunta traduzione su messaggio di errore in caso di variazione tariffa non completata 2016-03-08 (FC) - corretto bug su Elabora_Ticket. La funzione di riabilitazione del biglietto non entrato in parcheggio andava in errore a causa dell'errata classe database usata (ne veniva usata una già in uso e bloccata) correzione fatta su versione 1.22.1 (BETA 1) 2016-03-07 (FC) - corretto calcolo data di inizio turno su generazione report fine turno (X e Z) correzione applicata a versione 1.22.1 (BETA 1) 2016-03-04 (FC) - corretto calcolo data di inizio turno su generazione report fine turno (X e Z) - modificato calcolo codice turno, che non teneva conto dell'anno corrente (il codice dovrebbe essere resettato al cambio di anno) 2016-03-03 (FC) - Creata funzione Load_MoneyValues per caricare una lista di tutti i valori accettati dalla cassa diversificati per tipologia (monete/banconote), aggiunte query di aggiornamento dei dati sul database sulla stessa funzione di caricamento (le query vengono eseguite al primo avvio dei webservices) POTREBBE RALLENTARE LA RISPOSTA AL PRIMO MESSAGGIO! DA VERIFICARE - modificate funzioni per gestione pagamenti considerando il tipo di valore inserito (moneta,banconota,gettone): - Salva_Monete - Prepare_Inventory - Get_InventoryNew - Get_CurrentLevelsNew - Operazioni_Inventario - Carica_Resti - Save_CurrentInventory 2016-03-01 (FC) - Modificata funzione Get_Type per restituire solo un carattere come tipologia - modificata funzione Get_MoneyType per gestire il tipo moneta/banconota in modo corretto (funzionava solo con gli euro) - Aggiunta funzione Load_MoneyValues per caricamento tipi di valori gestiti (monete e banconote) 2016-02-29 - Corretta funzione GetPSAC132, introdotto un errore sul codice (tolto un ELSE dalla funzione di controllo. Il problema c'era sulla BETA 5, ed è stato risolto anche li) - modificate funzioni che salvano su logevent e logrecordings per limitare a 40 caratteri (come da lunghezza su db) l'indirizzo ip registrato sulla tabella Ver 1.22.0 (BETA 5) 2016-02-23 (FC) - corretto salvataggio su fuzione Save_CurrentInventory, venivano salvati invertiti i canali cashbox e payout salvando le operazioni di manutenzione su payInventory (ha effetto su stampa "Dettaglio Operazioni Cassa Automatica") 2016-02-22 (FC) - riabilito funzione ExistField 2016-02-16 (FC) - aggiunto parametro rTerAddress su struttura ct_GetLoopsResult per indicare l'indirizzo del terminale - aggiunto parametro sPIN al metodo isValidUserHeader per permettere l'accesso tramite pin (da dispositivi mobile). il PIN (lunghezza fissa 6 cifre) è codificato con la stessa codifica della password (Md5 + base64) 2016-02-02 (FC) - modificata elaborazione creazione X e Z report, per considerare come una sola operazione l'acquisto di biglietti multipli (ticket tornelli) Ver 1.22.0 (BETA 4) 2016-02-02 (FC) - INSTALLATA versione a Minsk - Disattivato il controllo "corsa cavalli" - Installo versione aggiornata a Minsk (dopo verificato che il problema del blocco era causato da Microsoft Anti Malware) 2016-01-28 (FC) - Correzioni apportate su versione 1.19.2.1 - Aggiunto controllo iPayIssue su metodi: PaySubscriber, PayMultiTicket, PayMultiTicketDetail - Corretta funzione Salva_MoneteNew per salvare le banconote che durante l'erogazione del resto invece di venire erogate vengono spostate nel cassetto davanti 2016-01-21 (FC) - Aggiunto metodo ReverseAccess per registrare passaggio non effettuato da tornello - Aggiunti servizi di tipo 32..34 per gestione biglietti con accesso a tornello (un passaggio solo consentito senza scadenza) 2016-01-20 (FC) - modificato servizio GetServiceList, aggiunta proprietà sCategory per richiedere (opzionalmente) il tipo di lista richiesta ("S","T",se vuoto invia sempre "S") 2016-01-18 (FC) - modificata funzione isValidTrackNew per non aprire la barriera quando rilettura entro tot secondi, e barriera ancora aperta - Modificata la classe ct_Users di risposta al servizio GetConfiguration, aggiunte le proprietà rUseManualCash e rUseServices - Modificata la classe ct_UserResult di risposta al servizio isValidUserHeader, aggiunta le proprietà rUseServices (operatore abilitato alla stampa dei biglietti di servizio) - Modificato controllo Verify_Passback, aggiunto controllo su apertura barriera, con controllo passback non attivo, segno passback lo stesso quando la barriera è aperta è sto facendo un passaggio con lo stesso abbonato (se il passaggio è stato fatto entro i GetReentrySeconds da quello precedente) 2016-01-14 (FC) - Corretta funzione Salva_Accesso che al momento del salvataggio del pagamento dei biglietti di servizi scalava anche un utilizzo da quelli totali disponibili (ora scalo solo quando registro il transito, non il pagamento) - Completati controlli su utilizzo terminale xVIA 2016-01-11 (FC) - modificata funzione isReservation, tolti parametri byRef e creata struttura dove inserire i dati della verifica della prenotazione 2016-01-08 (FC) - Migliorato utilizzo query parametriche per evitare errori su scrittura su tabella logevent (probabile accavallamento di due messaggi, con il primo che cancella i parametri dal secondo) NON FUNZIONA !!! (non ci sono stati cambiamenti, l'errore continua come prima) 2016-01-07 (FC) - Inizio sviluppo con Visual Studio 2013 2015-12-15 (FC) - Disattivata scrittura log su file di elementi non significativi - riattivo SyncLock su LoadDevice - Riattivo SyncLock su UnloadData - Riattivo SyncLock su LoadData - Disattivata funzione ExistsField, restituisce sempre True, si assume che il database venga SEMPRE aggiornato) - messa dichiarazione lock pubblica e aggiunta inizializzazione verificata unica per istanziare solo una volta l'oggetto 2015-12-11 (FC) - disattivo lettura continua su tabParameters.parAllowNegativePlaces - disattivo controllo su tabLanguages.lanShortCode - disattivo funzione CheckTables - disattivo uso globali su funzione ExistsField - Disattivo SyncLock su UnloadData - Disattivo SyncLock su LoadData - tolgo SyncLock su UpdatePlate - tolgo SyncLock su GetTerminalLoopStatus - tolgo SyncLock su SetLoopStatus - tolgo SyncLock su GetLoopStatus - tolgo SyncLock su ExistField - tolgo SyncLock su LoadDevice - aggiunti controlli su SyncLock, aggiunti alcuni synclock in punti critici e aggiunto controllo durata lock, scrivo su log se durata blocco > 10ms 2015-12-10 (FC) - tolta query con UNION su Elabora_Ticket (non valuto più i movimenti controllando il codice badge/targa, uso solo traCarId) - corretta query su ValidCustomer, che veniva eseguita quando non c'erano parametri di ricerca (no targa, no id abbonato, no codice badge), veniva fatta query senza parametri che andava in errore - su modCustomer.LoadData, messo SyncLock sull'intera funzione - Aggiunto SyncLock su LoadDevice - disattivata scrittura dei log, tranne che per errori 2015-12-09 (FC) - modificato controllo associazione targa su InTicket, che veniva usata quella associata all'abbonato, azzerando quella letta sulla corsia nel momento in cui venivano caricati i dati dell'abbonato Ora viene usata la targa associata all'abbonato se presente, altrimenti viene usata quella letta sulla corsia 2015-12-07 (FC) - aggiunto parametro per configurare il tempo di timeout delle query oltre al quale la query viene segnata in un file di log - aggiornata una query su update movRoutes (funzione Save_RoutePayment) per ottimizzare la condizione IN 2015-12-04 (FC) - modificata funzione isAnomalyBlock per usare JOIN invece di IN per velocizzare esecuzione query Ver 1.22.0 (BETA 3) 2015-12-03 (FC) - disattivo funzioni creazione tabelle temporanee, sembra che non sia efficente per l'uso (rimetto la query senza tabella temporanea) - modificata inizializzazione variabile ultimo caricamento dati terminali, per evitare la rilettura continua del crc delle tabelle - corretto controllo su funzione isValidatedTicket per evitare problema su lettura date quando date memorizzate a 0 2015-12-02 (FC) - Corretta riassegnazione posto occupato su retromarcia biglietto con posto riservato su area/gruppo (non veiva riaggiunto su abbAreaGroup) - aggiungo su retromarcia (KeepAlive), i dati identificativi dell'abbonato: id, id gruppo, tipo codice, in modo da poter applicare i conteggi dei posti su tutte le tabelle necessarie (anche quelle collegate ai gruppi/area) - modificata funzione Disable_Routes, messa opzione (modificabile da sorgente) per cancellare i percorsi conclusi da tabella movRoutes invece di disabilitarli - modificata funzione Disable_Routes per utilizzare nella condizione "IN" i dati già ricavati e memorizzati su una tabella di memoria temporanea creata in precedenza - modificata funzione isAnomalyBlock per utilizzare nella condizione "IN" i dati già ricavati e memorizzati su una tabella di memoria temporanea creata in precedenza - create funzioni: PrepareTempTable e RemoveTempTable per creare e rimuovere tabelle di memoria temporanee sulla base di una query data - aggiunto controllo su inizializzazione thread di caricamento dati terminali (messo lock su funzione StartProcess per avviare thread di verifica stati) 2015-11-30 (FC) - modificata funzione ExistField, attivato uso variabili globali per memorizzazione esistenza campi su database Ver 1.22.0 (BETA 2) 2015-11-27 (FC) - Rilascio versione per installazione Came Adriatic - su funzione isValidatedTicket cambiato messaggio della data di fine validità che visualizzava la data odierna invece della data di fine validità Ver 1.22.0 (BETA 1) 2015-11-26 (FC) - su Salva_Pagamento, modifico automaticamente il tipo pagamento, indicandolo come storno se il tipo ricevuto è 1 e l'importo pagato corriponde all'importo da pagare in negativo - Modificata query per ricavare operazioni da stampare su X e Z Report, se un movimento aveva più operazioni di pagamento, veniva conteggiato un movimento (e anche uno sconto) per ogni pagamento effettuato, duplicando le righe riportate (è stato tolto il raggruppamento, ora vengono presi sempre tutti i pagamenti e movimenti) 2015-11-25 (FC) - Messo il salvataggio del pagamento al cambio sconto su tutti i biglietti (tranne tipo 87 - biglietto abbonamento giornaliero) a cui viene applicato uno sconto a valore di un importo >= all'importo da pagare, oltre ai biglietti di abbonamento giornalieri. - Aggiunta visualizzazione modalità di pagamento su ricevuta di storno (contanti o tipo carta usata) - Corretta numerazione ricevuta su generazione storno (se fiscalizzato incrementava di due numeri il progressivo) - Tolto azzeramento importo richiesto per il pagamento, su Elabora_Ticket quando biglietto è in franchigia per uscita e viene letto per il pagamento su cassa manuale. 2015-11-24 (FC) - Migliorato layout ricevuta z-report (allineamenti e margini) - Corretto controllo su variazione di stato spire per elaborazione targa in corsia. Poteva capitare che rimanesse impostato lo stato di spira occupata e con la lettura targhe attive riapriva continuamente la barriera (fino a quando la targa è sulla corsia) 2015-11-23 (FC) - Correzione su calcolo numero ricevuta che generava errore quando erano impostati dei parametri in modo incorretto su tabella tabTerminalReceipt (Lunghezza ultimo progressivo stampato < lunghezza definita nella mask - parametri NN) - Aggiunta verifica su campo tabArea.areDailyTicketStartFreeTime per controllo ora di inizio periodo gratuito; Si applica al calcolo della tariffa dei biglietti di abbonamento giornalieri, a quelli generati dopo l'ora indicata non viene applicata la tariffa per il giorno di emissione (La data di inizio validità non è influente, se l'ora indicata è 0:00:00 la regola non si applica) - Modificata query di verifica esistenza pagamenti (per calcolo tariffa biglietto abbonamento giornaliero), sostituita condizione "IN" con "INNER JOIN" - aggiunte informazioni su operazioni di addebito in camera su funzione GenerateReport (stampa X e Z report) Ver 1.21.0 (BETA 1) 2015-11-19 (FC) - Aggiunto calcolo posti disponibili (isParkOpenGroup) su ingresso parcheggio su ingresso abbonato con gruppo. Poteva entrare anche con parcheggio pieno, se non viene definito il numero massimo di posti riservati al gruppo - correzioni su calcolo posti speciali (disabili) 2015-11-18 (FC) - completato salvataggio e modifica layout di stampa X e Z-report (come da richieste di Came Adriatic) (i dettagli dei pagamenti non vengono visualizzati se la stampa fiscale croata è attiva) 2015-11-17 (FC) - aggiunte risorse su tabUserMessage: msg_cashreversal, msg_posreversal, msg_reversal - aggiunte proprietà rShiftStart, rShiftEnd, rTotCash, rTotPOS su ct_GenerateReportResult per informazioni su inizio, fine turno e totali incassi divisi per contanti/pos - corretto conteggio liberi su posti area, quando fatta variazione su posti speciali 2015-11-16 (FC) - aggiunto parametro rReceipt su ct_GenerateReportResult dove includere la ricevuta generata dal server - Modificata procedura di generazione X/Z Report per includere dati di storno e dettagli pagamenti con il pos - Creato servizio ReversalPayment per registrare operazione di storno (legata o no a un biglietto), lo storno può venire effettuato sia su un pagamento in contanti che su carta di credito 2015-11-11 (FC) - Modificato il controllo posti disponibili per tenere conto di un'eventuale impostazione che permette (in modo estemporaneo) l'accesso all'area anche se senza posti disponibili (l'attivazione/disattivazione va effettuata manualmente dall'operatore) - Aggiunta funzione ReloadConfig per permettere a un'applicazione esterna di inviare la richiesta di ricamento della configurazione (es: da wisepark dopo la modifica di una configurazione) 2015-11-10 (FC) - Aggiunta funzione Get_ParkPlaces per ottenere i dati di disponibilità dei posti per ogni parcheggio configurato sull'impianto (con evidenza dei posti speciali, prenotati, posti sui piani e per i gruppi) 2015-11-09 (FC) - Create funzioni per utilizzo terminale PSAC132 con conteggio contaposti speciali(uso posti disabili, ecc) (modCounterSpecial.bas) Ver 1.20.0 (BETA 11) 2015-10-29 (FC) - riattivata funzione di controllo validazione biglietti per Prato Ver 1.20.0 (BETA 10) 2015-10-28 (FC) - corretta applicazione dello sconto in percentuale sul calcolo della tariffa del biglietto di abbonamento giornaliero 2015-10-26 (FC) - Aggiunto controllo su RequestFiscalization, segno come procedura non andata a buon fine anche con parametro Result<>0 - Aggiunto tag rPhone su messaggio isValidUserHeader, inserisco campo tabUser.usePhone (mi serve per fiscalizzazione Croazia per identificativo operatore) 2015-10-23 (FC) - aggiunto controllo su esito fiscalizzazione (RequestFiscalization), se non va a buon fine non faccio salvataggio pagamenti e restituisco messaggio di errore (se disponibile quello restituito dal servizio di fiscalizzazione, altrimenti generico) funzioni coinvolte: PayTicket, paySubscriber, OfflinePaymentPOS (reversal_payment) 2015-10-22 (FC) - modificato calcolo prezzo biglietto abbonamento giornaliero. non prende più l'importo da tabella tabparameters ma da tabella tabArea l'importo può essere diverso per ogni area - aggiunto parametro su myconf.config per configurazione timeout di attesa risposta messaggio di fiscalizzazione (default 10 secondi) 2015-10-21 (FC) - tolta scrittura log PlateReading su file, lascio solo su db. Tolto il salvataggio dell'immagine dai log (risparmio spazio) - azzero la targa alla variazione di stato della spira (anche quando si occupa, oltre alla liberazione già presente) - azzero la targa quando ricevo TRNOT (PlateReading) - non setto la targa se la spira non è libera 2015-10-20 (FC) - corretto su Elabora_LogManutenzione la variabile wData, era di tipo String e veniva usata come di tipo DateTime (genera errore su Windows 2012 inglese con psone in italiano su elaborazione fine manutenzione) - tolto da file Cassa.xml il tag PAYSTATION_SHOWINTROVIDEO per non modificare quello già presente sulla cassa 2015-10-19 (FC) - aggiunta scrittura intestazione personalizzata per ogni terminale su ricevute di pagamento. Aggiunto campo tabTerminalReceipt.rctHeader (parole chiave: %d = data %t = ora, %n = nuova riga, %c = centra testo, %r = nome terminale) Ver 1.20.0 (BETA 8) 2015-10-19 (FC) - tolta scrittura dei log dei parametri di fiscalizzazione della Croazia se la procedura non è attiva - disattivata query levensthein se il controllo targa non è attivo (per velocizzare le prestazioni) 2015-10-16 (FC) - corretta funzione isCustomer - modificato invio caratteri accentati (ASCII > 127) a procedura di fiscalizzazione, faccio ESCAPE prima dell'invio e UNESCAPE alla ricezione Ver 1.20.0 (BETA 7) 2015-10-15 (FC) - tolgo dicitura storno (solo da lingua croata) su ricevuta di storno e stampo solo una riga semplice 2015-10-14 (FC) - invio a fiscalizzazione Croazia su RequestFiscalization il tipo di carta di credito usato invece di tipo pagamento "K" quando pago con POS, altrimenti invio "C" Ver 1.20.0 (BETA 6) 2015-10-13 (FC) - disattivo (come richiesto da Came Adriatic) la stampa dell'id operatore (per la fiscalizzazione) sulla ricevuta. Viene mantenuto per tutti gli altri casi (fiscalizzazione) - apportati alcuni miglioramenti alla funzione di calcolo della ricevuta (CalculateReceiptNumber) - aggiunto carattere ("$") di riconoscimento inizio e fine stringa fissa su calcolo codice ricevuta Ver 1.20.0 (BETA 5) 2015-10-09 (FC) - corretta visualizzazione firma fiscale che riportava il codice del pagamento precedente quando veniva successivamente pagato un biglietto ancora in franchigia (o con importo a 0) - aggiunto calcolo sconto su calcolo tariffa biglietto abbonamento giornaliero - aggiunto su ChangeDiscount, gestione DiscountType = 3 per aggiunta importo di sconto a sconto già applicato - tolto su PayInTicket controllo di validità biglietto di abbonamento, faccio pagare anche con inizio validità futura, non faccio pagare se il biglietto è già scaduto - aggiunto su ricevuta di fine turno il numero di biglietti di abbonamento giornaliero emessi 2015-10-08 (FC) - salvataggio corretto riferimento id pagamento per recupero dati ricevuta biglietto servizi DA VERIFICARE OPERAZIONI DI PAGAMENTO PAYMULTITICKET - modificata scrittura su tabella logevent, usando una query di inserimento parametrica per provare a risolvere l'errore "Fatal Error" quando vengono fatti certi inserimenti 2015-10-07 (FC) - aggiunta gestione servizio ID:99 su OfflinePaymentPOS per registrare un'operazione di storno. Viene generata e salvata anche una ricevuta (fiscale - solo Croazia - se la gestione è attiva) - aggiunto tag rReceipt su struttura ct_OfflinePaymentPOSResult - aggiunte su generazione ricevuta informazioni relative ai resti non erogati e una riga per evidenziare che il pagamento è stato annullato senza concludersi. Le traduzioni sono state riportate prendendo quelle già presenti sul file languages.csv della cassa automatica 2015-10-06 (FC) - correzione generazione ricevuta inviata in risposta al messaggio di pagamento e miglioramenti sui controlli di fiscalizzazione (Croazia) - disattivata scrittura log cambio stato spire - tolgo configurazione attivazione controllo pagamento su biglietti giornalieri da myconf.config, verifico da database valorizzazione campi: parDailyTicketAmountDay,parDailyTicketAmountTransit (rispettivamente: prezzo per giorno di validità, prezzo per ogni transito consentito - sommabili -) - corretto conteggio posti su retromarcia biglietto giornaliero Ver 1.20.0 (BETA 4) 2015-10-06 (FC) - Rilascio versione per test - aggiunto tag DailyTicketNeedsPayment su file myconf.config per attivare il controllo sul pagamento per rendere attivo l'obbligo di pagamento prima dell'uso di un biglietto giornaliero 2015-10-05 (FC) - eliminato il calcolo del progressivo ricevuta, quando il pagamento è a 0 (lascio la generazione della ricevuta SENZA progressivo) - corretto calcolo progressivo quando non effettuato con fiscalizzazione - Disattivato controllo su funzione Validate_Date che imposta la data ad adesso se viene valutata data futura non posso lasciare attivo questo controllo in quanto se ricevo richiesta di emissione di biglietto di abbonamento con data di validità futura, questa data verrebbe persa Ver 1.20.0 (BETA 3) 2015-09-23 (FC) - Rilascio versione per i test - corretto salvataggio prenotazione su modifica usando servizio ReservationManage - Rilascio versione 1.19.0 2015-09-22 (FC) - aumentato timeout attesa risposta funzione POST_Request da 1500 a 3000 ms - aggiunto salvataggio tipo carta di credito usata per il pagamento su funzione Salva_Pagamento (prima anche se ricevuto dalla cassa non veniva registrato) 2015-09-21 (FC) - tolto controllo esistenza codice biglietto abbonamento su tabella movAccess, per evitare il blocco dell'accesso la prima volta che si tenta di accedere al parcheggio (in quanto non ci sono righe sulla tabella) - aggiunto controllo corrispondenza area ingresso/uscita con area associata su generazione biglietto abbonamento Ver 1.20.0 (BETA 2) 2015-09-18 (FC) - aggiunta tabella tabTerminalReceipt - aggiunto il calcolo dell'imponibile anche quando l'iva è da scoporare (prima veniva calcolato solo con iva in aggiunta, perché con lo scorporo non scriveva l'imponibile. Ora lo scriviamo su fiscalizzazione croazia) - tradotte le frasi per le ricevute (generate da server) in croato - messo importo imponibile anche su iva con scorporo nel caso in cui sia attiva la fiscalizzazione (solo Croazia per adesso) - aggiunto nome e id operatore su stampa ricevuta fiscale croazia - modificata creazione ricevute fiscali in base alle indicazioni ricevute da CameAdriatic 2015-09-10 (FC) - Modificato su GetFreePark valutazione posti liberi in base a prenotazioni. Aggiungo il controllo sull'area del parcheggio da utilizzare Modifica fatta su versione 1.19.0 (BETA 6) - Aggiunta funzione isValidatedTicket per verifica se il biglietto è stato validato con abilitazione all'utilizzo solo in un determinato periodo 2015-09-09 (FC) - Aggiunta lettura campo OperatorId da tabUser.usePhone, partendo da id operatore inviato da cassa manuale (RequestFiscalization) - Aggiunta lettura campo terSetup per impostazione campi PosLabel e CashRegisterLabel (RequestFiscalization) 2015-09-08 (FC) - Modificato invio campo OperatorId, messo con pad a 11 caratteri (formato: 00000000000) (RequestFiscalization) - Metto su campi fiscalizzazione JIR e ZKI un messaggio "Non disponibile" (tradotto, tabUserMessage.err_unavailable) se non ricevuta la firma da stampare sulla ricevuta fiscale - aggiunta funzione GetOperatorName, per ricavare nome e cognome di un operatore partendo dall'id - faccio richiesta fiscalizzazione solo quando importo da pagare e pagato sono > 0 - corretta la formattazione di data e ora inviate al servizio di fiscalizzazione (prendevo quelle ricevute dalla cassa, che però non manda nel formato corretto senza separatori) - aggiunto su messaggio RequestFiscalization (fiscalizzazione Croazia) il tag per indicare il tipo di pagamento Ver 1.20.0 (BETA 1) 2015-09-04 (FC) - rilascio versione - tolti i log di tutti i messaggi PlateReading, lascio solo i messaggi contenenti targhe - aggiunti tag rReceiptType e rReceipt su risposta a messaggi PayTicket,PayMultiTicket,PayMultiTicketDetail (rReceiptType = "BASE64" per ricevuta codificata base64 o "TEXT" per ricevuta in chiaro) 2015-08-28 (FC) - Corretto errore salvataggio monete quando ricevuti gettoni sconto - Aggiunto caricamento dati fiscali per ricevuta Croazia. Aggiunti su ricevuta creata al momento del pagamento 2015-08-20 (FC) - controllo tipologia biglietto per verifica abilitazione Ver 1.19.0 (BETA 5) 2015-08-20 (FC) - Rilascio versione per test 2015-08-17 (FC) - Aggiunto modulo modHrvatskaFiscalization per gestione messaggi fiscalizzazione croazia (nessuna chiamata aggiunta, classe non utilizzata) 2015-08-13 (FC) - Aggiunta cancellazione targa se lettura targhe attiva, stato spire cambiato e spira 1 liberata 2015-08-10 (FC) - Aggiunto salvataggio stato barriera su Update_Loop - corretto salvataggio stato spire (Update_Loop) Ver 1.19.0 (BETA 4) 2015-08-07 (FC) - Rilascio versione. Verrà installata a Prato (senza essere testata) - aggiunto tag rAbbType su risposta a metodo isCustomer, dove scrivo il tipo di abbonamento (scalare/periodo,ecc...) 2015-08-04 (FC) - modificato controllo posti liberi parcheggio per togliere dai posti liberi visualizzati su tabellone i posti prenotati per il periodo attuale 2015-08-03 (FC) - aggiunta variabile vrTestCounterTAG per memorizzare tag letto da scheda PSACxxx, da passare a applicazione CounterTest durante test scheda PSAC Ver 1.19.0 (BETA 3) 2015-07-31 (FC) - aggiunto tipo TELEPASS alle tipologie riconosciute come tessera abbonato - aggiunta tabella tabTerminalExtraMem (tabella di memoria) dove registro lo stato delle spire per ogni terminale 2015-07-29 (FC) - su InTicket spostato registrazione utilizzo prenotazione in posizione indipedente dall'applicazione di una tariffa speciale (altrimenti veniva aggiornata solo quando veniva impostata una tariffa speciale o uno sconto) - controllo su InTicket, isParkOpenGroup, restituisce posti sempre liberi se leggo prenotazione - aggiunto aggiornamento prenotazione quando viene fatta retromarcia (su ingresso) - memorizzo stato movReservation.resConfirmed a 1 quando fatto ingresso con prenotazione, in questo modo la prenotazione non influisce più sul conteggio dei posti prenotabili 2015-07-28 (FC) - modificata funzione GetFreePark, ora tiene in considerazione, sottraendoli dai posti disponibili, i posti prenotati per il giorno - Modificato metodo ReservationManage, aggiunto tipo operazione 4, restituisce (per l'area richiesta - sData.AreId - i posti prenotabili per la data indicata - sData.DateFrom -) Ver 1.19.0 (BETA 2) 2015-07-27 (FC) - corretto problema esecuzione query inserimento attività (Save_Activity), quando presente campo opeActivities.acvCausal, se la causale non veniva passata il parametro non veniva impostato generando errore sull'esecuzione della query 2015-07-022 (FC) - aggiunto metodo GetLoops per richiedere per ogni corsia dell'impianto lo stato delle spire (ricavato da variabile globale) - aggiunte funzioni e oggetti per memorizzare su variabile locale lo stato delle spire per corsia Ver 1.19.0 (BETA 1) 2015-07-03 (FC) - rilasciata versione per test - aggiunto impianto 0069 su controllo TSP su colonnina (aggiunto su versione 1.14.1. BETA 11) - corretto problema che generava messaggio "ABORT" dopo lettura su TSP su impianto "Firenze" (aggiunto su versione 1.14.1. BETA 11) - aggiunto tag sCausal su messaggio ShiftManage per registrare una causale sulla registrazione di operazioni di cassa (deposito/prelievo valori) 2015-07-02 (FC) - aggiunto parametro rTotAmount su ct_ShiftMangeResult dove memorizzare l'importo incassato dall'operatore 2015-06-26 (FC) - aggiunta proprietà GetReentrySeconds per impostare il numero di secondi entro i quali non viene applicato il controllo sul passback Ver 1.18.0 (BETA 2) 2015-06-26 (FC) - aggiunti parametri iDiscountType e iDiscountValue su dati biglietto GetInfoTicketDetails, coniene il valore di sconto applicato al biglietto - correzione metodo GetInfoTicketDetails, non caricava i dati della tariffa applicata al pagamento Ver 1.18.0 (BETA 1) 2015-06-23 (FC) - aggiunto metodo GetInfoTicketDetails per restituire oltre ai dati normalmente restituiti di un biglietto con il metodo GetInfoTicket, anche tutti i dettagli dei pagamenti effettuati, comprese le ricevute e le singole monete/baconote utilizzate Ver 1.17.0 (BETA 1) 2015-06-17 (FC) - modificata codifica su scrittura file su funzione WriteFileRAW, messa a Default invece di UTF8, altrimenti non salva correttamente le immagini convertite da base64 2015-06-16 (FC) - aggiunto parametro dTerIdLink su struttura clsDevice.Device_Info - disattivata scrittura sui log dei messaggi ricevuti da telecamera targa SekuPlate, quando non contiene dati di letture di targhe 2015-06-10 (FC) - aggiunto metodo Reservation_Manage per effettuare salvataggio prenotazioni (solo parcheggio, solo 1 utilizzo) - funzione Check_SaveLog aggiunto sleep(10) per evitare utilizzo intenso CPU (su funzione di controllo scrittura log su db) (aggiunta su versione 1.15.0 (BETA 6) e 1.14.1 (BETA 10) Ver 1.16.0 (BETA 1) 2015-06-10 (FC) - avanzamento versione a 1.17. sviluppo 1.16 per stampa fiscale kenya verrà ripreso per completamento in futuro Ver 1.16.0 (BETA 1) 2015-05-29 (FC) - effettuate correzioni su salvataggio dati pagamento (mancanza importo calcolato payAmountCalc, importo IVA su ricariche abbonati) - effettuate correzioni a stampa ricevuta (problemi con visualizzazione iva) 2015-05-28 (FC) - memorizzo ricevuta su ricarica abbonamento, invio in risposta a paySubscriber, nel tag rMessage - aggiunta creazione ricevuta su salvataggio ricarica abbonato (paySubscriber) - aggiunto calcolo numero progressivo ricevuta da stampare su ricevute di pagamento/ricarica abbonato - modificata funzione di test output scheda PSAC132, per utilizzare la modalità di test con tutti gli 8 output attivati in sequenza prima usava solo i primi 4 output, basandosi solo sulla quantità di input ricevuta. Applicata la modifica alla versione 1.15.0 BETA 5 2015-05-27 (FC) - fatte modifiche per evitare spam scritture su log messaggio DEBUG COUNTER (accesso simultaneo alla coda di messaggi di log, corretto con synclock) (modifiche fatte su versione 1.15.0 BETA 4) 2015-05-25 (FC) - preparati tag di test per stampante fiscale Kenya (payTicket.iPayInfo.iPayReceiptNumber = "fiscal", risponde con ct_PayTicketResult.rMessage con immagine Base64 da stampare) (da ridefinire per versione definitiva) Ver 1.15.0 (BETA 3) 2015-05-25 (FC) - RILASCIO VERSIONE x TEST (e installazione LIBANO + forse PD) - applicate correzioni a disconnessioni recordset e database dove non correttamente chiusi (Connect, isValidatedForExit, Calcola_Cod128, Salva_Movimento, Valid_Customer, isPassbackTickets, isReservation, Get_VatSettings, Salva_Pagamento, Save_Version, Check_Table, PayInTicket) (correzioni applicate a versione 1.14.1 BETA 8) 2015-05-21 (FC) - Elabora_Ticket funzione di ricerca biglietto/badge modificata query, per migliorare le prestazioni (tolto OR, sostituito con UNION) cercando di utilizzare le chiavi sui singoli campi ricercati - corretto salvataggio data di ingresso su GetInfoTicket, non veniva valorizzata correttamente se l'ultimo movimento era un'entrata disabilitata per retromarcia (nel momento in cui veniva riattivato il biglietto) (applicata correzione su versione 1.14.1 BETA 7) Ver 1.15.0 (BETA 2) 2015-05-20 (FC) - aggiunto metodo GetDeviceInfo per ottenere le informazioni di un dispositivo, partendo dall'indirizzo del device fornito nell'header Ver 1.15.0 (BETA 1) 2015-05-19 (FC) - corretto problema su lettura tag uhf ricevuto da scheda PSAC, veniva valutato se numerico, non trovandolo numerico (quando non inizia con almeno una cifra) non veniva tolto il preambolo 2015-05-15 (FC) - corretto problema array overflow su impostazione output durante test scheda contapiani 2015-05-13 (FC) - tolto invio messaggio arrivederci (msg_goodbye) su InTicket. Lascio la gestione completamente a carico della colonnina - aggiunto il numero ricevuta durante la generazione (Create_Receipt) quando presente (iPayInfo.oPayReceiptNumber) - aggiunta proprietà iPayReceiptNumber a struttura ctPayInfo. Serve per ricevere da cassa (manuale) il codice univoco di ricevuta da incorporare nella ricevuta da stampare 2015-05-11 (FC) - disabilitata funzione che disattiva tutti i biglietti legati a un gruppo. Funzione che se leggo un ticket su colonnina di uscita, disabilita tutti i biglietti collegati Ver 1.14.1 (BETA 6) 2015-05-07 (FC) - cambiata query di eliminazione pagamenti a 0 su funzione Change_Discount per renderla più veloce - disattivo il controllo della targa in uscita (se attivo) quando in ingresso non è stata letta una targa - rimessa indicazione font da usare su generazione ricevuta (Genera_ricevuta) Ver 1.14.1 (BETA 5) 2015-05-06 (FC) - eliminato azzeramento wRispo.rBarCode su InTicket, azzeramento che veniva fatto quando il movimento deve venire considerato forzatamente valido - corretto caricamento percentuale di verifica corrispondenza targa su entrata abbonato. 2015-05-05 (FC) - messa centratura testo su stampa righe piede biglietto, su righe generate da stampa per prenotazione 2015-05-04 (FC) - corretto controllo su applicazione funzione levensthein. veniva esclusa quando la percentuale da controllare era diversa dal 100% Ver 1.15.0 (BETA 1) 2015-05-04 (FC) - corretto controllo su applicazione funzione levensthein. veniva esclusa quando la percentuale da controllare era diversa dal 100% 2015-04-16 (FC) - creato servizio Shift_Manage per gestione turni 2015-04-13 (FC) - cambio versione Ver 1.14.1 (BETA 4) 2015-04-28 (FC) - modificata tipologia elaborata su abbonamento di tipo misto, veniva elaborato come a periodo non scalando il credito - aggiunto parametro importo pagamento periodo su struttura dati abbonamento Ver 1.14.1 (BETA 3) 2015-04-27 (FC) - modificato controllo su creazione ticket offline non presente, lo creo solo quando il codice di errore è codice non trovato (altrimenti lo crea anche in altri casi - es: ticket gratis - ) se letto su cassa biglietto offline esistente che può uscire - fatta patch (TEMPORANEA) per Garage San Marco, perché su stampante di rete stampa lento Ver 1.14.1 (BETA 2) 2015-04-27 (FC) - corretto metodo GetClassList che dava errore su traduzione classi Ver 1.14.1 (BETA 1) 2015-04-13 (FC) - modificata funzione isValidTrackNew, salto i controlli per creazione movimenti/cambio tariffa e aggiornamento stato percorsi, se nessuna regola è stata trovata Ver 1.14.0 (STABLE) 2015-04-09 (FC) - RILASCIO VERSIONE STABILE Ver 1.14.0 (BETA 9) 2015-04-07 (FC) - RILASCIO VERSIONE PER TEST - corretto mancata applicazione tariffa su passaggi area abbonati - corretta lettura tipo badge abbonato occasionale su PayInTicket (isCustomerInvoiceTicket) Ver 1.14.0 (BETA 8) 2015-04-07 (FC) - RILASCIO VERSIONE PER TEST - Corretta funzione Check_CustomMessage su OutTicket che passava tipo codice come boolean invece di passare correttamente il tipo di codice da elaborare (BarCode) Ver 1.14.0 (BETA 7) 2015-04-03 (FC) - effettuata correzione su registrazione retromarcia biglietto occasionale, quando fatta con percorsi su area interna (modMain.CompleteTicketReverse, aggiunto limit 2 su query per recuperare tutti i movimenti del passaggio di area) - Aggiunto tag TELEPASS_ENABLED su colonna.xml, per invio configurazione UHF a colonnine entrata/uscita Ver 1.14.0 (BETA 6) 2015-04-03 (FC) - RILASCIO VERSIONE PER TEST 2015-04-02 (FC) - aggiunto salvataggio pagamento quando viene richiesto il pagamento di un biglietto che risulta ancora in franchigia e che non è mai stato pagato Ver 1.14.0 (BETA 5) 2015-04-01 (FC) - RILASCIO VERSIONE PER TEST - modificati controlli su targa usando funzione lenvshtein, non la uso se la percentuale di corrispondenza deve essere del 100%, e se due targhe da confrontare sono identiche restituisco direttamente 100% di corrispondenza - corretto controllo su Elabora_Ticket per rilettura badge entro 30 secondi, verifico che il terminale da cui è stata fatta la lettura sia lo stesso della lettura prec. - corretto controllo su isValidTrackNew per rilettura badge entro 30 secondi, verifico che il terminale da cui è stata fatta la lettura sia lo stesso della lettura prec. Ver 1.14.0 (BETA 4) 2015-04-01 (FC) - RILASCIO VERSIONE PER TEST - corretto problema rilettura badge che veniva sempre fatto passare (anche in passback, anche dopo il minuto dall'ultima lettura), anche sulle aree interne Ver 1.14.0 (BETA 3) 2015-03-30 (FC) - RILASCIO VERSIONE PER TEST - sostituita su KeepAlive funzione isBadge con vrClsCustomer.loadData - aggiunto parametro per controllare percentuale di uguaglianza targa, su verifica targhe simili su tabella abbonati aggiunto campo su tabParameters.parPlatePercentCustomers Ver 1.14.0 (BETA 2) 2015-03-27 (FC) - RILASCIO VERSIONE PER TEST - tolto conteggio del posto quando da verifica isValidTrackNew quando il movimento viene validato perché fatto uno uguale entro i 30 sec prec. - correggo controllo su isValidTrackNew, verifico data movimento in base a verso ultimo movimento (valuto data di uscita/entrata in base alla direzione attuale) - corretto controllo passback quando ci sono percorsi con terminale di passaggio impostato come entrata in area interna (devo considerare l'area in cui entrerò, invece veniva caricata l'area da cui uscivo). - corretto errore su caricamento dati da classe vrClsCustomer, funzione isCustomerInvoiceTicket non valorizzava i valori di ritorno Ver 1.14.0 (BETA 1) 2015-03-27 (FC) - RILASCIO VERSIONE PER TEST 2015-03-23 (FC) - corretto calcolo tempi durata sosta interna parcheggio su isValidTrackNew. Veniva controllato facendo la differenza in minuti che poteva non dare il risultato esatto, fatta differenza in secondi - modificata funzione Tariffa_Abbonato, aggiunto parametro wCarId per ricerca diretta con id abbonato - modificata funzione Subscr_CheckCharge, aggiunto parametro wCarId per ricerca diretta con id abbonato - aggiunto il calcolo della sanzione sull'elaborazione dell'abbonato anche quando l'abbonato è a periodo - aggiunto parametro (wFullDisable) su Disable_Routes, per disattivare i percorsi solo al momento dell'effettiva uscita - aggiunto calcolo Sanzione su messaggio PayInTicket - tolto da isAnomalyBlock controllo su anomalie già pagate - ridotto tempo tra due addebiti stessa tessera, stessa corsia, da 5 a 2 minuti (Subscr_Charge) - in isValidTrackNew tolto il controllo che fa cambio tariffa solo se diversa da precedente, altrimenti il nuovo movimento verrebbe creato con tariffa standard che potrebbe non essere corretta - aggiunto controllo su tipo di titolo (biglietto/badge) su PayInTicket, quando messaggio ricevuto da colonnina di uscita (registrazione movimento di uscita con pagamento a 0) - GetInfoTicket, se trovo un movimento di entrata, ma disattivato, non salvo la data e l'ora di ingresso, ma li metto con l'ora di adesso (altrimenti viene calcolata la data dell'ingresso prec. per il conteggio importo anomalo) - Aggiunto controllo su operatore, quando badge letto su corsia con obbligo di validazione per uscita - aggiunto modulo modElaboraStati, sostituisce funzioni di scrittura log su file di testo (Call_Elabora_Stati_New viene tolta, viene chiamata Call_ElaboraStatiTH) - Corretta funzione Get_TableChecksum (spostato Sum prima di calcolo CRC) 2015-03-17 (FC) - aggiunto il calcolo della sanzione sull'elaborazione dell'abbonato anche quando l'abbonato è a periodo 2015-03-15 (FC) - modificata funzione Disable_Routes, aggiunto parametro wCarId per passare id abbonato, tolta disabilitazione anomalie quando disattiva percorsi 2015-03-13 (FC) - creato nuovo metodo payAnomalies per pagare le anomalie indicate in modo da permettere l'uscita dal parcheggio 2015-03-12 (FC) - modificata funzione salvataggio log per problema scrittura alcuni eventi su db - aggiornata funzione PaySubscriber per rilevamento tipo badge e caricamento ID - aggiornata funzione GetInfoTicket per rilevamento tipo badge e caricamento ID - modificato metodo GetSubscriber 2015-03-11 (FC) - completata funzione ValidCustomer - aggiunto metodo ListAnomaliesCustomer, per restituire l'elenco di anomalie di un abbonato 2015-03-10 (FC) - modificata funzione ValidCustomer, utilizzo nuova struttura dati (da completare) 2015-03-09 (FC) - aggiunto parametro wCarId a funzione Subscr_Charge - modificata funzione Subscr_Charge, eliminato parametro in ingresso isPlate sostituito con wCodeType (tip codice ricevuto) - modificata funzione isBadge, estesa con parametro sSubDevice, restituisce tipo codice (valuta solo tipo, non valuta esistenza abbonamento su db) - modificata variabile wIsBadge in metodo PayInTicket con wCodeType che specifica il tipo di titolo letto - aggiunto controllo su tipo badge su metodo CompleteTicket - aggiunto controllo su tipo badge su metodo Offline_Transits - modificata funzione isBadge, aggiunto parametro restituito con tipo codice trovato - aggiornata funzione Update_Transit. aggiunto parametro per indicare il tipo di codice passato, che verrà usato per l'aggiornamento di stato - eliminata funzione GetSubscriberId non usata (sostituita da Find_CarId) 2015-03-07 (FC) - aggiunto semaforo su InTicket per evitare doppie elaborazioni da stessa corsia e stessa chiamata - modificata variabile isBadge in metodo InTicket con wCodeType che specifica il tipo di titolo letto - modificata funzione isValidTrackNew, aggiunta informazione tipo codice letto - modificato metodo InvalidateForExit, aggiunto tag sUHFCode - modificato metodo ValidateForExit, aggiunto tag sUHFCode - aggiunto controllo su funzione DisableForExit per controllo codici UHF - verificato - - aggiunto controllo su funzione EnableForExit per controllo codici UHF - verificato - - aggiunto controllo su funzione Find_CarId per controllo codici UHF - verificato - - aggiunto controllo su funzione ManageCustomer per controllo codici UHF - verificato - aggiunto controllo su funzione ListCustomer per controllo codici UHF - verificato - - aggiunto controllo su funzione GetInsideAreaList per controllo codici UHF - verificato - - aggiunto controllo su funzione TesseraExistOperator per controllo codici UHF - verificato - aggiunto controllo su funzione TesseraExist per controllo codici UHF - verificato - - aggiunto controllo su metodo isCustomer per controllo codici UHF - verificato - - aggiunto controllo su metodo OfflineCustomers per controllo codici UHF - verificato - Ver 1.13.2 (BETA 3) 2015-03-05 (FC) - rilascio per test e installazione kuwait - tolta stampa arrotondamento nel caso in cui l'arrotondamento non venga usato nella stampa ricevuta Ver 1.13.2 (BETA 2) 2015-03-05 (FC) - modificato controllo su GenerateReport, restituiva esito False, quando non venivano trovate operazioni, su richiesta senza stampa (modificato controllo su wOperation <=0) Ver 1.13.2 (BETA 1) 2015-03-05 (FC) - modificato controllo su GenerateReport, restituiva esito False, quando non venivano trovate operazioni, su richiesta senza stampa (modificato controllo su wOperation <=0) 2015-03-04 (FC) - RILASCIO VERSIONE PER TEST - completata correzione calcolo tariffa (da testare a fondo) 2015-03-03 (FC) - modificati controlli per avvio e termine thread scrittura log su db (modLog) - aggiunto tag rRegional di tipo ct_Regionals (come ct_Languages) su metodo GetConfiguration. Usato per inviare alla cassa automatica il codice regione (per bandiere di paesi diversi rispetto alla lingua selezionata) - corretto recupero dati supervisore che ha richiesto stampa z-report, veniva usato il dato dell'operatore - aggiunto controllo su metodo GenerateReport, se ricevo sOperation = -1 non faccio salvataggio su database 2015-03-02 (FC) - Ver 1.12.6 - modificato controllo su isValidTrackNew, per non permettere accesso a aree non autorizzate quando controllo passback in uscita è disattivato - corretto controllo su codice già esistente su funzione Calcola_Cod128, non veniva ricalcolato il codice quando veniva ricevuta una richiesta nello stesso secondo 2015-02-27 (FC) - modifica controllo passback in entrata (se disattivato, permetto ingresso anche con percorsi ancora attivi) 2015-02-27 (FC) - Ver 1.12.5 - installazione patch (riga sotto) impianto Minsk - modifica controllo passback in entrata (se disattivato, permetto ingresso anche con percorsi ancora attivi) 2015-02-26 (FC) - aggiunto salvataggio campo payFiscalReport.fsrTerId (campo nuovo aggiunto). Id cassa da cui è stato generato il report 2015-02-23 (FC) - modificata funzione Generate Report, aggiunto totale biglietti smarriti stampati da cassa manuale con data diversa da ora attuale 2015-02-21 (FC) - correzione bug calcolo tariffe, se periodo non valido, poteva andare indice oltre ai limite e generare errore (FindPeriod, dopo verifica su BadExit) 2015-02-20 (FC) - Aggiunto parametro sSuperId su metodo GenerateReport per indicare operatore supervisore che ha autorizzato la stampa dello z-report (se omesso non viene memorizzato su ricevuta su db) 2015-02-18 (FC) - corretta funzione FindCarId che cercava anche su record eliminati - applicata patch a versione 1.12.2 per associazione traCarId su salvataggio movimento se traCarId non esistente al momento del salvataggio. Creata patch 1.12.3 e rilasciata 2015-02-16 (FC) - aggiunto campo su db per forzare la visualizzazione dell'ora a 24 ore (non metto formato custom, perché dovrei gestire sia formato ora corto che esteso) - modificata funzione Format per formattazione ora in formato AM/PM e correggere bug sistema operativo che rimuove suffisso Ver 1.12.2 (STABLE) 2015-02-10 (FC) - Rilascio versione 2015-02-07 (FC) - correzione problemi calcolo tariffa Ver 1.13.1 (BETA 1) 2015-02-05 (FC) - aggiunta ricerca id abbonato se manca (quando ho targa o badge) prima di salvataggio movimento (Salva_Movimento) - aggiunti campi per salvataggio IVA su cassa.xml e colonna.xml 2015-01-28 (FC) - aggiunti i dati del calcolo della tariffa (nuova modalità, con iva in aggiunta) sulla creazione della ricevuta - spostata funzione Calcola_Iva da PayTicket a Salva_Pagamento 2015-01-27 (FC) - modificato metodo PayInTicket per inviare i dati relativi all'iva aggiunta alla tariffa 2015-01-26 (FC) - modificato servizio ManageCustomer per aggiornare la data di validità dell'abbonato - aggiunti dati validità abbonamento in risposta a messaggio ListCustomer (i tag erano presenti ma non valorizzati) - estesa funzione GetVatSettings per ottenere anche i nuovi parametri dell'iva (metodo di calcolo, arrotondamento, applicazione sconto) 2015-01-23 (FC) - aggiunti tag nuovi su PayInTicketResponse per gestione IVA (gestione non attiva) Ver 1.12.2 (BETA 1) 2015-01-23 (FC) - Rilascio versione a Dosson per installazione ECFG e Turchia (richiesta Miglioranza/Ceglia) 2015-01-21 (FC) - Aggiunto impianto 0110 per la gestione TSP (gestione NON standard badge esterno seconda corsia) Ver 1.12.1 (STABLE) 2015-01-16 (FC) - Rilascio versione per installazione Minsk Ver 1.12.1 (BETA 7) 2015-01-16 (FC) - corretto salvataggio movimento di uscita con badge senza ingresso, che salvava il codice badge nel campo traCode invece che traBadge - modificato salvataggio movimento in uscita fatto senza ingresso, salvandolo disattivato 2015-01-15 (FC) - convertiti codici letti da colonnine (uhf in hex) in maiuscolo per confronti case sensitive - eliminata conversione in decimale su codice UHF, per standardizzare usando le ultime 24 cifre esadecimali - modificato controllo per abilitazione a uscita prima lettura badge mai usato, attivato controllo su tutti i subdevice che possono leggere tag (prima controllava solo tag RFID 125/Mifare, aggiunto anche UHF, ecc) - corretto controllo su verifica parametro per attivazione validazione area taxi prima di uscita da parcheggio 2015-01-14 (FC) - modificato controllo per riattivazione ultimo biglietto entrato quando rilettura entro 30 sec., non riabilito movimenti, autorizzo solamente in modo forzato il passaggio - corretto calcolo X report che arrotondava in modo errato le cifre decimali sul totale (errori virgola mobile) 2015-01-13 (FC) - corretto metodo ListCustomer che non visualizzava gli abbonati senza badge già associato 2015-01-12 (FC) - aggiunto log su payTicket, quando viene ricevuto tag iPayIssue (la gestione della banconota passata da resti a incassi durante l'emissione del resto, viene gestita usando il tag iPayCashOut, valorizzando la banconota non erogata nello spazione dedicato) 2015-01-07 (FC) - corretto problema chiusura connessione database (funzione GetDescription non chiudeva dopo l'uso) Ver 1.12.1 (BETA 6) 2014-12-19 (FC) - corretto calcolo importo già pagato, considerando lo sconto applicato al pagamento 2014-12-18 (FC) - eliminati riferimenti a tag pos su file cassa.xml e colonna.xml 2014-12-16 (FC) - aggiunta procedura per adattamento tabelloni configurati con vecchia procedura a nuovo standard definito su db 2014-12-15 (FC) - aggiunto controllo per non inviare i pagamenti con importo > 21.474.836 che darebbero problemi di overflow sulla cassa automatica 2014-12-12 (FC) - completata gestione messaggio BoardMessage 2014-12-11 (FC) - aggiunto test lettura uhf per apertura a tutti - corretto salvataggio cancellazione pagamento su annullamento 100% sconto Ver 1.12.1 (BETA 5) 2014-12-10 (FC) - cancellazione pagamento su eliminazione sconto 100% da biglietto 2014-12-07 (FC) - modifiche gestione percorsi per lettura con sola targa Ver 1.12.1 (BETA 4) 2014-12-02 (FC) - correzioni su verifica passaggi su percorsi con targa/badge quando tentativo di uscita senza auto presente nell'area 2014-12-01 (FC) - modificata lunghezza massima stringa stampabile su stampante zebra, ridotto da 33 a 25 per evitare problemi con stringa troppo lunga (dipende dal font, che essendo proporzionale ci impedisce di conoscere con esattezza la sua dimensione) 2014-11-28 (FC) - aggiunto nome abbonato su lettura colonnina di uscita 2014-11-27 (FC) - Aggiunto terminale e operatore su messaggio InsertOperatorLog quando dati disponibili (in particolare per individuare accessi operatore in parcheggio con badge) Ver 1.12.1 (BETA 3) 2014-11-27 (FC) - installazione per test validazione 2014-11-26 (FC) - modificato il metodo GetInsideArea, aggiunti parametri sIncludeOccasionals, sIncludeCustomers (tipo boolean) per aggiungere/togliere dall'elenco gli abbonati e/o gli occasionali 2014-11-25 (FC) - modificata struttura ct_PlateList, aggiunto campo rCode in cui viene indicato il codice associato al movimento - modificato metodo InvalidateForExit, come sotto - modificato metodo ValidateForExit, aggiunto parametro sCustomerId per fare la validazione in uscita in base all'id abbonato (viene cercato l'ultimo movimento valido per l'abbonato, non viene valutato il badge/targa) 2014-11-24 (FC) - aggiunto parametro su riga customizzata da stampare su ticket per stampare tempo limite di uscita da parcheggio (%t = visualizza data e ora di uscita entro il quale è possibile uscire dal parcheggio) 2014-11-21 (FC) - aggiunto tag nuovo su metodo PlateReading, come aggiunto da Eurotech, tag sSDStatus 2014-11-20 (FC) - modificata verifica di lettura biglietto, se viene letto su colonnina di un parcheggio diverso non lo do come valido Ver 1.12.1 (BETA 2) 2014-11-11 (FC) - rilascio versione per test - aggiunta possibilità di configurare un tabellone che comunica con vecchio protocollo (KeepAlive) su un'area diversa da quella a cui è associato il terminale (modifica non possibile da wisepark) - applicata patch per bug su firmware scheda tabellone, che a volte (spesso) visualizza sulla prima riga il numero inviato sulla seconda (succede quando viene inviata solo 1 delle 2 righe, perché una non variata) 2014-11-10 (FC) - aggiunto controllo su funzione GetTakings per escludere da elenco operazioni registrate con importi a 0 o da righe cancellate 2014-11-06 (FC) - completata gestione per tabelloni multiriga con struttura database non modificata, da completare definizione protocollo aggiornato scambio messaggi 2014-11-05 (FC) - aggiunto messaggio in risposta a metodo GetLicenseInfo per informare l'utente quando la licenza è in scadenza (messaggio quando: in disattivazione, in scadenza a meno di 31 giorni, non valida) 2014-11-03 (FC) - Creato metodo BoardMessage per gestione invio messaggi a tabelloni, compresi tabelloni multiriga e multipannello Ver 1.12.1 (BETA 1) 2014-10-30 (FC) - rilascio versione per installazione su impianto Minsk - aggiunta variabile globale vrUseLicense per attivare/disattivare la gestione licenze - modificato calcolo tariffa anomalia su gestione percorsi, utilizzando la tariffa che si applicava prima della registrazione del nuovo movimento (il calcolo viene fatto all'uscita dall'area, quindi applico la tariffa precedente, non la nuova tariffa, la nuova si applicherà all'uscita successiva) Ver 1.12.0 2014-10-25 (FC) - modificato KeepAlive per consentire l'utilizzo del software di collaudo per ogni device con scheda PSAC 2014-10-24 (FC) - modificati controlli per test PSAC, aggiunta struttura per gestire mappatura (ricevuta da programma di collaudo scheda) per gestire solo gli input/output configurati 2014-10-14 (FC) - aggiunta possibilità di visualizzare su tabellone carattere "-" - aggiunti parametri %R e %L su decodifica messaggio da inviare a pannello per inviare visualizzazione frecce verso Destra(R) o Sinistra (L) 2014-10-13 (FC) - modificata gestione messaggi da inviare a tabelloni, considerando la possibilità di poter inviare più righe di testo da visualizzare per un certo numero di secondi 2014-10-12 (FC) - aggiunta funzione isValidMessage su metodi per non elaborare messaggio non valido (controlla codice impianto e opzionale il token) 2014-10-11 (FC) - modificata chiave privata, con considerazione del codice impianto 2014-10-10 (FC) - corretto controllo su validazione biglietto per uscita (movInside) che non controllava la data di validazione, ma solo la presenza del record - corretto salvataggio su tabella movInside, che non veniva effettuato su registrazione con colonnine di trasferimento fra aree (messo CreateTransit) 2014-10-09 (FC) - aggiunto parametro rMessage su ct_GetLicenseInfoResult per restituire messaggio di errore a utente 2014-10-06 (FC) - corretto salvataggio valore su metodo GetParkPrice che veniva moltiplicato 100 una volta di troppo 2014-10-03 (FC) - aggiunto controllo seconda temperatura interna da caricare se non esiste la temperatura nr. 1 su GetSensorStatus - corretto calcolo ingressi/usciti nel giorno (GetTransitCount) 2014-10-02 (FC) - corretto metodo GetParkPrice che non faceva il filtro sull'area - creato servizio GetTransitCount per avere il totale di abbonati/occasionali entrati e usciti dal parcheggio nel periodo specificato 2014-09-30 (FC) - modificata funzione isValidTrackNew per rilettura codice già passato nei secondi precedenti, viene valutato anche il verso per evitare problemi con generazione biglietto smarrito da cassa manuale e lettura biglietto da cassa manuale come uscita 2014-09-29 (FC) - modificate funzioni di gestione cassiere Lidl Salonicco (isLidlSaloniccoTicketForPass,isLidlSaloniccoTicketForExit) in base alle ultime specifiche fornite 2014-09-26 (FC) - completato e verificato metodo GetParkPrice - completato e verificato metodo GenerateReport 2014-09-25 (FC) - modificato controllo su funzioni isFirenze e isVasto per poter gestire simulazione impianto di test 2014-09-24 (FC) - creato metodo GenerateReport per invio dati per reportX o reportZ - creato metodo GetParkPrice per calcolo valore attuale auto presenti in parcheggio (calcolo tariffa di tutti i presenti) 2014-09-23 (FC) - creato metodo LicenseCreation per generazione file di licenza (Came service) 2014-09-19 (FC) - creato il metodo LicenseActivation per attivazione licenza - modificato il salvataggio dei movimenti, quando viene generato un nuovo codice (salvataggio su OutTicket, OutMultiTicket,PayInTicket), viene salvato sempre con traDirection = 'I' 2014-09-18 (FC) - creato metodo GetPlantDiscovery per la lettura dei dispositivi installati in parcheggio e la generazione di un file univoco per l'attivazione dell'impianto - creato metodo GetLicenseInfo per ottenere informazioni relative alla licenze attiva 2014-09-16 (FC) - aggiunti a metodo GetSensorStatus i parametri Online per definire se il terminale comunica oppure no (vengono esclusi e segnati come online i dispositivi configurati su db che non inviano messaggi di keepalive. es: cassa manuale) e il parametro LastConnection dove viene indicata (formato yyyyMMddHHmmss) l'ultima data/ora in cui sono stati registrati gli stati per quel terminale (se vengono valutati più stati, viene registrata la data del primo stato rilevato) 2014-09-15 (FC) - creato metodo GetSensorStatus per ottenere i dati relativi alle temperature (o altro eventualmente configurabile) dei dispositivi richiesti (per area, terId, tipo) - creato metodo GetListInsideArea per ottenere i presenti per area divisi per occasionali e abbonati, viene anche tenuta un'ulteriore suddivisione per eventuali gruppi 2014-09-11 (FC) - modificata funzione Calcola_Tariffa_New, variata inizializzazione variabile wValidFrom, veniva impostata con il solo giorno senza data, creando errori su tariffe configurate a fasce orarie (es: 08:00-12:00 12:00-00:00...) 2014-09-10 (FC) - aggiunta traduzione err_expired su db (tabUserMessage) - corretto controllo su validità abbonamento, che se scaduto blocca l'uscita, ma effettua le registrazioni come se l'uscita fosse fatta regolarmente 2014-09-04 (FC) - modificato payInTicket, verifica sconto (nuova modalità, tutti i codici inviati nel tag sTicket del messaggio) per aggiornare gli utilizzi sulle prenotazioni quando viene letto lo sconto Ver 1.11 (PATCH) 2014-09-03 (FC) - corretto metodo isCustomer che restituiva sempre codice operatore, anche leggendo un codice biglietto standard (metodo dei webservices usato solo da CassaManuale vecchia versione) Ver 1.12 2014-09-01 (FC) - aggiunto tag sLastId su metodo ListCustomer dove viene indicato l'ultimo id abbonato ricevuto (viene valorizzato solo per la richiesta di ulteriori dati, quando inviati in pacchetti diversi) aggiunto tag rEOT st ct_ListCustomerResult per indicare quando l'invio della lista non è completo con il messaggio in corso, ma è necessario continuare la richiesta dei dati, reinviando nuovamente il messaggio ListCustomer - aggiunti tag rUseCustomers e rUseManualCash su metodo isValidUserHeader, quando viene fatto il login vengono valorizzati di conseguenza per definire se l'operatore è abilitato alla gestione degli abbonati e all'utilizzo della cassa manuale 2014-08-29 (FC) - modificata funzione MangageCustomer con aggiunta azione 6, per aggiunta di una tessera/targa a un abbonato esistente - verificato invio layout stampa Zebra a colonnina in caratteri cirillici (fatta modifica su software colonnina per permettere funzionamento) - aggiunta la funzione UHFConvert sui messaggi KeepAlive, InTicket, PayInTicket - modificata la funzione UHFConvert in modo da effettuare tutta la funzione di controllo del codice all'interno della funzione stessa 2014-08-28 (FC) - aggiunto caricamento terminale figlio per gestione seconda antenna montata su scheda PSAC (per la gestione di una seconda corsia) - modificate dimensioni array input e output scheda PSAC132, prendo tutti gli input ricevuti dalla scheda1 e 2 (qualsiasi dimensione) compongo gli output, basandomi sulle specifiche del protocollo (9 output scheda 1 + 10 output scheda 2) 2014-08-27 (FC) - aggiunte traduzioni device mancanti su tabella tabUserMessage (usati come riferimento traduzioni già effettuate) - modificato tipo device 14 da UHF_Reader a PSAC_CHILD, tipo 15 da PSAC132 a PSAC_COLUMN 2014-08-22 (FC) - modifiche a funzioni PSAC132 per adattamento per utilizzo con lettore di tag UHF 2014-08-20 (FC) - aggiunta funzione loadTextTagDB per caricare l'elenco dei tag da richiedere al dispositivo per la lettura della configurazione (GetConfiguration) presenti su tabella tabTag, elementi da accodare a quelli letti su file cassa.xml o colonna.xml - aggiunto salvataggio formato data ora da inviare ai dispositivi in base alle impostazioni della lingua selezionata - modificata procedura di salvataggio file di configurazione da inviare ai dispositivi, se viene impostato un tag con valore vuoto non viene più inviato al dispositivo (vuoto = non modificare valore già esistente) 2014-08-19 (FC) - aggiunta proprietà PreserveWhiteSpaces su oggetti XMLDocument per mantenere il salvataggio dei tag con soli spazi 2014-08-18 (FC) - corretto salvataggio biglietto smarrito che passava tipo biglietto errato alla procedura di salvataggio movimento (funzionava solo il primo biglietto smarrito stampato) 2014-08-07 (FC) - corretta funzione salvataggio file di testo, per salvare con condifica UTF-8 invece che Default (altrimenti genera errori su salvataggio caratteri estesi) - aggiunto metodo ChangeCustomLines per variazione stringhe custom da stampare su biglietto emesso su colonnine/cassa Ver 1.11 (PATCH) 2014-08-06 (FC) - modificato controllo su badge operatore, che veniva trovato valido ma continuava i controlli di validità impedendo il transito in uscita Ver 1.12 2014-08-06 (FC) - disattivata scrittura file io_countertest.txt - modificata gestione parametro %p per messaggio a tabellone, se il tabellone è collegato a un piano viene visualizzato il nome del piano invece che dell'area - corretto metodo isCustomer che restituiva sempre codice operatore, anche leggendo un codice biglietto standard 2014-08-02 (FC) - corretto salvataggio stato parcheggio chiuso che veniva impostato sui tabelloni per i contapiani quando il parcheggio è pieno 2014-08-01 (FC) - modificato cntrollo su badge operatore, che veniva trovato valido ma continuava i controlli di validità impedendo il transito in uscita 2014-07-31 (FC) - aggiunta la gestione della zona sull'invio dei messaggi ai tabelloni di controllo ai piani 2014-07-28 (FC) - modificato controllo biglietto occasionale già uscito per gestire correttamente biglietto su percorsi (GetInfoTicket). 2014-07-26 (FC) - modificato file colonna.xml, aggiunto COLUMN_ADDITIONAL_DISPLAY_ENABLED per gestire attivazione colonnina doppia altezza (viene usato questo tag per l'attivazione di tutti quelli necessari) - aggiunto metodo GetFreePlaces (richiesta posti liberi per area oppure per gruppo/area) unisce le funzioni GesFreePlace e CheckAreaGroup 2014-07-24 (FC) - creata funzione isValidatedForExit per verificare se il biglietto è stato abilitato all'uscita, se non abilitato, viene bloccato il passaggio se abilitato, vengono effettuati i normali controlli (non è un'uscita forzata) - richiamo funzione FiscalPrinterPayment su Salva_Pagamento - creata funzione FiscalPrinterPayment per memorizzare pagamento effettuato da stampare su stampante fiscale - creata funzione FiscalPrinterCounter per calcolare numero progressivo da stampare su ticket (serve come riferimento su ricevuta pagamento) - creata funzione UseFiscalPrinter per verificare se attivata la stampante fiscale (collegata al server, stampa scontrini pagamenti su cassa automatica/colonnine pagamento) - creato metodo ListCustomer per ottenere la lista degli abbonati, completa oppure per un gruppo specifico 2014-07-23 (FC) - su funzione Disable_Ticket aggiunta la cancellazione dei movimenti da tabella movInside - aggiunto metodo ManageCustomer per aggiungere/modificare/cancellare un abbonato - aggiunto metodo InvalidateForExit per impedire l'uscita di un'auto (badge o targa) già abilitata all'uscita (es. errore abilitazione) - aggiunto metodo ValidateForExit per abilitare all'uscita un'auto (badge o targa) presente in parcheggio (con funzione abilitazione da operatore abilitata) - aggiunto metodo GetInsideArea per ottenere l'elenco delle auto presenti nell'area indicata (usa tabella movInside, solo per accessi da autorizzare in uscita) - aggiunto metodo GetGroupList per ottenere l'elenco dei gruppi configurati sull'impianto - aggiunta proprietà dValidationNeeded nella classe DeviceInfo per indicare che i movimenti entrati in quell'area devono essere autorizzati per l'uscita Ver 1.11 2014-07-23 (FC) - inviata la versione per il rilascio 2014-07-21 (FC) - modificato metodo GetAreaList, aggiunto parametro sAreaType per permettere di filtrare solo aree di un certo tipo - aggiunto tag DEVICE_PAYVK80 su file cassa.xml - aggiunto tag DEVICE_SMARTPAYOUT_CONFIGURATION su file cassa.xml 2014-07-18 (FC) - verificata disattivazione badge con uscita effettuata offline - verificato salvataggio abbonati ricevuti offline (conteggio posti, modifica posizione) - disattivato percorso quando viene fatta retromarcia su ingresso - verificato funzionamento su retromarcia su corsie di passaggio aree con percorsi - corretto problema posti non scalati su accessi offline 2014-07-17 (FC) - modificato controllo su biglietti tipo 87 (clienti occasionali) per non accettare quelli non presenti su db (se veniva trovato il tipo, venivano valutati solo i dati ricavati dal codice, che anche se non presente su db, faceva ugualmente passare) - corretto problema su biglietto letto da imager che, se non risultava all'interno del parcheggio, ed era attiva la possibilità di riattivarlo al momento della lettura, faceva uscire anche se previsto un pagamento (veniva calcolata come data di uscita, la stessa data dell'ingresso, la tariffa veniva calcolata di conseguenza) 2014-07-16 (FC) - aggiunta area collegata a struttura clsDevice per caricamento dati dispositivo - disattivato CompleteTicket (per conferma e disattivazione movimenti in uscita) su passaggio su colonnina di uscita verso area diversa (non uscita) - tolto blocco su verifica targa obbligatoria su ticket stampato da cassa automatica - aggiunta la creazione del movimento di ingresso, quando viene ricevuto il pagamento di un biglietto stampato offline dalla cassa automatica 2014-07-15 (FC) - modificata funzione Verify_Expiration per restituire anche il credito residuo della tessera - correzioni su gestione percorsi e aree gruppi. verificati accessi in aree non valide/valide con badge/targa - corretto un problema sull'accesso con targa con un solo posto disponibile, veniva registrato il passaggio ma alla colonnina veniva inviato il messaggio di chiusura parcheggio invece che apertura barriera (perché veniva sovrascritto lo stato) - corretta l'applicazione della tariffa speciale sulla lettura di una targa (senza badge associato) che non veniva applicato 2014-07-14 (FC) - modificato salvataggio su tabella logmaintenance (log manutenzione cassa automatica), registro come tipo operazione (maiType) il tipo ricavato dal codice ricevuto dalla cassa automatica il codice corrisponderà normalmente a quello calcolato dal server, ma verrà inviato diverso se viene fatta una manutenzione con la cassa offline il codice viene generato diverso per evitare sovrapposizione con operazioni di manutenzione effettuate online. la cassa calcola il type con 30+livello manutenzione (1,2,3) - disattivata associazione data ingresso su verifica percorsi in entrata per non registrare il nuovo movimento con la data di ingresso precedente (anche se già disattivata) - corretta verifica abbonato, potevano entrare tutti i badge (anche non esistenti) non appartenenti a un gruppo (errore introdotto con la modifica del passback fatta il giorno 08/07) 2014-07-08 (FC) - corretta verifica passback su entrata, era stato disattivato, altrimenti interveniva prima della verifica di apertura del parcheggio ora prima viene solo cercato il gruppo di appartenenza (per poter verificare l'orario di apertura parcheggio), poi viene fatto il controllo validità codice 2014-06-28 (FC) - modificata funzione per validazione date, per estendere i formati supportati e correggere l'errore di invio della data dalla scheda PSAC132 (invia in formato YYYY-mm-dd HH.mm.ss, formato mai definito in nessun protocollo) - corretto salvataggio data di uscita, che dopo validazione percorso, veniva cambiata con la data di entrata, veniva quindi registrato movimento di uscita con stessa data di ingresso 2014-06-27 (FC) - corretto controllo su ingressi massimi consentiti per abbonato, se abbonato senza tessera, non funzionava la verifica e accettava sempre il passaggio 2014-06-26 (FC) - Aggiunto modulo modPSAC132 per gestione device PSAC132, gestione messaggio ricevuto da KeepAlive (corsia doppio senso oppure di Entrata/Uscita) - modifica del verso registrato nella funzione GetDeviceInfo, quando terminale di tipo PSAC132 con doppio senso di marcia (verso "M") 2014-06-25 (FC) - aggiunta funzione GetDeviceSetup, per ricavare la stringa di setup da inviare ai terminali che la richiedono (si usa per schede PSAC132, contaposti, tabelloni, ecc) 2014-06-24 (FC) - corretto problema controllo invio messaggio per collaudo contaposti, non azzerava variabile impedendo la corretta comunicazione col dispositivo dopo la fine dei test inoltre veniva bloccata la comunicazione anche ai dispositivi (dello stesso tipo) non utilizzati per il collaudo 2014-06-23 (FC) - aggiunto nuovo device in modStructures: 15 = PSAC132 - aggiunti nuovi subdevice in modStructures: MIFARE = 20007, OCR_ARH = 20008, OCR_SEKU = 20009, INPUT = 50003, OUTPUT = 50004 2014-06-18 (FC) - aggiunti record per configurazione colonnina di pagamento pos su tabella tabLnkDevice - aggiornati file cassa.xml colonna.xml per invio tag di configurazione dei diversi modelli di pos alla cassa automatica/colonnina pos 2014-06-16 (FC) - completata correzione gestione percorsi su lettura targhe (ora vengono creati correttamente i passaggi tra le aree) da effettuare verifiche complete (NON verificata gestione anomalie) 2014-06-12 (FC) -effettuate variazioni alle strutture dati PlateUpdateList, PlateCurrentList come da richiesta 2014-06-11 (FC) - aggiunto il servizio PlateCurrentList che contiene l'elenco delle targhe presenti sulla telecamera, quando è necessario allineare i dati locali con quelli della telecamera - aggiunto il servizio PlateUpdateList, per l'invio delle targhe abilitate e relative regole alla telecamera (modalità demo, carica targhe da tabella abbcards con regole fisse e fasulle) - aggiunto controllo su PlateReading su stato sSysStat, quando viene ricevuto "sendlist:ko" viene inviato il tag rAction=sendlist, per avvisare la telecamera di reinviare il messaggio di richiesta elenco targhe - effettuate correzioni su gestione percorsi e verifica apertura parcheggio. verificata registrazione anomalia su tempo permanenza area quando percorsi non attivi verificata registrazione anomalia su tempo passaggio aree sui percorsi 2014-06-09 (FC) - inviata versione per test a Dosson per installazione personalizzazione LIDL Salonicco (impianto 0025) 2014-06-09 (FC) - corretto controllo su lettura da imager di biglietti con codice non esistente, che permettevano sempre l'ingresso in parcheggio come se fossero stati abbonati (applicando comunque la corretta tariffa in uscita) 2014-06-06 (FC) - creata nuova gestione per Lidl Salonicco, per la stampa e lettura dei codici personalizzati, da utilizzare per la validazione in uscita create le risorse su tabUserMessage: err_startdate, err_enddate, err_dateallowed, err_from, err_to 2014-06-04 (FC) - completata gestione per visualizzazione messaggi personalizzati su colonnine 2014-06-03 (FC) - aggiunta funzione Check_CustomMessage per la visualizzazione di un messaggio personalizzato all'utente. il messaggio viene scelto, in caso di esito positivo della valutazione delle funzioni (InTicket e OutTicket) secondo questa priorità: tabTariff.tarCustomMessage, tabTerminal.terCustomMessage, Messaggio Standard - modificata l'associazione della classe veicolo alla struttura dati wRispo.rTransitInfo.iCategory, standardizzato l'uso utilizzando il campo claPosition invece che claId 2014-05-30 (FC) - corretto controllo passback, verifico solo passback fatto su corsie della stessa area (altrimenti dava passback sulla gestione percorsi con le corsie di passaggio come entrata) - corretta verifica apertura parcheggio, non usciva con errore se trovava fascia oraria non valida per l'area uguale a quella in cui sto facendo la lettura, quando esisteva un'altra fascia valida per un'altra area 2014-05-27 (FC) - verificata condizione su controllo percorsi che si verifica quando dopo un ingresso viene fatta retromarcia e un nuovo ingresso, oppure quando viene resettato il passback in queste condizioni la verifica dei percorsi considerava sempre come ultimo passaggio l'area stessa in cui cerco di entrare, generando un'incongruenza che causa la non validità del percorso prendo il penultimo movimento effettuato per ovviare al problema - corretto contatore posti occupati su gruppo/area che in caso di uscita con abbonamento non riaggiungeva il posto, in quanto veniva associato a gruppo occasionali (perché in uscita viene passato il codice biglietto, non il codice badge) - modificato controllo "Passpartout", che dava accesso se trovato un badge a cui non deve applicarsi il passback (questa verifica viene effettuata nello specifico nel controllo passback) 2014-05-26 (FC) - modificata funzione RFID_CheckAssociation per non valutare eventuali codici rfid vuoti ricevuti 2014-05-16 (FC) - modificato calcolo tariffa per valutare la sanzione da applicare anche quando sono all'interno del tempo gratuito 2014-05-15 (FC) - Aggiunto stato sSensors 995 su messaggio InTicket per generare un movimento sempre valido di uscita (anche se dovesse richiedere pagamento) - creata funzione Disable_ExitCode, per creare un movimento di uscita dal parcheggio. Viene fatto solo se trovato un biglietto attivo in parcheggio, eventuali pagamenti non effettuati vengono ignorati e il posto viene liberato - creato messaggio su tabUserMessage "msg_exitcode" ("Autorizzata uscita codice") per registrazione log operatore richiesta di uscita biglietto dal parcheggio - creata funzione di verifica validità biglietti di tipo mifare (vengono considerati validi quelli associati a un movimento attivo) i codici trovati come associati vengono sostituiti a quelli letti durante l'elaborazione (su database si troveranno i riferimenti solo al codice associato, non al mifare) funzione di controllo aggiunta su InTicket, PayInTicket, PayTicket, PaySubscriber - Creata funzione OutTicketRfid per generazione di stampa biglietto partendo da lettura RFID con conseguente associazione successiva alla creazione - creata tabella movLinks dove registrare associazione biglietti quando viene richiesta l'emissione di un ticket su biglietti con codice mifare - modificato il tipo di tessera restituito dalla funzione GetSubscriber nel caso di tessera non esistente, cambiato da Disabled a Unknown 2014-05-14 (FC) - aggiunta funzione per conversione data da stringa a datetime, valutando i diversi formati possibili - modificata tabella tabDevice e tabLnkDevice per aggiunta device doppi (per colonnine doppia altezza) e adelrw con lettore mifare - aggiunto tag su file cassa.xml e colonna.xml ADELRW_MIFARE_ENABLED per abilitazione lettore mifare quando previsto su adelrw - aggiunto nuovo device 11001 per indicare modello ADELRW con lettore MIFARE - modificata verifica della lettura dei codici ricevuti da imager, ora vengono accettati ed elaborati tutti i codici allo stesso modo, valutando in modo diverso solo i codici di tipo prenotazione (codice che inizia con [R) 2014-05-13 (FC) - modificato calcolo tariffa in modo da ricercare sulla nuova fascia oraria da applicare una regola preferendo la regola precedentemente applicata (se possibile) 2014-05-12 (FC) - modificata scrittura file di log, utilizzando un thread in background per la scrittura su db (in modo da non sovraccaricare il sistema) - effettuate verifiche e correzioni su gestione percorsi 2014-05-09 (FC) - aggiunto salvataggio su file di log della durata di esecuzione delle funzioni su modmain - aggiunto salvataggio statistiche tempi esecuzione query su tabella mysql tempstatistics 2014-05-08 (FC) - aggiunto controllo su funzione Salva_Pagamento per non fare il salvataggio sulla tabella payPayment dei pagamenti già esistenti (viene verificato data e ora creazione e id terminale) - modificata la funzione isValidTrackNew secondo nuove specifiche - verificata la funzione di invio dei posti disponibili in parcheggio, in modo da evitare l'invio di quantità inferiori a 0 - modificata la funzione di variazione dei posti disponibili, permettendo anche il salvataggio in negativo - modificata funzione Salva_Movimento per accettare come parametro opzionale anche il verso da salvare (se deve essere forzato rispetto a quanto letto dai dati del dispositivo) 2014-05-06 (FC) - aggiunte risorse per traduzioni messaggio su cambio tariffa msg_changetariff, msg_newtariff, msg_oldtariff, msg_standardtariff su tabUserMessage - inserito salvataggio operazione cambio tariffa su tabella movOperator su funzione Change_Tariff - corretta query di ricerca tariffe applicabili al parcheggio (su Cerca_Tariffa) che includeva nei risultati di ricerca anche le tariffe eliminate - modificata funzione di Cerca_Tariffa in modo da poter utilizzare la tariffa di default anche se si applica a biglietti di tipo diverso 2014-05-02 (FC) - modificata tabella tabmovroutes, cambiato nome in movroutes e cambiati nomi dei campi - aggiunta apertura connessione db se non aperto su funzione ExecScalar 2014-04-17 (FC) - corretta la gestione di verifica della targa abilitata abbonato - modificata funzione di verifica anomalie, ignoro il controllo se il codice è vuoto (condizione che si verifica quando ricevo la lettura di una targa) 2014-04-15 (FC) - gestione percorsi con cambio tariffa, applicazione sanzione - modifiche ai controlli percorsi (isParkOpenGroup,isValidTrack) 2014-04-14 (FC) - modificato controllo su isParkOpenGroup per permettere l'accesso se non esistono regole definite - aggiunto controllo su regole apertura parcheggio (isParkOpenGroup) per validare la regola solo se è relativa all'area in cui mi trovo Ver 1.10 2014-04-14 (FC) - RILASCIO versione "definitiva" 2014-04-14 (FC) - aggiunte traduzioni mancanti su tabUserMessages. Modificato su funzione UserAction,Check_ErrorAction 2014-04-11 (FC) - corretto controllo su paymultiticket per verificare se pagamento completato correttamente (veniva controllata variabile non inizializzata che causava uscita da funzione) 2014-04-09 (FC) - disattivato caricamento dinamico traduzioni, assumo che il database sia modificato da wisepark al cambio lingua - corretto il controllo dei posti disponibili per gruppo, se non erano impostati dei posti riservati l'area risultava sempre chiusa ora esistono regole per l'area/gruppo, ma nessuna applicabile il parcheggio si considera chiuso, se esistono regole applicabili e non sono gestiti i posti viene restituito sempre 1 posto libero - modificata funzione di aggiornamento posti disponibili in parcheggio (Park_Counter). se i posti totali dell'area sono a 0, non vengono fatte le variazioni sui posti occupati neanche sui gruppi 2014-04-08 (FC) - modificata tabella lingue per visualizzare l'elenco delle lingue nelle rispettive lingue 2014-04-07 (FC) - aggiunta funzione Translate_general per traduzioni risorse da tabelle statiche (descrizioni fisse su db) - aggiunta funzione Translation_Load per caricare una disctonary contenente tutte le traduzioni utilizzabili per frasi caricate da tabelle statiche - aggiunto campo su tabParameter.parCurrencySymbol per gestione simbolo valuta invece della sigla 2014-04-04 (FC) - tolta inizializzazione stato iniziale "Set_DeviceStatus" su invio configurazione a colonnina per evitare azzeramento stato manutenzione dopo riavvio applicazione - aggiunto controllo su gestione tornello, se il terminale è configurato con 1 spira sola il biglietto considerato usato immediatamente, altrimenti si aspetta il passaggio dato dalla variazione di un input - aggiunta verifica su ricezione valori su messaggi payTicket.sPayInfo.iPayExtra (solo log, non fa elaborazioni) - aggiunta verifica sconti multipli su payInTicket per utilizzo tag rToPayExtra (non segna come utilizzato lo sconto per adesso) 2014-04-03 (FC) - corretta verifica salvataggio dati abbonamento, quando l'abbonamento è di tipo misto - aggiunto su db nella tabella tabusermessage il codice di errore err_carddeactivated da visualizzare quando la tessera non è attiva 2014-04-02 (FC) - modificato tag PlateReading, aggiunti parametri sSysStat e sList dopo parametro sPlate su messaggio PlateReading (richieste Lima per telecamera targhe) sSysStat contiene lo stato della lettura della targa, può essere OFFLINE,ONLINE,NONE sList contiene il numero di lista a cui appartiene la targa letta 2014-04-01 (FC) - aggiunto controllo su salvataggio biglietti malta, quando annullo l'operazione se il pagamento non è stato completato disattivo il movimento e non registro l'emissione dei biglietti perché non stampati (payMultiTicket) 2014-03-31 (FC) - aggiunto controllo su ricerca tariffa applicabile che, nel caso in cui la tariffa trovata abbia la corrispondenza della classe veicolo, abbia priorità alla tariffa eventualmente già associata 2014-03-27 (FC) - aggiunta formattazione numero in base a cifre decimali impostate sul sistema nella generazione della ricevuta 2014-03-21 (FC) - modificato ordinamento su query di ricerca fasce orarie valide su funzione isParkOpenGroup 2014-03-20 (FC) - corretta mask di controllo validità giorni apertura (variabile wToday veniva controllata in base 2 e confrontata con il valore in base 10) - modificato campo tmpImage2 su tabella tabTempData da TEXT a MEDIUMTEXT per evitare everflow su scrittura immagine (ora limite è di 16MB) 2014-03-19 (FC) - corretto errore conteggio posti su lettura badge in uscita (dopo aver utilizzato gestione percorsi, liberava 2 posti) - corretto salvataggio movimento successivo a sblocco anomalia (gestione percorsi) che memorizzava il movimento con la data del movimento precedente - modificata la funzione di invio del messaggio al tabellone, viene inviato il messaggio solo quando c'è una effettiva variazione o al numero di posti o alla descrizione - corretto invio messaggio parcheggio chiuso a tabellone gruppo quando non regole valide per la fascia attuale (non viene segnato pieno se non esistono regole su tabAbbGroups) - corretto controllo su messaggio associato a un gruppo, quando non esistono posti disponibili per il gruppo viene inviato 0, mentre prima passava il totale dei posti occasionale - modificato messaggio invio testo a tabellone, se il testo da inviare è vuoto, mando 16 spazi in modo da forzare il refresh del messaggio - aggiunta funzione Write_TempData per scrivere su tabella tabTempData i valori definiti per demo o dimostrazioni varie da definire di volta in volta (es: fiere) - aggiunta gestione invio messaggio parcheggio chiuso a tabellone 2014-03-18 (FC) - aggiunta gestione invio messaggi personalizzati a tabellone (i messaggi vengono scritti su tabella tabBillboard) - aggiunta gestione invio informazioni posti liberi a tabellone collegato a area/gruppo - aggiunta funzione Get_GroupAreaPlaces che restituisce i posti liberi e occupati per l'ora attuale per il gruppo area dato 2014-03-17 (FC) - aggiunto controllo su passback lettura TSP, consento il passaggio da stesso varco entro 30 secondi da ultima lettura - disattivo il caricamento dei dati di validità dell'abbonamento dal gruppo, leggo solo dall'abbonamento (la validità è sempre riferita al singolo abbonato) - corretta verifica badge TSP che consentiva accesso a area secondaria anche quando non valida - aggiunto tag "secondbadge" su richiesta apertura barriera ricevuta da pagina wisepark "cfgManage" per apertura seconda barriera (customizzazione Firenze) 2014-03-14 (FC) - corretta l'associazione della tariffa all'abbonato a scalare quando collegato a un gruppo, era stato fatto un collegamento errato sulla query 2014-03-13 (FC) - attivata funzione di controllo percorsi (versione alpha, da integrare con nuovo messaggio InTicket e abilitare per biglietti anche occasionali) - inserito controllo su getInfoTicket, quanto trovato biglietto disattivato e non trovato movimento di uscita, segno gli stessi dati di disattivazione dell'entrata 2014-03-11 (FC) - aggiunto controllo su salvataggio anomalia (Write_TicketAnomaly) per impedire il salvataggio ripetuto della stessa anomalia - aggiunti tag (come richiesto da Lima) su metodo PlateReading: sNation e sScore (sNation=codice nazione targa, sScore=punteggio targa, più si avvicina a 1 migliore è la lettura) - aggiunta funzione Write_TicketAnomaly che salva su tabella movAnomaly i dati del biglietto che ha generato anomalia in lettura (tempo limite superato) 2014-03-10 (FC) - aggiunta funzione Reverse_DebitCard per eliminare gli ultimi addebiti alla tessera e riaccreditare la somma in caso di retromarcia su uscita dal parcheggio 2014-03-07 (FC) - corretta funzione DetransformCode per la conversione del badge che dava errore su conversione quando la lunghezza del codice era inferiore a 4 caratteri (molto improbabile in realtà) - aggiunta la funzione isValidTrack per effettuare le verifiche sui percorsi e abilitare/disabilitare l'accesso a diverse aree 2014-03-06 (FC) - modificata funzione Change_Tariff (su clsFunctions per non dare errore se manca l'id operatore, quando richiamata direttamente dai webservice - creato messaggio da inserire su tabUserMessage. err_accesstimeout con messaggio "Superamento Durata Sosta Consentita" 2014-03-05 (FC) - cambiate tutte le funzioni IsParkOpenNEW con isParkOpenGroup - aggiunta la funzione di controllo dei posti disponibili e delle fasce orarie autorizzate in base ai gruppi - corretta la funzione ExecScalar per restituire valore 0 quando il risultato è NULL 2014-03-04 (FC) - aggiunta funzione isParkOpenGroup per la verifica delle abilitazioni all'ingresso in parcheggio dei gruppi abbonati (con controllo posti liberi/riservati) - modificate tutte le funzioni di controllo abbonati in modo da gestire anche l'eventuale gruppo abbonato con i relativi dati all'interno Modifiche su: isCustomer,GetSubscriber,PaySubscriber,Subcr_Charge,Verify_Credit,Verify_IfActive,Verify_Others, Valid_Customer,Subscr_CheckCharge,Verify_expiration,Tariffa_Abbonato,InTicket ATTENZIONE!!! aggiornamento con questa versione su impianti con uso dei gruppi, rende obbligatorio modificare la tabella gruppi aggiungendo le regole abbonamento (anche config. non solo campi su db)!! - Aggiunta funzione Get_SubscriberType per identificare la tipologia di abbonamento valutando anche i gruppi (restituisce l'id del gruppo se trovato) 2014-03-03 (FC) - aggiunta funzione SubscriberType_Check per controllare se il tipo di abbonamento corrisponde al tipo richiesto - riattivate nuove funzioni InTicketNew - creata copia sorgenti (come ver. 1.10) - disattivo metodo InTicketNew e relative funzioni, per creazione nuovo pacchetto di rilascio 2014-02-28 (FC) - aggiunta conversione codici badge inviati a device con messaggio Offline_customers, prima venivano inviati già convertiti, di conseguenza il codice era diverso rispetto a quello ricevuto dalla colonnina - aggiunto metodo InTicketNew per nuova gestione lettura biglietti (deve sostituire quella attuale) 2014-02-27 (FC) - corretta l'impostazione della data di entrata quando viene letto su cassa un biglietto offline non esistente. Veniva inviata alla cassa la data di entrata 01-01-0001 perché il movimento non era ancora creato - aggiunto controllo su salvataggio biglietto offline (Offline_Transits). Se esiste già su db, non lo risalvo - aggiunto salvataggio nome operatore su tabella movOperator se trovato badge con accesso consentito in parcheggio - eliminato il salvataggio dei movimenti fatti con badge operatore da tabella movTransit, aggiunti su tabella movOperator - aggiunta la lettura del valore classe veicolo (se ricevuto da colonnina), corretta la gestione del valore id univoco ricevuto che veniva registrato come classe veicolo Ver 1.10 BETA 2014-02-25 (FC) - Rilascio versione per test 2014-02-20 (FC) - aggiunto il salvataggio della classe su memorizzazione biglietti offline - diminuita la tolleranza sul riconoscimento targa levenstein (portato da 70% minimo di somiglianza a 80% min) - modificato il controllo sulla stampa ricevuta all'ingresso. se è presente la lettura di un badge la ricevuta non viene stampata - aggiunta causale di sconto su movTransit.traNotes quando registrazione effettuata da cassa manuale con chiamata al webservice Change_Discount 2014-02-19 (FC) - aggiunto controllo su attivazione output su messaggio PlateReading (attiva output1 su lettura targa, attiva output2 su input 1 attivo) - corretta funzione decodifica base64 per elaborare i file in formato UTF-8 invece che solo ASCII - modificato controllo su funzione Elabora_Ticket per controllare prima il codice abbonamento (badge) della targa, altrimenti se fai ingressi con targhe diverse rischio di non trovare movimenti validi e bloccare accessi 2014-02-18 (FC) - modificata dimensione campo movBarrier.barDescription da 45 a 255 - creato servizio Change_Discount per applicare uno sconto a un biglietto (chiede codice biglietto, tipo sconto - 1=%,2=€ - , valore sconto) - aggiunto parametro su file myconfig.config per impostare la percentuale di sconto da applicare ai biglietti autonoleggio - corretto controllo in uscita su abbonato con targa letta su corsia e targa non inserita su anagrafica che dava messaggio "Da Pagare" su tessera a scalare 2014-02-17 (FC) - aggiunto controllo su ingresso abbonato con targa con funzione levenshtein - corretto valutazione importo da pagare quando ricevo una targa, che assumeva l'esistenza di un abbonamento - corretto controllo su esistenza biglietto quando letta anche una targa (valuto come abbonato solo se ho targa e non codice) - attivato controllo targa con metodo levenshtein 2014-02-16 (FC) - create le copie locali delle strutture dati (vrMessages, vrTabMessage) durante la funzione Elabora_Stati_new in modo da evitare la cancellazione dei dati durante l'uso - aggiunta funzione per azzerare tutte le strutture dati legate all'elaborazione degli stati quando si verifica un problema in elabora_stati_new, in modo da forzare il ricaricamento dei dati - modificata funzione Elabora_stati_new, eliminate le uscite dalla funzione, aggiunta una variabile wContinua per indicare se proseguire nell'elaborazione - modificata procedura di restore file di configurazione. viene fatta solo una volta (per ogni sessione) 2014-02-15 (FC) - salvataggio pagamento quando viene letto biglietto con 100% di sconto (sia su cassa che su colonnina) così rimane traccia dell'utilizzo sulle stampe - aggiunto salvataggio id operatore su registrazione log attività operatori, per tabella movoperator - se date di scadenza abbonato memorizzate a 0, vengono modificate inserendo come date di validità l'intero anno in corso - verificato il salvataggio delle date di validità al momento della verifica della ricarica abbonato/scalare (per evitare di salvare date a 0) - corretto salvataggio ricarica abbonato quando ricevuta per targa e non per tessera (con la sola targa inserita in anagrafica) - modificati tutti i math.round, uniformando invece che con arrotondamento a 2 o 8 cifre, tutto a 5 cifre - modificati tutti gli importi (e anche le %) sulle strutture dati interne in modo da avere sempre memorizzati importi in centesimi (su db vengono invece salvati coi valori reali) - aggiunto il salvataggio su pagamenti da cassa manuale dell'importo calcolato al lordo dello sconto - corretto il salvataggio dei biglietti da cassa manuale quando con sconto da applicare 2014-02-14 (FC) - aggiunto su tabella tabUserMessage il messaggio err_carrental per la visualizzazione su colonnina msg errore se letto in uscita biglietto associato a autonoleggio e non ancora abilitato a uscire - aggiunta la funzione di salvataggio nei operazioni operatore, sulla richiesta di apertura/chiusura barriera (con aggiunta causale indicata da operatore e targa letta su corsia) 2014-02-13 (FC) - aggiunto il tag tarColor (sul messaggio GetTariffList) per inviare il colore di sfondo da dare al tasto di cambio tariffa 2014-02-12 (FC) - aggiunto calcolo nuova data validità su rinnovo abbonamento a scalare con giorni di proroga automatici su rinnovo tessera (solo se la data di scadenza indicata è inferiore alla nuova calcolata) - inseriti dati riepilogativi situazione cassa a inizio e fine manutenzione su tabella inventario (riporta gli stessi dati dello scontrino, così rimane traccia della situazione iniziale e finale) 2014-02-11 (FC) - Aggiunta la scrittura del credito residuo prima di effettuare la ricarica/addebito sulla tessera 2014-02-08 (FC) - aggiunto controllo su Elabora_Stati_New, se vrTerminals non è ancora inizializzata esco dalla funzione (significa che non ho ancora caricato i terminali) (non dovrebbe mai succedere in quanto la sequenza prevede prima il controllo del caricamento dei terminali, poi l'elaborazione, ma tant'è) - controllato l'inserimento su Elabora_Stati_New nella tabella logrecordings per i campi numerici, messo conversione a numero in modo da passare 0 nel malaugurato caso trovassi stringa vuota - corretto controllo per ingresso su reload dati devices, ora controllo PRIMA che la variabile vrStatiCheck sia a 0 e SOLO se è a 0 controllo di se i terminali non sono caricati, allora li carico, oppure se è passato tempo e devo fare reload 2014-02-07 (FC) - aggiunto controllo diversificato sul periodo di validità prenotazioni: se prenotazione parcheggio controllo che il giorno prenotato corrisponda a oggi, altrimenti non entra se codice biglietto voucher, controllo che il movimento sia stato fatto nel periodo abilitato se codice di altro tipo (per il momento non esistono altri tipi), non viene verificata la data di validità - eliminata la stampa della ricevuta su ingresso abbonato di qualsiasi tipo (prima stampava se ingresso abbonato con targa) - aggiunta la targa sulla stampa del biglietto e della ricevuta su ingresso con prenotazione - aggiunta la descrizione del tipo veicolo sul biglietto generato dall'ingresso con prenotazione (sia ricevuta che biglietto) - corretta l'associazione sui pagamenti da fatturare, venivano associati tutti, perché non era controllata correttamente l'associazione al codice biglietto 2014-02-05 (FC) - corretto il salvataggio ricarica abbonato fatta da web, per risolvere il problema del salvataggio delle date - Modificato il servizio Change_Plate in modo da permettere la registrazione anche di una targa vuota - Modificato risultato servizi GetAreaList,GetClassList,GetTariffList,GetServiceList restituendo True anche se non vengono letti dati (ma con la procedura che non da errore) 2014-02-01 (FC) - Aggiunta descrizione corsia su log avviso passaggio non autorizzato/apertura barriera manuale - Aggiunta scrittura targa rilevata su corsia dove viene fatto passaggio non autorizzato - Ripristinato il salvataggio dell'id movimento sulla registrazione del pagamento di un addebito ad abbonato 2014-01-31 (FC) - Aggiunto la disattivazione dei movimenti abbonati, usando l'id abbonato eventualmente rilevato dalla funzione "isBadge" - modificata funzione CompleteTicket per ricerca codice badge su tabella movtransit su movimenti attivi, se in uscita non veniva trovato nessun movimento, e il codice non risultava come badge ora la ricerca viene fatta usando la funzione "isBadge" - Aggiunti nuovi messaggi su tabUserMessage: err_manualopen = registra un'apertura barriera manuale (non da operazione controllata da operatore) err_unauthorized = passaggio su seconda spira di veicolo non autorizzato (no lettura targa/badge/biglietto) - Aggiunti nuovi messaggi su tabUserMessage: msg_Cash, msg_CreditCard per stampa valore corretto su scontrino manutenzione - Aggiunta traduzione su messaggio finale su scontrino manutenzione (su tipologia pagamenti effettuati) - Modificata funzione DisableTicket, aggiunto parametro a funzione per passare il tipo di codice da disattivare (barcode, badge, targa) non cerca più in tutti i campi ma esamina solo il dato richiesto 2014-01-30 (FC) - Aggiunto campo su database tabParameters.parOfflineLostTicket - Aggiunto tag su rTariffPeriod su messaggio OfflineConfig - Caricati parametri tariffa offline da database su messaggio OfflineConfig - Tolto tag rOfflineTariff da GetConfiguration 2014-01-29 (FC) - Aggiunto caricamento parametri tariffa offline caricati da tabella tabParameters - Modificato messaggio GetConfiguration, aggiunto tag rOfflineTariff per la configurazione dei parametri della tariffa offline (tag composto da: Amount,Period,FreeTime,ExitTime) - Aggiunta scrittura sulla tabella di log, dei login operatore - aggiunto su tabMessage gestione errore su stampante ricevute NP2511 (verifico solo errore, non tipo) - replicata correzione ordinamento regole apertura su versione stabile 1.9 2014-01-28 (FC) - corretto ordinamento su caricamento regole apertura parcheggio per verifica abilitazione abbonato/occasionale 2014-01-27 (FC) - aggiunta gestione retromarcia su lettore prenotazione su colonnina di uscita (non gestito su entrata) - corretta lettura prenotazione con sconto 100% in uscita (se letta prenotazione, viene cercato movimento di entrata abbinato) - aggiunta verifica su invio tabella abbonati offline a colonnina che generava errore quando abbonato con date di validità a 0 (in ogni il dato a 0 è un errore di registrazione da verificare) 2014-01-23 (FC) - aggiunto webservice (per telecamere targhe Eurotech), PlateReading 2014-01-20 (FC) - aggiunto salvataggio sconto applicato su registrazione pagamento (con importo calcolato senza sconto) - corretto controllo su biglietto autonoleggio in uscita che non salvava il pagamento - corretta funzione di lettura dei parametri iva - aggiunto salvataggio iva applicata al termine del pagamento 2014-01-13 (FC) - aggiunto il salvataggio su tabella abbpayment delle nuove date di inizio e fine validità abbonamento (quando viene fatta una ricarica) 2014-01-12 (FC) - corretto errore su funzione Elabora_Stati (errore indice e sistemato problema introdotto con modifica del 2014-01-10) 2014-01-10 (FC) - migliorata verifica utilizzo funzione Elabora_stati (per permettere uno e un solo ingresso per volta) e per verificare eventuali svuotamenti delle strutture (a causa del riavvio del server) - aggiunto invio tag rPanel a terminale contaposti durante i test (per verificare comunicazione RS485) 2014-01-08 (FC) - modificato setup inviato a terminali contaposti, cambiata velocità comunicazione da 1 sec/msg a 10 sec/msg - corretto errore su salvataggio associazione biglietto a autonoleggio su ricerca id tariffa da applicare - verificato errore indice su salvataggio dettaglio monete utilizzate su pagamento (overflow su array, non condiziona il corretto salvataggio dei dati) 2014-01-07 (FC) - aggiunti due byte di stato sulla gestione degli output per i test contaposti (vengono utilizzati solo 8, ma il protocollo ne prevede 10. sono aggiunti due per evitare problemi sull'elaborazione) - verificata la procedura di test (collaudo) contaposti, aggiunto azzeramento variabili che altrimenti venivano inizializzate erroneamente stoppando i test 2013-12-28 (FC) - modificato webservice Check_Plate per utilizzare le function levenshtein - creata procedura automatica di inserimento funzioni mysql se non esistenti - creata funzione per la verifica dell'esistenza su db di una function - creata funzione per la verifica dell'esistenza su db di una tabella - creata function su db mysql levenshtein e levenshtein_ratio per calcolo percentuale corrispondenza di due stringhe (da usare per confronto targhe) 2013-12-23 (FC) - salvataggio stati scheda contaposti in test su variabile locale, inviata in risposta a msg KeepAlive che contiene richiesta "readstatus" nel tag "sStatus" - eliminata la scrittura su file per la registrazione degli stati durante i test scheda contaposti 2013-12-22 (FC) - corretto il metodo Change_Class che richiamava la funzione errata per la modifica della classe (chiamava Change_Tariff) - aggiunto ai servizi il metodo Change_Plate per cambiare targa a un biglietto 2013-12-17 (FC) - modificata la procedura di creazione del barcode, per la richiesta codice cliente occasionale. Viene calcolato come per quello richiesto da colonnina, usando data e ora e non il progressivo - aggiunto il campo tmpPay.tmpCarId per salvare l'id dell'abbonato nel caso di salvataggio pagamento con fattura (cliente occasionale) 2013-12-16 (FC) - corretta procedura di salva_pagamento. Errore verifica variabile wInvoice trattata come stringa invece che boolean - leggo i parametri dell'iva da tabella tabParameters sulla generazione della ricevuta di pagamento (create_receipt) - aggiunto campo tabParameters.parVatName (varchar(10)) dove memorizzare la sigla dell'iva (IVA,VAT,ecc...) - tolto richiesta percentuale iva da msg OfflinePaymentPos, la variabile non veniva utilizzata - modificato il servizio OfflinePaymentPos che legge i dati dell'iva non da file xml ma da valore memorizzato su db (tabParameters.parVatRate) - Aggiunta il tag rVat sul webservice GetConfiguration per passare ai dispositivi la percentuale dell'iva da applicare ai pagamenti 2013-12-12 (FC) - aggiunta la verifica sul salvataggio ricarica abbonamento, se da fatturare aggiungo l'indicazione sulla riga del pagamento (payInvoice) - aggiorno la tabella movTransit inserendo il codice letto durante il pagamento con richiesta fattura 2013-12-10 (FC) - aggiunto il campo tmpInvoice sulla tabella tmpPay per registrare il codice biglietto cliente occasionale da fatturare - aggiunto il campo tmpTerId sulla tabella tmpPay per tenere traccia della cassa su cui è stato registrato l'avvio del pagamento - aggiunto il parametro terId passatto sulla funzione Elabora_ticket - tolto il tempo di rilettura immediata su ingresso tornello piscina 2013-12-07 (FC) - modificato il servizio getAmount, aggiunti nella risposta i campi rDescription e rTarId che contengono la descrizione e l'id della tariffa applicata per il calcolo - aggiunta la classe veicolo sulla ricevuta da stampare in ingresso (person. PD) 2013-12-05 (FC) - Completato il controllo sul passback dei biglietti servizi che con l'inserimento del 03/12 non era funzionante - Aggiunto l'invio del tempo di attivazione rele alla lettura di un biglietto valido su lettore newland (inviato su rAction in risposta a InTicket, da gestire su servizio newland) - Aggiunte su db default le traduzioni su tabUserMessage dell'olandese 2013-12-04 (FC) - Aggiunto controllo per abbassamento barriera con messaggio LockedOpenOff (per disattivazione su nuova modalità in cui la colonnina inibisce tutti i comandi di chiusura quando attiva modalità LockedOpen) 2013-12-03 (FC) - Estensione della funzione "isPassbackTickets" anche ai biglietti servizi; controlla il tempo impostato sul terminale sul campo terMsRele se esiste (viene valutata l'esistenza del campo su db, in caso contrario il controllo procede come se non si trattasse di un servizio) 2013-12-02 (FC) - Aggiunto il tabTerminal.terMinResetPB (integer) per disattivare il passback dopo un certo numero di minuti dopo l'ultimo passaggio 2013-11-27 (FC) - aggiunto servizio Remote_TranslateMessage per richiedere una traduzione da un software esterno 2013-11-26 (FC) - aggiunto il campo tabParameters.parVatRate, INT, per memorizzare l'aliquota iva da applicare (in centesimi) - aggiunto il campo tabTerminal.terMsRele, INT per personalizzare il tempo, in millisecondi, di attivazione di un output (NewLand) - modificata la lettura del campo terType su GetDeviceInfo, leggendo due cifre invece che una sola (per poter gestire i nuovi tipi di device) - aggiunto il servizio GetDeviceList che restituisce i dati dei dispositivi del tipo richiesto configurati su db (0=restituisce tutti i device) 2013-11-24 (FC) - aggiunto il controllo sui tipi servizi sul messaggio InTicket 2013-11-22 (FC) - aggiunto servizio isValidService per verificare la validità di un biglietto di tipo servizio - aggiunti i campi accDateFrom e accDateTo di tipo datetime sulla tabella movAccess, in cui registrare data di inizio e fine validità biglietto - aggiunto il controllo di validità del tipo di biglietto letto sul dispositivo sul quale è stato letto - aggiunto il controllo di validità di un servizio (verificato il numero di passsaggi residui, la vaildità delle date) 2013-11-21 (FC) - aggiunto il salvataggio del campo accTicType sull'inserimento di nuove righe sulla tabella movAccess (viene controllata l'esistenza del campo) - aggiunto sulla tabella movAccess il campo accTicType dove viene salvato il tipo di biglietto generato (abbonamento/servizio/ecc). Si collega al campo tabTicketType.ticType - aggiunto sulla tabella movAccess il campo accMaxPass e il campo accLeftPass dove memorizzare i passaggi residui - aggiunto il tag iPayMaxPass sulla struttura iPayInfo dove memorizzare il numero di volte che è possibile riusare il biglietto acquistato - modificato il servizio OfflinePaymentPos (nuovo utilizzo, non dettaglio le modifiche) - tolto il tag sMaxPass dal servizio OutMultiTicket Ver 1.9 2013-11-20 (FC) - Pubblicazione versione 1.9 2013-11-19 (FC) - corretta formula calcolo IVA sul salvataggio della ricevuta (stampata su cassa manuale) - modificato il servizio OutMultiTicket, aggiunto il tag sMaxPass (integer) in cui viene definito il numero massimo di passaggi da associare al biglietto 2013-11-18 (FC) - aggiunti sulla struttura payInfo i tag iPayVatPercent e iPayVatAmount (double) in cui memorizzare la percentuale e l'importo iva applicato - aggiunti i campi payPayment.payVATPercent e payVatAmount (tipo double) in cui memorizzare i dati dell'iva applicata al pagamento 2013-11-15 (FC) - aggiungo il tag rCreditAmountList al servizio GetSubscriber per la gestione delle ricariche abbonamento a scalare con lo sconto 2013-11-14 (FC) - aggiunto il servizio Get_ServiceList per restituire l'elenco di tipi biglietti utilizzabili per acquisto servizi - aggiunta l'opzione su myconf.config: CheckReservationDate, che se messa a 1 effettua il controllo di validità della data di prenotazione (permette l'ingresso solo se la data di arrivo corrisponde al giorno in cui è effettuato l'ingresso). Di default il valore viene messo a 1 2013-11-13 (FC) - corretto il calcolo del codice a barre nel caso in cui il formato data ora di sistema non venga riconosciuto come data valida (succede quando il separatore dell'ora è "."). corretto forzando il formato data a yyyy-MM-dd HH:mm:ss 2013-11-11 (FC) - Attivato controllo su validità date prenotazione, se ingresso fatto in data non uguale a data prenotazione, prneotazione non valida Ver 1.8 2013-10-28 (FC) - aggiunto il campo tabParameters.parUseCulture per gestire la possibilità di impostare il formato data e ora di un paese diverso rispetto alla lingua principale 2013-10-19 (FC) - rilasciato nuovo dump db default con correzione tabella tabMessage - corretto su db tabella tabMessage il campo mesAbsPosition, messo a 0 su messaggio "Device Connection" - rilasciata nuova versione webservices per aggiornamenti - corretto il problema del possibile blocco del sistema, causato dalla disconnessione di un device dalla rete 2013-10-18 (FC) - corretto il calcolo della tariffa massima giornaliera; veniva memorizzato il valore dell'importo in una variabile intera, generando un errore sul calcolo quando veniva impostato un importo massimo decimale 2013-10-17 (FC) - rilasciata la versione per gli aggiornamenti (non rilasciata su server master in produzione)