Transaktionen am Fristtag als überzogen angezeigt
Auf dem Ausdruck der Mahnliste ist aufgefallen, dass Transaktionen als verspätet angezeigt wurden, die aber am Fristdatum abgegeben wurden. Dies sorgte für einige Verwirrung, da die Bücher de facto rechtzeitig abgegeben wurden.
Meine Theorie, warum es zu diesem Fehler kommt, ist, dass die Daten (Rückgabe und Frist) "falsch" verglichen werden oder die falschen Daten gespeichert werden.
Warum komme ich auf diese Theorie? Nun, für eine Transaktion werden die Daten als UNIX-Timestamp gespeichert. Bei der Suche nach verspäteten Transaktionen wird dabei das Rückgabedatum mit dem Fristdatum mithilfe des „größer als“-Operators verglichen. Da der Unix-Timestamp hochgezählt wird, ist eine Transaktion, deren Rückgabedatum größer als das Fristdatum ist, verspätet.
In der aktuellen Version von TiBoLi werden die Fristen auf 23:59:59 datiert – also auf das Ende des Tages. Wenn man also ein Buch heute (19.01.2025) zurückgeben muss, hat man bis 19.01.2025 23:59:59 Zeit. Die Rückgabezeit wird dabei aktuell in die Datenbank geschrieben, also weder auf- noch abgerundet. Wenn ich also um 14:37 mein Buch abgebe, steht auch 14:37 in der Datenbank. Dies sollte also eigentlich nicht mit dem Operator interferieren, denn 14:37 ist vor 23:59.
Allerdings wurde in einer alten Version von TiBoLi, bevor das neue Date-Management eingeführt wurde, das Fristdatum ohne die Uhrzeit eingetragen. Das ist so weit nicht fatal, aber da es als UNIX-Timestamp gespeichert wird, steht in der Datenbank nicht nur das Datum (19.01.2025), sondern auch die Uhrzeit 00:00, also Mitternacht. Da nun aber 14:37 nach Mitternacht liegt, wurden die Transaktionen trotzdem als verspätet ausgegeben.
Ergebnis:
Die betroffenen Transaktionen wurden vor dem Update erstellt, wodurch die Aufrundung zum Ende des Tages nicht angewandt wurde und somit falsch verglichen wird. Der Fehler wurde in der neuen Version behoben. Allerdings kann er weiterhin durch Altbestand an Daten hervorkommen. Daran wird gearbeitet.
