Zeiterfassung Update

* Soll zeiten nun vom Startdatum abhängig
 * Neue Summierung der Sollzeiten in der Personalverwaltung
This commit is contained in:
Spitzer Daniel
2024-03-04 11:51:19 +01:00
parent c39f717267
commit cc00f70cd6
4 changed files with 92 additions and 25 deletions

View File

@@ -103,6 +103,8 @@ class TimerecordingEmployeeWorkingHourModel
$secondcounter = 0;
while ($data = $db->fetch_array($res)) {
$dayHours[$data['user_id']][$data['day']][] = $data['start'] . " - " . $data['end'];
if ($olduser != $data['user_id']) {
if ($counter > 0) {
$secondcounter = 0;
@@ -121,7 +123,6 @@ class TimerecordingEmployeeWorkingHourModel
if (!$datetimetext) {
$datetimetext = $daysshort[$data['day']];
}
echo $oldstart . $data['start'];
if (($oldstart != $data['start'] || $oldend != $data['end']) && $oldend) {
$datetimetext .= " - " . $daysshort[$oldday] . " " . $oldstart . " - " . $oldend;
$datetimetext .= "<br> " . $daysshort[$data['day']];
@@ -139,6 +140,51 @@ class TimerecordingEmployeeWorkingHourModel
$datetimetext = TimerecordingEmployeeWorkingHourModel::cleardays($datetimetext);
$items[$olduser]['datetimetext'] = $datetimetext;
}
foreach ($dayHours as $key => $dayHour) {
foreach ($dayHour as $key2 => $dayHour2) {
$dayhours[$key][$key2] = implode("<br>", $dayHour2);
}
}
foreach ($dayhours as $key => $dayhour) {
$oldday = false;
$oldstring = false;
$counter = 0;
$oldkey = false;
$oldkey2 = false;
foreach ($dayhour as $key2 => $dayhour2) {
if ($oldday != $key2) {
if ($oldstring != $dayhour2 || $key2!=$oldkey2+1) {
if ($oldkey2) {
$daysitems[$key][$counter]['end'] = $oldkey2;
$counter++;
}
$daysitems[$key][$counter]['start'] = $key2;
}
$daysitems[$key][$counter]['string'] = $dayhour2;
}
$oldkey2 = $key2;
$oldkey = $key;
$oldstring = $dayhour2;
}
$daysitems[$key][$counter]['end'] = $key2;
}
foreach ($daysitems as $key => $daysitem) {
$datetimetext = "";
foreach ($daysitem as $key2 => $daysItem) {
if ($daysItem['start'] != $daysItem['end']) {
$datetimetext .= '<div class="d-table border-bottom border-dark"><div class="d-table-cell w-50 align-middle pr-2 ">' . $daysshort[$daysItem['start']] . "-" . $daysshort[$daysItem['end']] . '</div><div class="d-table-cell">' . $daysItem['string'] . '</div></div>';
} else {
$datetimetext .= '<div class="d-table border-bottom border-dark"><div class="d-table-cell w-50 align-middle pr-2 ">' . $daysshort[$daysItem['start']] . '</div><div class="d-table-cell">' . $daysItem['string'] . '</div></div>';
}
}
$items[$key]['datetimetext'] = $datetimetext;
}
return $items;
}
@@ -153,7 +199,6 @@ class TimerecordingEmployeeWorkingHourModel
public static function getFirst()
{
$db = FronkDB::singleton();
$where = self::getSqlFilter($filter);
$res = $db->select("TimerecordingEmployeeWorkingHour", "*", "$where ");
if ($db->num_rows($res)) {