From c3ebfdfd2a97b4aae18bcc42c5089be4a5ed5f8b Mon Sep 17 00:00:00 2001 From: Spitzer Daniel Date: Mon, 1 Apr 2024 17:35:38 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Zeiterfassungs=20Update=20=20*=20neue=20Mig?= =?UTF-8?q?ration=20f=C3=BCr=20Personaladministration=20(Aktive=20Verrechn?= =?UTF-8?q?ung)=20=20*=20Verrechnung=20Anpassungen=20Black=20P.=20=20*=20s?= =?UTF-8?q?uperexpertEnabled=20Implementation=20Verrechnung/Personaladmini?= =?UTF-8?q?stration=20=20*=20Personaladministration=20(Aktive=20Verrechnun?= =?UTF-8?q?g/Zeiterfassung=20Enddatum)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default/TimerecordingBilling/Detail.php | 16 ++++++++-- Layout/default/TimerecordingEmployee/Form.php | 20 ++++++++++++ .../default/TimerecordingEmployee/Index.php | 27 +++++++++++++--- Layout/default/TimerecordingReport/Index.php | 18 +++++------ .../TimerecordingBillingController.php | 2 ++ .../TimerecordingEmployeeController.php | 8 +++++ .../TimerecordingEmployeeModel.php | 2 ++ .../TimerecordingReportController.php | 3 ++ ...9_timerecording_employee_add_field_bmd.php | 31 +++++++++++++++++++ 9 files changed, 112 insertions(+), 15 deletions(-) create mode 100644 db/migrations/20240401144219_timerecording_employee_add_field_bmd.php diff --git a/Layout/default/TimerecordingBilling/Detail.php b/Layout/default/TimerecordingBilling/Detail.php index 75f4c5e8f..a2da97b7b 100644 --- a/Layout/default/TimerecordingBilling/Detail.php +++ b/Layout/default/TimerecordingBilling/Detail.php @@ -38,6 +38,9 @@ Sollabweichung Akuelle Gutstunden Akuelle Überstunden + superexpertEnabled()): ?> + Black P. Stunden + Nichtleistungszeiten Diäten Homeoffice Tage @@ -50,6 +53,9 @@ + superexpertEnabled()): ?> + + @@ -75,7 +81,7 @@ } $offdays .= ""; } else { - $offdays = "keine"; + $offdays = "-"; } ?> @@ -91,6 +97,10 @@ class="text-center"> + superexpertEnabled()): ?> + + Tag(e) @@ -108,7 +118,9 @@ diff --git a/Layout/default/TimerecordingBilling/DetailClosed.php b/Layout/default/TimerecordingBilling/DetailClosed.php new file mode 100644 index 000000000..a0ecc6bf0 --- /dev/null +++ b/Layout/default/TimerecordingBilling/DetailClosed.php @@ -0,0 +1,325 @@ + + + + +
+
+
+
+ +
+

Verrechnung/Abrechnung

+
+
+
+ + +
+
+
+
+
+

Liste aller Mitarbeiter

+
+
+
+ + + + + + + + + + + superexpertEnabled()): ?> + + + + + + + + + + + + + + + superexpertEnabled()): ?> + + + + + + + + + + + timerecordingEmployee->user->id); + $employee_number = (string)$user->getFlag('employee_number'); + unset ($nlz); + if ($timerecording->nlz) { + $nlz_details = json_decode($timerecording->nlz, true); + foreach ($nlz_details as $key => $nlz_detail) { + if ($nlz_detail < 100) { + $nlz .= $key . ": " . $nlz_detail . " Tag(e)
"; + } else { + $nlz .= $key . ": " . round($nlz_detail / 3600, 2) . " Stunden
"; + } + } + + } else { + $nlz = ""; + } + ?> + + + + + + + + + superexpertEnabled()): ?> + + + + + + + + + +
Mitarbeiter/PersNr.LeistungszeitenNichtleistungszeitenIststunden (NLZ+LZ)SollstundenSollabweichungGesamt ÜberstundenBlack P. StundenÜ50Ü100DiätenHomeoffice
( + ) timerecordingEmployee->user->name ?> ishours / 3600, 2), "2", ",", ".") ?>ishourssum / 3600, 2), "2", ",", ".") ?>musthours / 3600, 2), "2", ",", ".") ?>ishourssum - $timerecording->musthours) == 0) ? '
' : '' ?>ishourssum - $timerecording->musthours) / 3600, 2), "2", ",", ".") ?> + ishourssum - $timerecording->musthours) > 0) ? '' : '
' ?>
timerecordingEmployee->overtime_now == 0) ? '
' : '' ?>timerecordingEmployee->overtime_now / 3600, 2), "2", ",", ".") ?> + timerecordingEmployee->overtime_now > 0) ? '' : '
' ?>
timerecordingEmployee->bpahours / 3600, 2), "2", ",", ".") ?>overtime50free / 3600, 2), "2", ",", ".") ?>overtime100free / 3600, 2), "2", ",", ".") ?>diet, 2, ',', '.') . " €" ?>homeoffice ?> Tag(e)
+ +
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/Layout/default/TimerecordingBilling/Index.php b/Layout/default/TimerecordingBilling/Index.php index 81fb23d56..a6e85d515 100644 --- a/Layout/default/TimerecordingBilling/Index.php +++ b/Layout/default/TimerecordingBilling/Index.php @@ -1,77 +1,94 @@ - - -
-
-
-
- + + +
+
+
+
+ +
+

Zeiterfassung Verrechnung/Abrechnung

-

Zeiterfassung Verrechnung/Abrechnung

-
- + -
-
-
-
-
-

Liste aller Abrechnungsmonate

+
+
+
+
+
+

Liste aller Abrechnungsmonate

+
-
- - - - - - - - - - - - - - - - - +
MonatAbgeschlossenAbgeschlossen amAbgeschlossen von
+ - - - - + + + + - - -
$month]) ?>"> MonatAbgeschlossenAbgeschlossen amAbgeschlossen von
+ + + + + + + + + closetime; + $closetime = date("d.m.Y H:i", $closetime); + $closer = $timerecordingbillings[ltrim($month, "0")]->creator->name; + $closed = "Ja"; + + } else { + $closetime = ""; + $closer = ""; + $closed = "Nein"; + } + ?> + + $month]) ?>"> + + + + + + + + + +
+
-
- -
-
+
- - + }); + + \ No newline at end of file diff --git a/Layout/default/TimerecordingCar/Detail.php b/Layout/default/TimerecordingCar/Detail.php index 023e4cf51..1c147c8ee 100644 --- a/Layout/default/TimerecordingCar/Detail.php +++ b/Layout/default/TimerecordingCar/Detail.php @@ -67,10 +67,11 @@ $approval = date("m/Y", $firstApproval); first_approval) ? $timerecordingcar->first_approval . " Jahr(en)" : "-" ?> - Fahrtenbuch - timerecording) ? "Ja" : "Nein" ?> + Fahrzeugverwalter + user_id) ? $timerecordingcar->user->name : "-" ?> +
@@ -85,6 +86,10 @@ $approval = date("m/Y", $firstApproval);
+ + + + diff --git a/Layout/default/TimerecordingCar/Form.php b/Layout/default/TimerecordingCar/Form.php index 070fdd9b9..bc8f624f6 100644 --- a/Layout/default/TimerecordingCar/Form.php +++ b/Layout/default/TimerecordingCar/Form.php @@ -4,6 +4,10 @@ if (isset($_GET['returnto']) && $_GET['returnto'] == "detail") { } else { $cancelUrl = self::getUrl("TimerecordingCar"); } +foreach ($timerecordingusers as $timerecordinguser) { + $timerecordingUsers[$timerecordinguser->name] = $timerecordinguser->id; +} +ksort($timerecordingUsers); ?> @@ -46,6 +50,20 @@ if (isset($_GET['returnto']) && $_GET['returnto'] == "detail") { value="number_plate ?>"/> +
+ +
+ +
+ +
diff --git a/Layout/default/TimerecordingCar/Index.php b/Layout/default/TimerecordingCar/Index.php index 746bf1f7f..31c0e5bbb 100644 --- a/Layout/default/TimerecordingCar/Index.php +++ b/Layout/default/TimerecordingCar/Index.php @@ -41,6 +41,7 @@
+ @@ -58,6 +59,7 @@ + @@ -78,6 +80,7 @@ + @@ -105,9 +108,9 @@
Fahrtenbuchtimerecording) ? "Ja" : "Nein" ?>
Erstzulassung initial_approval) ? date("m/Y", $timerecordingcar->initial_approval) : "-" ?>
KennzeichenFahrzeugverwalter Marke Model/Typ Erstzulassssung
$timerecordingcar->id]) ?>"> number_plate ?> user_id) ? $timerecordingcar->user->name : "-" ?> brand ?> model ?> initial_approval) ? date("m/Y", $timerecordingcar->initial_approval) : "-" ?>