Mal wieder ein größeres Projekt in QT – noch nicht ganz fertig aber mal ein Zwischenstand.
Ausschlaggebend war ein Gespräch mit Basti vor etwa drei Wochen.
Grundsätzlich besteht die Software aus drei Komponenten. Eine App zum Erfassen der Zeiten und Positionsdaten, ein Webserver mit Datenbankanbindung und eine Auswertesoftware für den PC.
Die App ist schon fast fertig und funktioniert ganz gut.
Außerdem konnte ich dabei endlich mal das State Machine Framework von QT benutzen – gefällt mir echt gut 🙂 Im Grunde klickt man sich in der App durch eine Liste von Zuständen, in denen man sich befinden kann wie z.B. Abwesend, auf Arbeit, an einem Auftrag oder Pause. Informationen über jeden Zustandswechsel werden (mit Uhrzeit) an den Webserver geschickt. Außerdem erfasst die App die Aktuelle Position und sendet diese ebenfalls an den Server
Die Auswertesoftware ist leider noch nicht ganz so weit. Einiges funktioniert aber schon ganz gut. Erstmal waren einige Konfigurationsmöglichkeiten nötig wie die Namen der Monteure oder eine Liste mit Aufträgen. Aufträge die aktiv gesetzt sind werden in der App zur Auswahl angeboten. Das war nötig, weil manche Aufträge vielleicht schon abgeschlossen sind aber die Informationen für die Auswertung noch gebraucht werden. Model/View Programmierung in QT ist übrigens traumhaft 🙂
Ein echter Hingucker ist die mit QWebFrame eingebettete Google-Maps-Karte in der die Positionen für einen jeweiligen Monteur und Datum angezeigt werden können.
Statt der vielen Marker möchte ich in Zukunft Linien zeichnen und nur Marker verwenden, wenn sich an einer Position der Zustand geändert hat.
Das wird dann auch in der Liste angezeigt in der im Moment für jeden Marker recht einfallslos nur Test steht.
Die Auswertung der Zeiten fehlt im Moment leider noch komplett. Wird aber bald folgen.
Update: Zeiterfassung ist jetzt auch fertig
Update 2:
In der letzten Zeit hat sich einiges getan.
Nach dem gescheiterten Versuch die App aufs Bastis IPhone zu bringen (Apple besteht auf 99$ pro Jahr, die wir nicht ausgeben möchten) hat er sich jetzt ein Android Tablet mit SIM-Karte besorgt und liefert mir jetzt täglich neue Daten und Ideen 🙂
Es gibt jetzt keine Aufträge mehr, sondern die Zeiten werden direkt auf einen Kunden gebucht. Die Kunden lassen sich mittlerweile aus der SHK-Software als CSV exportieren und in ZechaTnT importieren.
(kein Screenshot, da wir schon mit echten Kundendaten arbeiten)
Da wir jetzt auch die Adressen der Kunden haben lässt sich einfach aus der App heraus, mit einem Klick, eine Navigation zum Kunden starten.
Die Karte sieht jetzt auch etwas übersichtlicher aus:
Für das Drucken der Zeiterfassungsbögen hab ich mir LimeReport etwas genauer angeschaut. Coole Bibliothek