Hallo zusammen,
die Erfassung von Montagezeiten in unserer Produktion läuft seit einigen Monaten zum Teil über smapOne. Nach und nach fallen im Tagesbetrieb immer mal wieder kleinere Erfassungsfehler auf, welche wir gerne direkt in der smap abfangen möchten, um manuelle Korrekturen zu minimieren. An folgendem Fall beiße ich mir gerade die Zähne aus:
Ein Monteur kann immer nur an einem Produktionsauftrag gleichzeitig arbeiten. Diese Logik möchte ich gerne als kleine Plausibilitätsprüfung einbauen. Ich habe ein Zeitauswahlfeld (Startzeit) und ein Zeitauswahlfeld (Endzeit). Beide Felder nehmen nur die Uhrzeit auf, das Datum wird im Kopf einmalig separat erfasst.
Die Startzeit innerhalb eines Datensatzes der Wiederholungsgruppe sollte also nicht vor der Endzeit des vorherigen Datensatzes liegen. Verschiedene Datensätze innerhalb einer Wiederholungsgruppe miteinander zu vergleichen ist wahrscheinlich nicht möglich, daher war mein Gedanke, dass ich die summierte Gesamtmontagezeit des Tages auf den Minimalwert der Startzeit aus der Wiederholungsgruppe addiere, mit der maximalen Endzeit vergleiche und bei Fehler das Absenden des Formulars verhindere. (Die Lösung ist natürlich nicht ganz so sauber, aber immerhin fangen wir damit einen Großteil ab).
MIN() funktioniert aber nur mit dem Datentyp Zeitraum und ich habe Zeitpunkte als Werte. Bei der Umwandlung der Zeitpunkte in einen Zeitraum verzweifle ich. Habe ich einen Denkfehler? Habt ihr Ideen, vielleicht auch alternative Lösungsvorschläge?
Hier nochmal ein minimalistischer Nachbau der Smap, zum besseren Verständnis:
Danke vorab an alle, die sich bemühen, meine Gehirnwindungen nachzuvollziehen.