[MySQL] Überstunden berechnen unter Berücksichtigung der Pausen

Dang, sorry! :) Gar nicht aufgepasst, dass ich beim Export auch die Daten mit exportiere.

SQL:
INSERT INTO `timesheet` (`id`, `uid`, `day`, `daytype`, `startofwork`, `endofwork`, `breaktime`, `vacationday`, `notes`, `added`) VALUES
    (2, 1, '2018-01-08', 'A', '06:50:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (3, 1, '2018-01-09', 'A', '07:00:00', '16:10:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (4, 1, '2018-01-10', 'A', '07:00:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (5, 1, '2018-01-11', 'A', '06:50:00', '16:20:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (6, 1, '2018-01-12', 'U', '06:50:00', '10:40:00', '00:00:00', '00:50:00', 'Halber Urlaubstag, keine Pause.', '2018-01-17'),
    (7, 1, '2018-01-15', 'A', '07:00:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (8, 1, '2018-01-16', 'A', '06:50:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-17'),
    (9, 1, '2018-01-17', 'A', '06:50:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-18'),
    (10, 1, '2018-01-18', 'A', '06:57:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-18'),
    (11, 1, '2018-01-19', 'A', '06:55:00', '13:42:00', '00:50:00', '00:00:00', '', '2018-01-19'),
    (12, 1, '2018-01-22', 'A', '07:00:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-22'),
    (13, 1, '2018-01-23', 'A', '06:53:00', '16:25:00', '00:50:00', '00:00:00', '', '2018-01-23'),
    (14, 1, '2018-01-24', 'A', '06:50:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-24'),
    (15, 1, '2018-01-25', 'A', '06:53:00', '16:00:00', '00:50:00', '00:00:00', '', '2018-01-25'),
    (16, 1, '2018-01-26', 'A', '06:54:00', '14:00:00', '00:50:00', '00:00:00', '', '2018-01-26'),
    (17, 1, '2018-01-29', 'A', '06:51:00', '00:00:00', '00:50:00', '00:00:00', '', '2018-01-29');

Ach ja, nochmal nebenbei erwähnt: Die Pausenzeiten werden in Industrieminuten angegeben.
 
Zuletzt bearbeitet:
Dann kannst du die Pausen aber nicht als Time angeben. Time ist keine Industrieminuten. 00:50:00 Sind 50 Minuten, nicht eine halbe Stunde.
Du musst aus dem Feld eine Zahl machen, wenn du mit Industrieminuten arbeiten willst
 
Lässt sich das nicht mit einem Faktor o.ä. nicht umrechnen? Ich hatte deswegen Time gewählt, da es so keine HTML5-Felder mit Punkt für sowas gibt.
 
Du kannst kein 00:75:00 speichern. Industrieminuten sind 0.75 und 0.5 etc. Also zahlen.

Es gibt mehrere Layers im Programm. Vereinfacht
Datenlayer: So wir du es in der Datenbank speicherst (MySQL)
Applikationslayer: Das Programm, dass die Daten und die Userinteraktion zusammen auswertet (PHP)
Businesslayer: Das GUI, mit dem der User abreitet (HTML+JavaScript)

Jetzt musst du dir überlegen. In welchem Layer soll die Pause wie sein. Zwischen den Layern kann man umrechnen.
Soll jetzt die Industrieminute durchgehend als Industrieminute sein? Oder gibt der User 0.75 Stunden ein und der Applikatiosnlaer rechnet das auf 00:45:00 um?
 
Verstehe aber nicht was das für einen großen Unterschied macht, ob ich es als 00:75:00 (HH:MM:SS) oder 0.75 speichere? Im Endeffekt kommt doch da auch 0.75 raus - theoretisch. :)

Wobei... wenn ich so nachdenke ist es schon besser wenn ich die Zeit lasse und dann z.B. aus 00:75:00 00:45:00 mache. Oder habe ich da auch was falsch verstanden?
 
Zuletzt bearbeitet:
Also. Es kommt doch sehr stark drauf an, wie das nun gespeichert ist. Wir rechnen nachher damit.
Das währe als ob man eine Distanz in Meilen speichert und nachher mit Meter rechnen will, Da muss man auch von der einen Einheit in die andere umrechnen.
So ist es auch hier.
 
Zurück