Zeiterfassung | automatisches Aufrufen eines Scriptes

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeiterfassung | automatisches Aufrufen eines Scriptes

    Hallo,
    habe mal kurz eine Frage an euch:
    Ich habe eine Zeiterfassung mit PHP und Mysql geschrieben. Funktioniert auch alles gut und schön.

    Wenn ein Benutzer nicht da ist, sollen seine Stunden auf "minus" gesetzt werden. (verständlicherweise). Dieses habe ich in der Index.php realisiert. Jedes mal, wenn sie aufgerufen wird, schaut das Script in der Datenbank nach, ob dies schon geschehen ist, und wenn nicht, dann tut es dies für alle Benutzer.

    Jetzt kann es natürlich vorkommen, dass an einem Tag kein Benutzer da ist, und dementsprechend die Index.php nicht aufgerufen wird.

    Momentan lasse ich die Datei täglich von einem geplanten Task am W2k-Server aufrufen. Diese Lösung ist glaube ich nicht die eleganteste.

    Kann mir jemand einen Tipp bzw. eine Anregung geben, wie ich es lösen könnte? Vielen Dank im voraus

  • #2
    Um ehrlich zu sein, verstehe ich das Problem nicht 100%ig. Ich denke aber du hast da grundsätzlich ein Design-Problem.

    Warum sollten Zeiten erfasst werden, wenn gar keiner da ist. Abwesenheit sollte man nie erfassen, sondern immer nur die Anwesenheit. Jetzt brauchst Du nur noch ein Stundensoll und vergleichst das mit dem dem Stunden-Ist.

    ALSO: Nie Minus-Stunden eintragen. Es wird nur eingetragen was wirklich gearbeitet wird. Das sollte reichen.
    Ich denke, also bin ich.
    Manche sind trotzdem!

    Kommentar


    • #3
      Nee, das ist schon so richtig.

      Jeder Mitarbeiter muss z.B. 8Stunden arbeiten. Wenn er nicht da ist und dementsprechend nicht bucht, dann muss er diese 8 Stunden nachholen. Deshalb habe ich mir überlegt, die Stunden direkt auf -8Std zu setzen und anschliessend, wenn er z.B. von 8-12 gearbeitet hat die "Überstunden" von -8 auf -4 ändern.

      Möchte halt nur gerne, dass der Code irgendwie einmal pro Werktag ausgeführt wird.

      PHP-Code:
      mysql_query("INSERT INTO $user1 (datum,soll,ueber) VALUES ('$heute','$soll','-$soll')"); 

      Kommentar


      • #4
        Na das ist aber nicht besonders logisch. Wie kann man den Minus-Stunden arbeiten. Ermittele doch lieber das Soll und das Ist getrennt. Dann hast Du das ganze Problem nicht mehr.
        Wir hatten hier bei unserem Zeiterfassungssystem eine ähnliche Diskussion und der Weg nur die Ist-Stunden zu erfassen und die Soll-Stunden zu berechnen war unserer Meinung nach der einzig vernünftige Weg.

        Tja, wenn du es partout aber so willst, geht es halt nur über CRON/Geplante Tasks. Das hast du schon richtig gemacht. Ne andere Idee habe ich da auch nicht.
        Ich denke, also bin ich.
        Manche sind trotzdem!

        Kommentar


        • #5
          Habe mir da auch Gedanken ohne Ende gemacht. wenn ein Benutzer im Testlauf nicht gekommen ist, dann wurde auch kein Eintrag für das Datum in die Datenbank geschrieben. Somit stimmte auch sein Stundenkonto nicht. Wenn jemand zu wenig Stunden arbeitet, muss es ihm abgezogen werden. So wurde es jedenfalls vom Chef vorgegeben.

          Welchen Befehl müsste ich dann für den Cron-Job nehmen?

          /srv/www/htdocs/zeiterfassung/index.php ?????

          Kommentar


          • #6
            Hi,

            könntest du mir evtl. deine Zeiterfassung zur Verfügung stellen?

            Wäre echt supi !

            Ciao

            Kommentar


            • #7
              Original geschrieben von luenstedt
              Welchen Befehl müsste ich dann für den Cron-Job nehmen?

              /srv/www/htdocs/zeiterfassung/index.php ?????
              Nein Du solltest ein script nehmen, das nur die gewünschte autofunktion beinhaltet
              Du musst es dann mit php aufrufen in der crontab
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar

              Lädt...
              X