ChangeSchicht and GetSchichtenForDienstForDay

This commit is contained in:
Florian Pesth 2024-02-09 05:52:35 +01:00
parent bdada8a2d5
commit 7caa507600
3 changed files with 72 additions and 18 deletions

View File

@ -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) function GetSchichtenEinesDienstes($DienstID)
{ {
//$sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon FROM Schicht where DienstID=".$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; return $schichten;
} }
function ChangeSchicht($SchichtID, $Von, $Bis, $Soll) // ok
function ChangeSchicht($SchichtID, $Von, $Bis, $Soll, $Dauer)
{ {
$db = DB::getInstance(); $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__,[ $db_erg = $db->execute(__METHOD__,[
'von' => $Von, 'von' => $Von,
'bis' => $Bis, 'bis' => $Bis,
'soll' => $Soll, 'soll' => $Soll,
'id' => $SchichtID 'id' => $SchichtID,
'dauer' => $Dauer
]); ]);
$db->onErrorDie(__METHOD__); $db->onErrorDie(__METHOD__);

View File

@ -656,7 +656,9 @@ function GetSchichtenForDienstForDay($db_link, $DienstID, $datestring)
echo "GetDienste ungueltige Abfrage"; echo "GetDienste ungueltige Abfrage";
die('Ungueltige Abfrage: ' . mysqli_error($db_link)); die('Ungueltige Abfrage: ' . mysqli_error($db_link));
} }
return $db_erg; while($zeilen[] = mysqli_fetch_array($db_erg, MYSQLI_ASSOC));
array_pop($zeilen);
return $zeilen;
} }

View File

@ -3,6 +3,7 @@ session_start();
require_once 'SQL_old.php'; require_once 'SQL_old.php';
require_once 'SQL.php'; require_once 'SQL.php';
// ok
function TestCreateHelfer(){ function TestCreateHelfer(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\CreateHelfer($dbl, "Max Mustermann", "max@example.com", "+49123-45", "hola234"); $erg_old = old\CreateHelfer($dbl, "Max Mustermann", "max@example.com", "+49123-45", "hola234");
@ -14,6 +15,7 @@ function TestCreateHelfer(){
else echo "CreateHelfer ok\n"; else echo "CreateHelfer ok\n";
} }
// ok
function TestHelferIstVorhanden(){ function TestHelferIstVorhanden(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\HelferIstVorhanden($dbl, "max@example.com"); $erg_old = old\HelferIstVorhanden($dbl, "max@example.com");
@ -25,6 +27,7 @@ function TestHelferIstVorhanden(){
else echo "HelferIstVorhanden ok\n"; else echo "HelferIstVorhanden ok\n";
} }
// ok
function TestHelferLogin(){ function TestHelferLogin(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\HelferLogin($dbl, "max@example.com", "hola234", 0); $erg_old = old\HelferLogin($dbl, "max@example.com", "hola234", 0);
@ -57,6 +60,7 @@ function TestHelferLogin(){
else echo "HelferLogin ok\n"; else echo "HelferLogin ok\n";
} }
// ok
function TestHelferListe(){ function TestHelferListe(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\HelferListe($dbl); $erg_old = old\HelferListe($dbl);
@ -68,6 +72,7 @@ function TestHelferListe(){
else echo "HelferListe ok\n"; else echo "HelferListe ok\n";
} }
// ok
function TestHelferdaten(){ function TestHelferdaten(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
HelferLogin("max@example.com", "hola234", 0); HelferLogin("max@example.com", "hola234", 0);
@ -80,6 +85,7 @@ function TestHelferdaten(){
else echo "Helferdaten ok\n"; else echo "Helferdaten ok\n";
} }
// ok
function TestHelferdatenAendern(){ function TestHelferdatenAendern(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
HelferLogin("max@example.com", "hola234", 0); HelferLogin("max@example.com", "hola234", 0);
@ -317,6 +323,7 @@ function TestBeteiligteHelfer(){
else echo "BeteiligteHelfer ok"; else echo "BeteiligteHelfer ok";
} }
// ok
function TestGetDienste(){ function TestGetDienste(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\GetDienste($dbl); $erg_old = old\GetDienste($dbl);
@ -328,6 +335,7 @@ function TestGetDienste(){
else echo "GetDienste ok\n"; else echo "GetDienste ok\n";
} }
// ok
function TestGetDiensteChilds(){ function TestGetDiensteChilds(){
$dienste = GetDienste(); $dienste = GetDienste();
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
@ -346,6 +354,7 @@ function TestGetDiensteChilds(){
else echo "GetDiensteChilds ok\n"; else echo "GetDiensteChilds ok\n";
} }
// ok
function TestChangeDienst(){ function TestChangeDienst(){
$dienste = GetDienste(); $dienste = GetDienste();
HelferLogin("max3@example.com", "hola531", 0); HelferLogin("max3@example.com", "hola531", 0);
@ -359,6 +368,7 @@ function TestChangeDienst(){
else echo "ChangeDienst ok\n"; else echo "ChangeDienst ok\n";
} }
// ok
function TestNewDienst(){ function TestNewDienst(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
HelferLogin("max3@example.com", "hola531", 0); HelferLogin("max3@example.com", "hola531", 0);
@ -371,6 +381,7 @@ function TestNewDienst(){
else echo "NewDienst ok\n"; else echo "NewDienst ok\n";
} }
// ok
function TestDeleteDienst(){ function TestDeleteDienst(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$dienste = GetDienste(); $dienste = GetDienste();
@ -394,40 +405,59 @@ function TestGetDiensteForDay(){
else echo "GetDiensteForDay ok"; else echo "GetDiensteForDay ok";
} }
// ok
function TestGetSchichtenForDienstForDay(){ function TestGetSchichtenForDienstForDay(){
$dienste = GetDienste();
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\GetSchichtenForDienstForDay($dbl, $DienstID, $datestring); $erg_old_good = old\GetSchichtenForDienstForDay($dbl, $dienste[0]["DienstID"], "2024-02-16");
$erg_new = GetSchichtenForDienstForDay($DienstID, $datestring); $erg_new_good = GetSchichtenForDienstForDay($dienste[0]["DienstID"], "2024-02-16");
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ $erg_old_bad = old\GetSchichtenForDienstForDay($dbl, $dienste[0]["DienstID"], "2024-02-15");
echo "Old GetSchichtenForDienstForDay returns".var_export($erg_old, true)."\n"; $erg_new_bad = GetSchichtenForDienstForDay($dienste[0]["DienstID"], "2024-02-15");
echo "New GetSchichtenForDienstForDay returns '".var_export($erg_new, true)."'\n"; 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(){ function TestGetSchichtenEinesDienstes(){
$dienste = GetDienste(); $dienste = GetDienste();
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\GetSchichtenEinesDienstes($dbl, $dienste[0]["DienstID"]); $erg_old_good = old\GetSchichtenEinesDienstes($dbl, $dienste[0]["DienstID"]);
$erg_new = GetSchichtenEinesDienstes($dienste[0]["DienstID"]); $erg_new_good = GetSchichtenEinesDienstes($dienste[0]["DienstID"]);
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ $erg_old_bad = old\GetSchichtenEinesDienstes($dbl, 0);
echo "Old GetSchichtenEinesDienstes returns".var_export($erg_old, true)."\n"; $erg_new_bad = GetSchichtenEinesDienstes(0);
echo "New GetSchichtenEinesDienstes returns '".var_export($erg_new, true)."'\n"; 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"; else echo "GetSchichtenEinesDienstes ok\n";
} }
// ok
function TestChangeSchicht(){ function TestChangeSchicht(){
$dienste = GetDienste();
$schichten = GetSchichtenEinesDienstes($dienste[0]["DienstID"]);
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\ChangeSchicht($dbl, $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($SchichtID, $Von, $Bis, $Soll, $Dauer); $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)){ if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){
echo "Old ChangeSchicht returns".var_export($erg_old, true)."\n"; echo "Old ChangeSchicht returns".var_export($erg_old, true)."\n";
echo "New ChangeSchicht returns '".var_export($erg_new, true)."'\n"; echo "New ChangeSchicht returns '".var_export($erg_new, true)."'\n";
} }
else echo "ChangeSchicht ok"; else echo "ChangeSchicht ok\n";
} }
// ok
function TestNewSchicht(){ function TestNewSchicht(){
$dienste = GetDienste(); $dienste = GetDienste();
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
@ -521,4 +551,6 @@ TestChangeDienst();
TestGetDiensteChilds(); TestGetDiensteChilds();
TestNewSchicht(); TestNewSchicht();
TestGetSchichtenEinesDienstes(); TestGetSchichtenEinesDienstes();
TestChangeSchicht();
TestGetSchichtenForDienstForDay();
?> ?>