Zeiterfassung Update/Bugfixes

* Homeofficetage werden wenn sie in Kombination mit Arztbesuch/Anwesenheiten nun richtig berechnet
 * Verrechnungsübersicht zeigt nun historisch BP/Gutstunden und Mehrstunden
 * Aufbuchen und Mindern wird nun in Verrechnet bei den NLZs angezeigt
This commit is contained in:
Daniel Spitzer
2024-07-08 19:31:57 +02:00
parent 7e65c7929c
commit 6b3412afe6
6 changed files with 75 additions and 40 deletions
@@ -41,7 +41,7 @@ class TimerecordingBillingController extends mfBaseController
protected function overviewAction()
{
$timerecordingBillings = TimerecordingBillingModel::getAll();
$timerecordingBillingsEmployees = TimerecordingBillingEmployeeModel::getAll();
$timerecordingBillingsEmployees = TimerecordingBillingEmployeeModel::getAllOrderbyNameDate();
$this->layout()->setTemplate("TimerecordingBilling/Overview");
$this->layout()->set("timerecordingbillings", $timerecordingBillings);
$this->layout()->set("timerecordingbillingsemployees", $timerecordingBillingsEmployees);
@@ -224,9 +224,9 @@ class TimerecordingBillingController extends mfBaseController
$file = fopen("php://output", 'w');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=' . $filename);
$monthunix=(strtotime("01." .$month));
$monthunix = (strtotime("01." . $month));
$monthbmd = date("n", $monthunix);
$monthend = date("d.m.Y", strtotime("last day of this month",$monthunix));
$monthend = date("d.m.Y", strtotime("last day of this month", $monthunix));
$companybmd = "1";
if ($nlz == 0) {
$headerarray = ["Monat", "Firma", "Mitarbeiter", "Lohnart", "Menge", "Satz", "Betrag", "Kostenstelle", "NLZ-Kennzeichen", "NLZ Von-Datum", "NLZ Bis-Datum"];
@@ -333,16 +333,16 @@ class TimerecordingBillingController extends mfBaseController
} else {
if ($timerecordingBillingEmployee->nlz_detail) {
foreach (json_decode($timerecordingBillingEmployee->nlz_detail, true) as $nlztime) {
$bodyarray = [$companybmd, $employee_number, 1, $nlztime['categoryshort'], $nlztime['catExtended'], "3", $nlztime['start'], $nlztime['end'], $nlztime['time'], $nlztime['pay']];
fputcsv($file, $bodyarray, ";");
if ($nlztime['categoryshort'] != "99") {
$bodyarray = [$companybmd, $employee_number, 1, $nlztime['categoryshort'], $nlztime['catExtended'], "3", $nlztime['start'], $nlztime['end'], $nlztime['time'], $nlztime['pay']];
fputcsv($file, $bodyarray, ";");
}
}
}
if ($timerecordingBillingEmployee->holidays>0) {
if ($timerecordingBillingEmployee->holidays > 0) {
//last day of month
$bodyarray = [$companybmd, $employee_number, 1, "1", "", "4", $monthend, $monthend, $timerecordingBillingEmployee->holidays, '0'];
fputcsv($file, $bodyarray, ";");
@@ -584,11 +584,8 @@ class TimerecordingBillingController extends mfBaseController
if ($timerecording['homeoffice']) {
$data['homeoffice'] = $timerecording['homeoffice'];
}
if (!$data['diet']) {
$data['diet'] = 0;
}
$timerecordingbillingemployee = TimerecordingBillingEmployeeModel::create($data);