-IN ARBEIT- RuebigBMDSollzeitImport

Beschreibung

Importiert BMD-Abwesenheiten aus einer CSV-Datei und trägt sie je Mitarbeiter und Datum im Schichtkalender ein bzw. aktualisiert bestehende Einträge. Einsatzbereich: Personal- und Zeitdatenabgleich von BMD mit dem ERP-System (SCHICHTKALENDER).

Konfiguration

ImportBmdSollzeitSettings (Key-Präfix IMPORTBMDSOLLZEIT_)

Einstellung

Bedeutung

ImportFolder

Importpfad (Datei oder Verzeichnis mit *.csv)

DoneFolder

Zielordner für verarbeitete Dateien (inkl. Zeitstempel)

CopyLogToDoneFolder

Protokoll zusätzlich in DoneFolder schreiben

Importablauf

  1. Start per WpfInterfaces/Task mit dem Interface-Key ImportBmdSollzeit und der zugehörigen Konfiguration.

  2. CSV-Datei lesen (Semikolon-getrennt); die Kopfzeile wird übersprungen.

  3. Pro Zeile BookingID, EmployeeNumber und Date einlesen.

  4. Mitarbeiter anhand der EmployeeNumber suchen.

  5. SCHICHTKALENDER verarbeiten:

    • Bei vorhandenem Tag: Eintrag aktualisieren (Remark setzen, PlannedHours = 0 und HoursOccupied = 0).

    • Bei nicht vorhandenem Tag: neuen Eintrag anlegen.

  6. Fehler sammeln und reporten; bei Fehlern optional eine E-Mail versenden.

  7. Verarbeitete CSV-Dateien nach DoneFolder verschieben und mit einem Zeitstempel-Präfix versehen.

Aktiv verwendete Felder

Bereich

Feld

Verwendung

CSV

fields[0] (BookingID)

In SCHICHTKALENDER.REMARK als String gespeichert.

CSV

fields[1] (EmployeeNumber)

Mitarbeiterzuordnung über Employees.GetIndexFromNumber.

CSV

fields[2] (Date, Format dd.MM.yyyy)

Datum im Schichtkalender.

Ziel SCHICHTKALENDER

EMPLOYEEINX

Mitarbeiterreferenz.

Ziel SCHICHTKALENDER

DATUM

Kalendertag.

Ziel SCHICHTKALENDER

REMARK

Buchungs-ID.

Ziel SCHICHTKALENDER

PLANNEDHOURS

Wird auf 0 gesetzt.

Ziel SCHICHTKALENDER

HOURSOCCUPIED

Wird auf 0 gesetzt.

Ziel SCHICHTKALENDER

LOCKED

Bei Insert auf 0 gesetzt.