Merge branch 'spidev' into 'master'

Zeiterfassung Feature Updates

See merge request fronk/thetool!2096
This commit is contained in:
Daniel Spitzer
2026-02-13 07:40:49 +00:00
7 changed files with 372 additions and 7 deletions

View File

@@ -711,7 +711,7 @@ foreach ($devicesall as $deviceall) {
</div>
</div>
</div>
<?php if ($devices->devicetype->devicemanufactor->config_backup):
<?php if ($devices->devicetype->devicemanufactor->config_backup > 0):
$year = date("Y", time());
$month = date("n", time());

View File

@@ -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;

View File

@@ -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;

View File

@@ -56,6 +56,26 @@
</form>
</div>
</div>
<div class="feature col-lg-6 card h-100 mt-3">
<div class="card-body">
<form class="form-horizontal" method="post"
action="<?= self::getUrl("TimerecordingReportExport", "generateworkdaysdetail") ?>">
<h3 class="fs-2 text-body-emphasis">Soll/Ist Detail Auswertung <i
class="fa-duotone fa-solid fa-file-xls fa-xls-calendar"></i></h3>
<p>Hier wird eine XLS Auswertung pro Mitarbeiter generiert mit Soll, Ist und Differenz für jeden Arbeitstag im Monat.<br>
</p>
<div class="row">
<div class="input-group col-12 col-lg-6">
<input type="month" name="month" class="form-control" value="<?= date('Y-m'); ?>" aria-label="Monat">
<button class="btn btn-outline-secondary" type="submit">Auswerten</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>