AddOn/Datenexport_Zeiterfassung/TimeTrackingAPI.php aktualisiert

This commit is contained in:
olaf.braun 2025-06-26 23:56:47 +02:00
parent 3e6dff7e1b
commit 19f0806b2d
1 changed files with 0 additions and 46 deletions

View File

@ -88,50 +88,4 @@ class TimeTrackingAPI
return $response; return $response;
} }
public function parseCalDataToJson(string $csvData): array {
$lines = explode("\n", trim($csvData));
$result = ["userlist" => []];
foreach ($lines as $line) {
$fields = str_getcsv($line, ';');
if (count($fields) < 11) {
// Fehlerhafte Zeile
continue;
}
[$id, $nachname, $vorname, $datum, $email, $stunden1, $stunden2, $grund1, $grund2, $wochentagNr, $wochentagName] = $fields;
// Benutzerstruktur initialisieren
if (!isset($result["userList"][$email])) {
$result["userlist"][$email] = [
"absencList" => [],
"publicholidayList" => []
];
}
// Feiertag erkennen: keine Stunden, kein Grund, aber Feiertagsname vorhanden
$isHoliday = empty($stunden1) && empty($grund1) && !is_numeric($wochentagName);
if ($isHoliday) {
$result["userlist"][$email]["publicholidayList"][] = [
"name" => $wochentagName,
"nr" => (int)$wochentagNr,
"date" => $datum
];
} elseif (!empty($grund1)) {
// Abwesenheit hinzufügen
$result["userlist"][$email]["absenclist"][] = [
"name" => $grund1,
"nr" => (int)$stunden1,
"date" => $datum,
"ersterHalptag" => true,
"zweiterHalbtag" => true
];
}
}
return $result;
}
} }