GetDiensteForDay

This commit is contained in:
Florian Pesth 2024-03-17 09:16:17 +01:00
parent a2abd8b554
commit 173e3578d7
3 changed files with 27 additions and 4 deletions

View File

@ -644,6 +644,24 @@ function DeleteDienst($DienstID, $Rekursiv)
}
}
function GetDiensteForDay($helferlevel, $datestring)
{
$db = DB::getInstance();
$db->prepare(__METHOD__,"SELECT DienstId, Was, Wo, Info FROM Dienst INNER JOIN Schicht USING (DienstID) WHERE HelferLevel=" . $helferlevel . " GROUP BY DienstId HAVING MIN(Von)<:date1 AND MAX(Bis)>:date2 ORDER BY MIN(Von) ASC;");
$unixtime = strtotime($datestring);
$date1 =
$date2 = date('Y-m-d', $unixtime);
$db_erg = $db->execute(__METHOD__,[
'date1' => date('Y-m-d', $unixtime + 24 * 60 * 60),
'date2' => date('Y-m-d', $unixtime)
]);
$db->onErrorDie(__METHOD__);
$schichten = $db->fetchAll(__METHOD__);
return $schichten;
}
// ok
function GetSchichtenForDienstForDay($DienstID, $datestring)
{

View File

@ -649,7 +649,10 @@ function GetDiensteForDay($db_link, $helferlevel, $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;
}
function GetSchichtenForDienstForDay($db_link, $DienstID, $datestring)

View File

@ -447,15 +447,16 @@ function TestDeleteDienst(){
else echo "DeleteDienst ok\n";
}
// ok
function TestGetDiensteForDay(){
$dbl = old\ConnectDB();
$erg_old = old\GetDiensteForDay($dbl, $helferlevel, $datestring);
$erg_new = GetDiensteForDay($helferlevel, $datestring);
$erg_old = old\GetDiensteForDay($dbl, 2, "2024-02-16");
$erg_new = GetDiensteForDay(2, "2024-02-16");
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){
echo "Old GetDiensteForDay returns".var_export($erg_old, true)."\n";
echo "New GetDiensteForDay returns '".var_export($erg_new, true)."'\n";
}
else echo "GetDiensteForDay ok";
else echo "GetDiensteForDay ok\n";
}
// ok
@ -619,4 +620,5 @@ TestSchichtenSummeEinesHelfers();
TestLogSchichtEingabe();
TestDetailSchicht();
TestBeteiligteHelfer();
TestGetDiensteForDay();
?>