forum-user
Mitglied
Hallo Leute, an dieser Stelle möchte ich mit Euch einfach über die genannte Thematik plaudern.
Der eigentliche Grund ist schnell erklärt. Wir haben ein simples Zeiterfassungssystem via PHP & MySQL erstellt, was auch ganz gut funktioniert, doch es gibt auf Grund der unterschiedlichen Dienste, den einen oder anderen kniffligen Punkt.
Die Funktionsweise ist recht einfach:
Die „Arbeitszeit Tabelle“ ist ungefähr so aufgebaut:
Zeit_ID -> auto inc / prim Key | Mitarbeiter_ID | Beginn | Ende | Dauer | ArbeitVonZeit | ArbeitBisZeit
Die „Mitarbeiter Tabelle“ ungefähr so:
Mitarbeiter_ID -> auto inc / prim key | Benutzername | Name | Vorname | Vertragsstunden
Das Ganze funktioniert, solange ein MA zum Beispiel 8:00 beginnt und 16:00 geht, da es alles in der „Arbeitszeit Tabelle“ unter der Zeit_ID in einer spalte eingetragen wird.
Nun gibt es aber bei uns MA, welche Tagübergreifend arbeiten, zum Beispiel 22:00 Beginn und 8:00 Ende und genau hier mussten wir mit einem unglücklichen Kunstgriff arbeiten.
Wenn so ein MA „Geht“ prüft das Script die aktuelle Zeit, kontrolliert ob es weit vor der heutigen „Beginn“ Zeit liegt, stellt fest das dies TRUE ist und geht einen Tag zurück und speichert die Zeit.
Dazu sei noch gesagt, es gibt Dienste, welche ab Dienstag bis Samstag und welche die ab Montag bis Freitag durchgeführt werden.
Damit komme ich zum eigentlichen Anliegen. Habt Ihr Anregungen oder Ideen, wie man dies anderweitig ohne solche Kunstgriffe lösen könnte.
Der eigentliche Grund ist schnell erklärt. Wir haben ein simples Zeiterfassungssystem via PHP & MySQL erstellt, was auch ganz gut funktioniert, doch es gibt auf Grund der unterschiedlichen Dienste, den einen oder anderen kniffligen Punkt.
Die Funktionsweise ist recht einfach:
- Login à User ID wird in Session gespeichert à Weiterleitung in den Mitarbeiter Bereich (MAB)
- Informationen zum Mitarbeiter (MA) werden aus der Datenbank (DB) gelesen, Name, Dienst Zeiten etc.
- MA hat nun die Möglichkeit zu „Kommen“ bzw. zu „Gehen“
- Zeitstempel (hier ist es TimeStamp), wird in die jeweiligen Felder der DB gespeichert und Arbeitszeit wird berechnet
- MABà MAà Logout à Session zerstört
Die „Arbeitszeit Tabelle“ ist ungefähr so aufgebaut:
Zeit_ID -> auto inc / prim Key | Mitarbeiter_ID | Beginn | Ende | Dauer | ArbeitVonZeit | ArbeitBisZeit
Die „Mitarbeiter Tabelle“ ungefähr so:
Mitarbeiter_ID -> auto inc / prim key | Benutzername | Name | Vorname | Vertragsstunden
Das Ganze funktioniert, solange ein MA zum Beispiel 8:00 beginnt und 16:00 geht, da es alles in der „Arbeitszeit Tabelle“ unter der Zeit_ID in einer spalte eingetragen wird.
Nun gibt es aber bei uns MA, welche Tagübergreifend arbeiten, zum Beispiel 22:00 Beginn und 8:00 Ende und genau hier mussten wir mit einem unglücklichen Kunstgriff arbeiten.
Wenn so ein MA „Geht“ prüft das Script die aktuelle Zeit, kontrolliert ob es weit vor der heutigen „Beginn“ Zeit liegt, stellt fest das dies TRUE ist und geht einen Tag zurück und speichert die Zeit.
Dazu sei noch gesagt, es gibt Dienste, welche ab Dienstag bis Samstag und welche die ab Montag bis Freitag durchgeführt werden.
Damit komme ich zum eigentlichen Anliegen. Habt Ihr Anregungen oder Ideen, wie man dies anderweitig ohne solche Kunstgriffe lösen könnte.