Zeiterfassung Feature Updates

* Reports wurde um Soll/Ist Detail Auswertung erweitert
* Nachtzulage wird nun auch in der Verrechnungsübersicht angezeigt
* M25,Ü50,Ü100 werden nun in Stichtagsauswertung mit berechnet
* Bei der offenen Arbeitstage Auswertung wird nun die Arbeitszeitverschiebung rausgerechnet
This commit is contained in:
Daniel Spitzer
2026-02-13 08:39:15 +01:00
parent ae73d9be4d
commit b81ea45823
6 changed files with 371 additions and 6 deletions
@@ -40,6 +40,7 @@
<th class="text-center">Sollabweichung</th>
<th class="text-center">Akuelle Gutstunden</th>
<th class="text-center">Akuelle Überstunden</th>
<th class="text-center">Nachtzulage</th>
<?php if ($me->superexpertEnabled()): ?>
<th class="text-center">Black P. Stunden</th>
<?php endif; ?>
@@ -55,6 +56,7 @@
<th></th>
<th></th>
<th></th>
<th></th>
<?php if ($me->superexpertEnabled()): ?>
<th></th>
<?php endif; ?>
@@ -101,6 +103,8 @@
class="text-center"><?= $timerecording['data']['time']['plushours_now'] ?></td>
<td data-order="<?= $timerecording['data']['time']['overtime_noworder'] ?>"
class="text-center"><?= $timerecording['data']['time']['overtime_now'] ?></td>
<td data-order="<?= $timerecording['data']['time']['overtimes']['nightAllowance'] ?>"
class="text-center"><?= number_format(round($timerecording['data']['time']['overtimes']['nightAllowance'] / 3600, 2), "2", ",", ".") ?></td>
<?php if ($me->superexpertEnabled()): ?>
<td data-order="<?= $timerecording['data']['time']['bpahours'] ?>"
class="text-center"><?= $timerecording['data']['time']['bpahours'] ?></td>
@@ -126,9 +130,9 @@
src="<?= self::getResourcePath() ?>datatables/DataTables-2x/datatables.min.js"></script>
<script type="text/javascript">
var hidesearch = [2, 3, 4, 5, 6, 8, 9];
var hidesearch = [2, 3, 4, 5, 6, 7, 9, 10];
<?php if ($me->superexpertEnabled()): ?>
hidesearch = [2, 3, 4, 5, 6, 7, 9, 10];
hidesearch = [2, 3, 4, 5, 6, 7, 8, 10, 11];
<?php endif; ?>
var pageLength = 100;
var initc=2;
@@ -144,6 +144,7 @@
<th title="Mehrstunden 25%" class="text-center min-w-70">M25</th>
<th title="Überstunden 50%" class="text-center min-w-70">Ü50</th>
<th title="Überstunden 100%" class="text-center min-w-70">Ü100</th>
<th title="Nachtzulage" class="text-center min-w-70">NZ</th>
<th class="text-center">Diäten</th>
<th class="text-center" title="Homeoffice">HO</th>
</tr>
@@ -164,6 +165,7 @@
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
@@ -219,6 +221,7 @@
class="text-center position-relative "><?= ($timerecording->overtime50free > 0) ? '<i class="fas fa-arrow-to-left change-overtime-50" data-toggle="modal" data-target="#overtimeModal" data-hours="' . number_format(round($timerecording->overtime50free / 3600, 2), "2", ",", ".") . '" data-id="' . $timerecording->id . '"></i>' : '' ?> <?= '<span class="filler-left">' . number_format(round($timerecording->overtime50free / 3600, 2), "2", ",", ".") ?></span></td>
<td data-order="<?= $timerecording->overtime100free ?>"
class="text-center position-relative "><?= ($timerecording->overtime100free > 0) ? '<i class="fas fa-arrow-to-left change-overtime-100" data-toggle="modal" data-target="#overtimeModal" data-hours="' . number_format(round($timerecording->overtime100free / 3600, 2), "2", ",", ".") . '" data-id="' . $timerecording->id . '"></i>' : '' ?> <?= '<span class="filler-left">' . number_format(round($timerecording->overtime100free / 3600, 2), "2", ",", ".") ?></span></td>
<td class="text-center"><?= number_format(round($timerecording->night_allowance / 3600, 2), "2", ",", ".") ?></td>
<td data-order="<?= $timerecording->diet ?>"
class="text-center"><?= number_format($timerecording->diet, 2, ',', '.') . " €" ?></td>
<td class="text-center"><?= $timerecording->homeoffice ?> T</td>
@@ -312,9 +315,9 @@
src="<?= self::getResourcePath() ?>datatables/DataTables-2x/datatables.min.js?<?= $git_merge_ts ?>"></script>
<script type="text/javascript">
var hidesearch = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
var hidesearch = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
<?php if ($me->superexpertEnabled()): ?>
hidesearch = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
hidesearch = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
<?php endif; ?>
var pageLength = 100;
var initc=3;