Ich muss eine Zeittaktungsanwendung für Mitarbeiter machen. Jeder Mitarbeiter wird durch ein Ticket identifiziert, das beim Eintreffen und Verlassen des Gebäudes gescannt wird. Leider kann ich nicht sicher sein, ob sie wegen eines Gesetzes ankommen oder gehen (sie arbeiten im Untergrund).Zeithalte-Tabelle für Mitarbeiter-Taktung
Ich denke über die Gruppierung von zwei Reihen in eine, um die Arbeitsstunden zu erhalten. Das einzige Problem, das ich mit diesem Ansatz habe, taucht auf, wenn das Ticket zwei Mal bei der Ankunft oder beim Verlassen gescannt wird.
Wie würden Sie dieses Problem lösen?
Bisher ist dies die Struktur der TicketUsages Tabelle
Wie/wann bekommen sie dieses Ticket? Pro Arbeitstag? Können sie an einem anderen Tag abreisen, als sie eintreten (Nachtarbeit)? Soll 'created_at' die Ankunftszeit und' update_at' die Urlaubszeit sein? – Marco
Um den Doppel-Scan zu verarbeiten, können Sie eine "Toleranzfrist" einführen, bei der ein Scan ignoriert wird, wenn er innerhalb eines kurzen Zeitraums seit dem letzten Scan liegt. Sie können dies auf der Anwendungsseite implementieren oder (Gruppen-) Datensätze in einem Intervall (z. B. 1 Minute) bei der Abfrage aufrollen. Abgesehen davon scheint die Frage für diese Website off-topic zu sein. – mustaccio
Sie haben ein Ticket pro Arbeitstag bekommen. Ja, sie können. 'created_at' und' updated_at' werden auf denselben Wert gesetzt (sie werden vom Framework festgelegt). Wie kann ich zwei aufeinanderfolgende Zeilen paaren, um die Arbeitszeiten zu erhalten? – Vlad