From 7caa5076002460579bfc9dd13204d24506cc929d Mon Sep 17 00:00:00 2001 From: Florian Pesth Date: Fri, 9 Feb 2024 05:52:35 +0100 Subject: [PATCH] ChangeSchicht and GetSchichtenForDienstForDay --- html/SQL.php | 26 ++++++++++++++++++--- html/SQL_old.php | 4 +++- html/testPDO.php | 60 +++++++++++++++++++++++++++++++++++++----------- 3 files changed, 72 insertions(+), 18 deletions(-) diff --git a/html/SQL.php b/html/SQL.php index cfd25f1..779abc0 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -628,6 +628,24 @@ function DeleteDienst($DienstID, $Rekursiv) } } +// ok +function GetSchichtenForDienstForDay($DienstID, $datestring) +{ + $db = DB::getInstance(); + $db->prepare(__METHOD__,"select Von, Bis, Soll, Name, Handy from Schicht left join EinzelSchicht using (SchichtId) left join Helfer using (HelferId) where DienstId=:id and Von<:von and Bis>:bis order by Von;"); + $unixtime = strtotime($datestring); + $db_erg = $db->execute(__METHOD__,[ + 'id' => $DienstID, + 'von' => date('Y-m-d', $unixtime + 24 * 60 * 60), + 'bis' => date('Y-m-d', $unixtime) + ]); + $db->onErrorDie(__METHOD__); + $schichten = $db->fetchAll(__METHOD__); + return $schichten; +} + + +// ok function GetSchichtenEinesDienstes($DienstID) { //$sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon FROM Schicht where DienstID=".$DienstID; @@ -639,16 +657,18 @@ function GetSchichtenEinesDienstes($DienstID) return $schichten; } -function ChangeSchicht($SchichtID, $Von, $Bis, $Soll) +// ok +function ChangeSchicht($SchichtID, $Von, $Bis, $Soll, $Dauer) { $db = DB::getInstance(); - $db->prepare(__METHOD__,"UPDATE Schicht SET Von=:von, Bis=:bis, Soll=:soll where SchichtID=:id"); + $db->prepare(__METHOD__,"UPDATE Schicht SET Von=:von, Bis=:bis, Soll=:soll, Dauer=:dauer where SchichtID=:id"); $db_erg = $db->execute(__METHOD__,[ 'von' => $Von, 'bis' => $Bis, 'soll' => $Soll, - 'id' => $SchichtID + 'id' => $SchichtID, + 'dauer' => $Dauer ]); $db->onErrorDie(__METHOD__); diff --git a/html/SQL_old.php b/html/SQL_old.php index 798b900..90ccc7c 100644 --- a/html/SQL_old.php +++ b/html/SQL_old.php @@ -656,7 +656,9 @@ function GetSchichtenForDienstForDay($db_link, $DienstID, $datestring) echo "GetDienste ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } - return $db_erg; + while($zeilen[] = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)); + array_pop($zeilen); + return $zeilen; } diff --git a/html/testPDO.php b/html/testPDO.php index 98a513d..cc432eb 100644 --- a/html/testPDO.php +++ b/html/testPDO.php @@ -3,6 +3,7 @@ session_start(); require_once 'SQL_old.php'; require_once 'SQL.php'; +// ok function TestCreateHelfer(){ $dbl = old\ConnectDB(); $erg_old = old\CreateHelfer($dbl, "Max Mustermann", "max@example.com", "+49123-45", "hola234"); @@ -14,6 +15,7 @@ function TestCreateHelfer(){ else echo "CreateHelfer ok\n"; } +// ok function TestHelferIstVorhanden(){ $dbl = old\ConnectDB(); $erg_old = old\HelferIstVorhanden($dbl, "max@example.com"); @@ -25,6 +27,7 @@ function TestHelferIstVorhanden(){ else echo "HelferIstVorhanden ok\n"; } +// ok function TestHelferLogin(){ $dbl = old\ConnectDB(); $erg_old = old\HelferLogin($dbl, "max@example.com", "hola234", 0); @@ -57,6 +60,7 @@ function TestHelferLogin(){ else echo "HelferLogin ok\n"; } +// ok function TestHelferListe(){ $dbl = old\ConnectDB(); $erg_old = old\HelferListe($dbl); @@ -68,6 +72,7 @@ function TestHelferListe(){ else echo "HelferListe ok\n"; } +// ok function TestHelferdaten(){ $dbl = old\ConnectDB(); HelferLogin("max@example.com", "hola234", 0); @@ -80,6 +85,7 @@ function TestHelferdaten(){ else echo "Helferdaten ok\n"; } +// ok function TestHelferdatenAendern(){ $dbl = old\ConnectDB(); HelferLogin("max@example.com", "hola234", 0); @@ -317,6 +323,7 @@ function TestBeteiligteHelfer(){ else echo "BeteiligteHelfer ok"; } +// ok function TestGetDienste(){ $dbl = old\ConnectDB(); $erg_old = old\GetDienste($dbl); @@ -328,6 +335,7 @@ function TestGetDienste(){ else echo "GetDienste ok\n"; } +// ok function TestGetDiensteChilds(){ $dienste = GetDienste(); $dbl = old\ConnectDB(); @@ -346,6 +354,7 @@ function TestGetDiensteChilds(){ else echo "GetDiensteChilds ok\n"; } +// ok function TestChangeDienst(){ $dienste = GetDienste(); HelferLogin("max3@example.com", "hola531", 0); @@ -359,6 +368,7 @@ function TestChangeDienst(){ else echo "ChangeDienst ok\n"; } +// ok function TestNewDienst(){ $dbl = old\ConnectDB(); HelferLogin("max3@example.com", "hola531", 0); @@ -371,6 +381,7 @@ function TestNewDienst(){ else echo "NewDienst ok\n"; } +// ok function TestDeleteDienst(){ $dbl = old\ConnectDB(); $dienste = GetDienste(); @@ -394,40 +405,59 @@ function TestGetDiensteForDay(){ else echo "GetDiensteForDay ok"; } +// ok function TestGetSchichtenForDienstForDay(){ + $dienste = GetDienste(); $dbl = old\ConnectDB(); - $erg_old = old\GetSchichtenForDienstForDay($dbl, $DienstID, $datestring); - $erg_new = GetSchichtenForDienstForDay($DienstID, $datestring); - if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ - echo "Old GetSchichtenForDienstForDay returns".var_export($erg_old, true)."\n"; - echo "New GetSchichtenForDienstForDay returns '".var_export($erg_new, true)."'\n"; + $erg_old_good = old\GetSchichtenForDienstForDay($dbl, $dienste[0]["DienstID"], "2024-02-16"); + $erg_new_good = GetSchichtenForDienstForDay($dienste[0]["DienstID"], "2024-02-16"); + $erg_old_bad = old\GetSchichtenForDienstForDay($dbl, $dienste[0]["DienstID"], "2024-02-15"); + $erg_new_bad = GetSchichtenForDienstForDay($dienste[0]["DienstID"], "2024-02-15"); + if((gettype($erg_old_good) != gettype($erg_new_good)) || ($erg_old_good != $erg_new_good)){ + echo "Old GetSchichtenForDienstForDay returns".var_export($erg_old_good, true)."\n"; + echo "New GetSchichtenForDienstForDay returns '".var_export($erg_new_good, true)."'\n"; } - else echo "GetSchichtenForDienstForDay ok"; + else if((gettype($erg_old_bad) != gettype($erg_new_bad)) || ($erg_old_bad != $erg_new_bad)){ + echo "Old GetSchichtenForDienstForDay returns".var_export($erg_old_bad, true)."\n"; + echo "New GetSchichtenForDienstForDay returns '".var_export($erg_new_bad, true)."'\n"; + } + else echo "GetSchichtenForDienstForDay ok\n"; } +// ok function TestGetSchichtenEinesDienstes(){ $dienste = GetDienste(); $dbl = old\ConnectDB(); - $erg_old = old\GetSchichtenEinesDienstes($dbl, $dienste[0]["DienstID"]); - $erg_new = GetSchichtenEinesDienstes($dienste[0]["DienstID"]); - if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ - echo "Old GetSchichtenEinesDienstes returns".var_export($erg_old, true)."\n"; - echo "New GetSchichtenEinesDienstes returns '".var_export($erg_new, true)."'\n"; + $erg_old_good = old\GetSchichtenEinesDienstes($dbl, $dienste[0]["DienstID"]); + $erg_new_good = GetSchichtenEinesDienstes($dienste[0]["DienstID"]); + $erg_old_bad = old\GetSchichtenEinesDienstes($dbl, 0); + $erg_new_bad = GetSchichtenEinesDienstes(0); + if((gettype($erg_old_good) != gettype($erg_new_good)) || ($erg_old_good != $erg_new_good)){ + echo "Old GetSchichtenEinesDienstes returns".var_export($erg_old_good, true)."\n"; + echo "New GetSchichtenEinesDienstes returns '".var_export($erg_new_good, true)."'\n"; + } + else if((gettype($erg_old_bad) != gettype($erg_new_bad)) || ($erg_old_bad != $erg_new_bad)){ + echo "Old GetSchichtenEinesDienstes returns".var_export($erg_old_bad, true)."\n"; + echo "New GetSchichtenEinesDienstes returns '".var_export($erg_new_bad, true)."'\n"; } else echo "GetSchichtenEinesDienstes ok\n"; } +// ok function TestChangeSchicht(){ + $dienste = GetDienste(); + $schichten = GetSchichtenEinesDienstes($dienste[0]["DienstID"]); $dbl = old\ConnectDB(); - $erg_old = old\ChangeSchicht($dbl, $SchichtID, $Von, $Bis, $Soll, $Dauer); - $erg_new = ChangeSchicht($SchichtID, $Von, $Bis, $Soll, $Dauer); + $erg_old = old\ChangeSchicht($dbl, $schichten[0]["SchichtID"], "2024-02-16T09:00", "2024-02-16T10:30", 1, "01:00"); + $erg_new = ChangeSchicht($schichten[1]["SchichtID"], "2024-02-16T10:30", "2024-02-16T12:00", 1, "01:00"); if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ echo "Old ChangeSchicht returns".var_export($erg_old, true)."\n"; echo "New ChangeSchicht returns '".var_export($erg_new, true)."'\n"; } - else echo "ChangeSchicht ok"; + else echo "ChangeSchicht ok\n"; } +// ok function TestNewSchicht(){ $dienste = GetDienste(); $dbl = old\ConnectDB(); @@ -521,4 +551,6 @@ TestChangeDienst(); TestGetDiensteChilds(); TestNewSchicht(); TestGetSchichtenEinesDienstes(); +TestChangeSchicht(); +TestGetSchichtenForDienstForDay(); ?>