Skip to content

Anwendung zum Exportieren von Abweseinheiten für die Buchhaltung der heco

Notifications You must be signed in to change notification settings

co-IT/coIT.Toolkit.AbsencesExport

Repository files navigation

coIT.Toolkit.AbsencesExport

.Net Winforms Tool um Zeiterfassungen (Abwesenheiten) von TimeCard nach GDI oder Clockodo nach GDI zu exportieren

Bild der AbsencesExport Anwendung

Bild der AbsencesExport Anwendung

Anleitung

Ersteinrichtung

.msi-Datei von GitHub Releases herunterladen und installieren

Wichtig: Es muss der verschlüsselte Datenbank ConnectionString als Benutzer-Umgebungsvariable COIT_TOOLKIT_DATABASE_CONNECTIONSTRING zur Verfügung stehen.

Updates

Beim Programmstart wird in den GitHub Releases automatisch nach Updates gesucht und diese installiert.

Exportmöglichkeiten

Der Anwender kann abwesenheitstypen auf 3 verschiedene Zustände Mappen:

  1. Ausgeschlossene Verknüpfung (Wird gar nicht in der Tabelle angezeigt)
  2. Verknüpfung ohne Export (Wird in der Tabelle angezeigt aber nicht im Export übernommen)
  3. Verknüpfung mit Export (Wird in der Tabelle angezeigt und landet in der Export Datei)

Je nach Workflow kann man sich verschiedene Konfigurationen vorbereiten und nach Bedarf zwischen ihnen wechseln.

Development

Deployment

Wenn eine neue Version released werden soll, muss nur ein neuer GitHub Release mit einem Tag im Format x.x.x erstellt werden.

Das Deployment startet daraufhin in einer GitHub Action durch den gepushten Tag automatisch.

Die .NET Version für den Publish workflow wird in der global.json festgelegt und muss in der Zukunft eventuell angepasst werden.

nuget-Packages

Um die notwendigen Packages aus dem privaten Package-Manager der co-IT aus GitHub zu laden, wird eine eigene nuget.config benötigt.

  1. Stelle sicher, dass die GitHub Cli bei dir installiert ist (winget)
  2. Falls du bisher noch nie eine nuget.config anlegen musstest führe gh auth login --scopes read:packages aus und verknüpfge deinen GitHub Account
  3. Lege eine nuget.config Datei mit dem folgenden Inhalt an
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
        <add key="github" value="https://nuget.pkg.github.com/co-IT/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="{Nutzername}" />
            <add key="ClearTextPassword" value="{Token}" />
        </github>
    </packageSourceCredentials>
</configuration>
  1. Führe gh api user -q ".login" aus und ersetze {Nutzername} in der nuget.config mit dem Ergebnis
  2. Führe gh auth token aus und ersetze {Token} in der nuget.config mit dem Ergebnis

In Zukunft, kannst du diese nuget.config auch für andere Tools und Projekte nutzen, die Zugriff auf den co-IT GitHub package manager benötigen und musst nicht mehr den Schritten von oben folgen

ToDos

  • JSON mit Clodotypen entfernen und dafür direkt abrufen

Hierzu kann man beziehungen Festlegen und für einen gewissen Zeitraum die Daten exportieren.

Programmaufbau

Ordner:

  • config
    • Hier liegen Json Konfigurations Dateien um mit den APIs von Clockodo, Timecard und GDI zu kommunizieren
  • Configuration
    • Hier werden die Konfiguration ins Programm geladen
  • Mapping
    • Hier werden die Daten zusammengeführt
  • Specifications
  • UserForms
    • Hier liegen die einzelnen WindowsFormsFenster

Konfiguration

Für die Abfrage über die API muss man Für Clockodo und Timecard einen API Schlüssel und API Benutzter mitgeben.

die Konfigurationen liegen auf unterschiedlichen pfaden

Clockodo Konfiguration: config/clockodo-settings.json Timecard Konfigurationen: config/timecard-settings.json GDI Konfiguration: config/gdi-settings.json

Clockodo-GDI-Mapping (Verknüpfungen): config/clockodo-mapping-settings.json Timecard-GDI-Mapping (Verknüpfungen): config/timecard-mapping-settings.json

Filter

TimeCard:

  • Artzbesuch
  • Todefall 1.Grad
  • Dienstgang
  • JAZ
  • Istzeit
  • Krank
  • Pause
  • Schule
  • Sollzeit
  • Urlaub
  • Zeitausgleich (nicht nutzen)
  • Feiertag
  • Eigene Hochzeit
  • Kind Krank
  • Home Office
  • Urlaub Umzug
  • Im Haus
  • Dienstreise
  • Kundenbesuch
  • Krank ohne Krankenschein
  • Krank mit Krankenschein
  • Abwesenheit Teilzeitkraft

Clockodo:

  • Normaler Urlaubtag
  • Sonderurlaub
  • Überstundenabbau
  • Krankheit
  • Krankheit eines Kindes
  • Schule / Weiterbildung
  • Mutterschutz
  • Home Office -Arbeit außer Haus
  • Sonderurlaub
  • Krankheit (unbezahlt)
  • Krankheit eines Kindes (unbezahlt)
  • Quarantäne
  • Militär-/ersatzdienst
  • eAU Übergangstyp

GDI:

  • Kind Krankheit
  • Erholungsurlaub
  • Sonderurlaub
  • Lohnfortzahlung mit AU
  • Bescheinigung (mit AAG) krank
  • Lohnfortzahlung ohne AU
  • Bescheinigung (mit AAG) krank

Extern benutzte Projekte/Libraries

Benutzt folgende Libraries:

  • coIT.Libraries.Clockodo-Old
  • coIT.Libraries.Gdi
  • coIT.Libraries.TimeCard

About

Anwendung zum Exportieren von Abweseinheiten für die Buchhaltung der heco

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages