Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   zeitintervall abfrage (https://www.delphipraxis.net/187626-zeitintervall-abfrage.html)

MatthiasK 16. Dez 2015 14:29

AW: zeitintervall abfrage
 
ja, die abfrage erfolgt per datum, also nur meinetwegen der 16.12.2015

der order by befehl auf den timestamp gibt ja ne ordentliche chronologische sortierung zurück.

damit ist der erste datensatz auch der zeitigste. also ist dies als beginn zu sehen.
wenn der nächste datensatz unter 10 min unterschied ist, is alles ok und es geht mit dem nächsten ds weiter. immer im vergleich zum vorigen. eine pause entsteht also erst, wenn zwischen 2 Datensätzen eine zeitspanne von über 10 minuten entsteht.

Nachtrag:
natürlich kommen nach 7.53 uhr noch weiter stunden mit x Datensätzen. Aber es muss ja stundenweise zur vollen stunde die auswertung erfolgen.

Perlsau 16. Dez 2015 15:08

Konzeptvorschlag
 
  1. Erst mal den betreffenden Tag selektieren: Select * from Datensaetze where Datum = '16.12.2015';
  2. Dann für jede Stunde einen Filter setzen:
    Delphi-Quellcode:
    Query.Filter := 'Zeit >= ' + QuotedStr(TimeToStr(StundeStart) ' and Zeit < ' + QuotedStr(TimeToStr(StundeEnde));
    ... wobei für StundeStart und StundeEnde jeweils die TTime-Variablen StundeStart und StundeEnde auf z.B. 07:00:00 und 08:00:00 gesetzt und mit System.DateUtils.IncHour nach jedem Durchlauf erhöht werden.
  3. Nun für jede Stunde die Zeiten zwischen den Timestamps mit System.DateUtils.SecondsBetween ermitteln.
  4. Wenn Result > 600 (60 sec. x 10), dann Treffer.

jobo 16. Dez 2015 15:21

AW: Konzeptvorschlag
 
Zitat:

Zitat von Perlsau (Beitrag 1324643)
Nun für jede Stunde die Zeiten zwischen den Timestamps mit System.DateUtils.SecondsBetween ermitteln.[*]Wenn Result > 600 (60 sec. x 10), dann Treffer.

Mit dem Verfahren würden aber Pausen an den Stundengrenzen und auch darüber hinaus nicht gefunden.
Hier allerdings aber auch nicht klar, was der TO da haben will. Wenn also Timestamps bei 7:53 und 8:09 liegen.
Wird das gewertet? Zu welcher Stunde?

p80286 16. Dez 2015 15:28

AW: zeitintervall abfrage
 
da ist das Konzept schon mal etwas löchrig. Es sei den es geht nur darum zu schauen ob vormittags oder abends die Speicherung behindert wird.
Aber ein Intervall von 10min in Bezug auf eine Stunde??
Ich würde es ungefähr so machen:
Delphi-Quellcode:
if timestamp[i]+600sec>timestamp[i+1] then writeln('Unterbrechung von '+timestamp[i]+' bis '+timestamp[i+1];
Gruß
K-H

Sir Rufo 16. Dez 2015 16:09

AW: zeitintervall abfrage
 
Wenn man nur den Zeitraum betrachtet, der innherhalb dieser einen Stunde liegt, kann man gar nicht beurteilen, ob hier mit der Arbeit erst um 07:33 begonnen hat, oder ob der schon seit 06:45 da ist, und nun aber erst mal eine Mütze voll Schlaf nimmt.

Das Ergebnis wäre für diese Stunde dann völlig anders:
  • Um 07:33 angefangen
    TagStundeArbeitszeitProduktivUnproduktivProduktiv %
    16.12.20150727121544,4%
  • Um 06:45 angefangen
    TagStundeArbeitszeitProduktivUnproduktivProduktiv %
    16.12.20150760124820,0%
Das gleiche Problem haben wir mit dem Ende der Arbeitszeit. Wann hat der Kollege denn den Hammer fallen lassen und ist nach Hause gegangen?
Um 07:53 oder erst gegen 16:00?
  • Um 07:33 angefangen und um 07:53 wieder nach Hause:
    TagStundeArbeitszeitProduktivUnproduktivProduktiv %
    16.12.20150720121560,0%
Dies muss geklärt werden, sonst misst man einfach nur Mist :stupid:

Perlsau 16. Dez 2015 16:53

AW: Konzeptvorschlag
 
Zitat:

Zitat von jobo (Beitrag 1324648)
Mit dem Verfahren würden aber Pausen an den Stundengrenzen und auch darüber hinaus nicht gefunden.

So hat's der TE vorgegeben, dafür darfst du nicht mich verantwortlich machen: "Aber es muss ja stundenweise zur vollen stunde die auswertung erfolgen."
Zitat:

Zitat von jobo (Beitrag 1324648)
Hier allerdings aber auch nicht klar, was der TO da haben will. Wenn also Timestamps bei 7:53 und 8:09 liegen. Wird das gewertet? Zu welcher Stunde?

Richtig, wenn er das so haben wollte, sollte er das auch so formulieren. Ich hab ihn lediglich beim Wort genommen und ein Konzept streng nach seinen Vorgaben aufgestellt.

jobo 16. Dez 2015 17:16

AW: zeitintervall abfrage
 
Ja, ich glaube, dass er bei der Anforderungsdefinition noch nachlegen muss, ist klar. Fehlt nur noch eine Antwort vom TO.

MatthiasK 16. Dez 2015 17:34

AW: zeitintervall abfrage
 
Hallo,

das mit dem Stundenweisem Auslesen ist eine Vorgabe, die ich habe.

Den Hinweis bzgl. der evtl. vorhandenen Pausen am "Stundenübergang" habe ich bereits mit dem "Auftraggeber" ausgewertet.
Er will das halt so, auch wo ich ihm das genauer rklärt habe, das es Schwachsinn ist. man müsste rigoros die Intervalle prüfen, ob Pause oder nicht. Ansonsten ist es löchrig wie ein Sieb. Steh da aber noch in Verhandlung.

Es geht ja nicht darum, die Arbeitszeit an sich zu betrachten. Es gibt verschiedene Aufgaben, welche sonst noch anfallen. Der Begin und das Ende der Arbeitszeit erfolgt per Stechkarte, ist also relativ egal für das geschilderte Problem.

Wie gesagt, es hat nicht den Sinn, zu Überwachen, was der Arbeitnehmer macht. Es hat insofern mehr damit zu tun, die Messergebnisse auf eine gewisse Konsistenz zu prüfen. Weiterführend wäre da zu erwähnen, das es unwahrscheinlich ist, das in einer Minute mehr als 2 Messungen erfolgen. Wenn die häufiger wären, wäre es ein Fehlverhalten, sei es vom Gerät oder Arbeitnehmer. Vielmehr sollen die Daten halt auf eine gewisse logische Art geprüft werden, ob die Abstände als sinnvoll zu erachten sind. Im Nachhinein werden noch andere Sachen aus den Daten ausgewertet. Aber das halt nur, wenn solche Pausen oder "Schnellmessungen" erfolgen. Sonst wäre der aufwand exorbitant hoch...

Fakt ist, der erste Datensatz stellt den Begin dieser Tätigkeit, unabhängig der Arbeitszeit des AN dar. Es ist nicht so, das die Arbeit dort durch anderweitige Tätigkeiten unterbrochen wird. Persöhnliche Bedürfnisse sowie Pausenzeiten natürlich ausgenommen.

Mfg Matthias

jobo 16. Dez 2015 17:45

AW: zeitintervall abfrage
 
Ja und wie werden die Pausen nun auf die Stunden gelegt, wenn sie die volle Stunde schneiden?

MatthiasK 16. Dez 2015 19:30

AW: zeitintervall abfrage
 
ich hab morgen ne telefonkonferenz. da werd ich das nochmal ganz gezielt ansprechen.

ich bin ja immernoch der meinung, das eine pausenauswertung auf die volle stunde gerechnet mist ist. Wenn die es denn aber so haben wollen, solls mir egal sein. da fällt halt sowas raus.

Im endeffekt können wir alle nur das tun, was von uns verlangt wird... Auch, wenn man ewig für diskutiert...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz