2017 API

Brun Simon

Internes Zeiterfassungstool mit Anbindung Ticketsystem

Durchführung: 13.03.2017 bis 13.04.2017

Einleitung

Zur internen Zeiterfassung in der Corona Informatik AG wird momentan eine in Eigenentwicklung entstandene Software verwendet. Diese Basiert auf einem Microsoft Access Interface das auf eine SQL Server 2008 Datenbank zugreift. Das Ziel meines Projekts ist es, diese in die Jahre gekommene Applikation durch eine neues in C# erstelltes Programm zu ersetzen. Da das alte Programm sehr umfangreich war wird vorerst nur die Grundfunktionalität umgesetzt, so dass ich auf dieser Basis im weiteren Verlauf meines Praktikums Erweiterungen durchführen kann. Ausserdem Teil dieses Projekte ist es, Die zwei Datenbanken des Ticketsystems und der Zeiterfassung zusammenzuführen.
Seit der Erstellung der ersten Zeiterfassung hat sich auch unser Hauptprodukt stark weiterentwickelt im Zuge dessen wurde ein Framework für alle unsere Anwendungen erstellt, auch dieses muss ich bei der Entwicklung korrekt anwenden.

Umsetzung
Der erste Arbeitsschritt war die Migration der Datenbank, ihre Struktur wurde so verändert, dass sie nun Framework konform ist (Beispielsweise eine Spalte, die das Änderungsdatum eines Eintrages erfasst). Dann wurden die Zeiterfassungs DB und die Ticket DB zusammengefügt, dies erfolgte durch von mir erstellte SQL Scripts, die die notwendigen Änderungen durchführen. Diese Zusammenführung hat vor allem den Zugang zum Ticketsystem stark erleichtert, da nun nur noch auf eine Datenbank selektiert werden muss. Bei dem Erstellen der Applikation konnte ich die Anwendung auch designtechnisch stark verbessern, die alte Anwendung war ja doch schon ein wenig in die Jahre gekommen.

Der Login wird beim Starten der Applikation automatisch aufgrund des Windowslogins gesetzt. Danach werden die zum heutigen Tag passenden Zeiteinträge in der Liste angezeigt. Durch diese Liste kann mit der Datumsauswahl und den dazugehörigen Buttons navigiert werden. Im oberen Teil der Anwendung werden ausserdem einige wichtige Eckwerte angezeigt. So etwa die Tages soll- und ist Zeiten, an welchen man ablesen kann wie viele Stunden man heute bereits geleistet hat sowie wie viele noch zu leisten sind. Die Details eines Eintrages können mit einem Doppelklick auf selbigen angezeigt werden. Ein neuer Eintrag kann durch einen Klick auf den Button unten rechts erstellt werden.


Funktionalität

- Datenbankkonsolidierung/Datenbankdesign
- Automatische Mitarbeiterauswahl aufgrund Windowslogin
- Feriensaldoanzeige
- Tagessollzeitanzeige
- Zeitsaldo anzeige
- Neuer Zeiteintrag erstellen
- Beginnzeit und Endzeit als optionale Eingabe
- Interne Zeit in 15-Minuten Schritte (0.25 = 15 Minuten)
- Externe Zeit in 15-Minuten Schritte (0.25 = 15 Minuten) wird automatisch aus der internen Zeit übernommen
- Kundenauswahl
- Projektauswahl
- Aufgabenauswahl
- Kontaktperson Kunde
- Verrechenbarkeit
- Ticketauswahl
- Zeitartauswahl
- Bemerkung extern
- Bemerkung intern
- Einträge kopieren
- Einträge löschen
- Stoppuhr