From 2d70624bd808e31e2f686da9d019e10852823373 Mon Sep 17 00:00:00 2001 From: Daniel Spitzer Date: Sun, 9 Jun 2024 18:08:20 +0200 Subject: [PATCH] Zeiterfassung Update * Feature Update Urklaubsaufbuchung/Minderung im BMD Import --- .../TimerecordingBillingController.php | 10 ++++++ .../TimerecordingBillingEmployeeModel.php | 1 + .../TimerecordingReportController.php | 6 ++++ ...ng_billing_employee_add_field_holidays.php | 31 +++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 db/migrations/20240609154956_timerecording_billing_employee_add_field_holidays.php diff --git a/application/TimerecordingBilling/TimerecordingBillingController.php b/application/TimerecordingBilling/TimerecordingBillingController.php index cb07db932..6b2bbe3c4 100644 --- a/application/TimerecordingBilling/TimerecordingBillingController.php +++ b/application/TimerecordingBilling/TimerecordingBillingController.php @@ -336,6 +336,16 @@ class TimerecordingBillingController extends mfBaseController fputcsv($file, $bodyarray, ";"); } } + if ($timerecordingBillingEmployee->holidays>0) { + //last day of month + + $month= strtotime("01." . $month); + $monthend = date("d.m.Y", strtotime("last day of this month", $month)); + + $bodyarray = [$companybmd, $employee_number, 1, "1", "", "4", $monthend, $monthend, $timerecordingBillingEmployee->holidays, '0']; + fputcsv($file, $bodyarray, ";"); + + } } if ($timerecordingBillingEmployee->diet > 0 && $nlz == 0) { $dietsum = round($timerecordingBillingEmployee->diet, 2); diff --git a/application/TimerecordingBillingEmployee/TimerecordingBillingEmployeeModel.php b/application/TimerecordingBillingEmployee/TimerecordingBillingEmployeeModel.php index a869cdd0a..e5525e01c 100644 --- a/application/TimerecordingBillingEmployee/TimerecordingBillingEmployeeModel.php +++ b/application/TimerecordingBillingEmployee/TimerecordingBillingEmployeeModel.php @@ -19,6 +19,7 @@ class TimerecordingBillingEmployeeModel private $diet; private $nlz; private $nlz_detail; + private $holidays; private $transfer_plushours; private $transfer_overtime; private $transfer_bpahours; diff --git a/application/TimerecordingReport/TimerecordingReportController.php b/application/TimerecordingReport/TimerecordingReportController.php index 3015dca1d..5c89d7ac8 100644 --- a/application/TimerecordingReport/TimerecordingReportController.php +++ b/application/TimerecordingReport/TimerecordingReportController.php @@ -765,6 +765,12 @@ private $holidays ; $end = "-"; $day = $daysgerm[date("w", $timerecording->start)]; $sum = $timerecording->days . " Tage"; + if (!$daysum[$timerecording->timerecordingCategory->name]) { + $daysum[$timerecording->timerecordingCategory->name] = $timerecording->days; + } else { + $daysum[$timerecording->timerecordingCategory->name] = $daysum[$timerecording->timerecordingCategory->name] + $timerecording->days; + } + } else if ($timerecording->timerecordingCategory->hourday == 6) { $date = date("d.m.Y", $timerecording->start); $datadate = date("Y-m-d", $timerecording->start); diff --git a/db/migrations/20240609154956_timerecording_billing_employee_add_field_holidays.php b/db/migrations/20240609154956_timerecording_billing_employee_add_field_holidays.php new file mode 100644 index 000000000..6b31a8cf7 --- /dev/null +++ b/db/migrations/20240609154956_timerecording_billing_employee_add_field_holidays.php @@ -0,0 +1,31 @@ +getEnvironment() == "thetool") { + $table = $this->table("TimerecordingBillingEmployee", ["signed" => true]); + $table->addColumn("holidays", "integer", ["null" => false, "default" => 0, "after" => "nlz_detail"]); + $table->update(); + } + + if($this->getEnvironment() == "addressdb") { + + } + } + + public function down(): void + { + if($this->getEnvironment() == "thetool") { + $this->table("TimerecordingBillingEmployee")->removeColumn("holidays")->save(); + } + + if($this->getEnvironment() == "addressdb") { + + } + } +}