diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 1a0ad71..c70c6c3 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -30,6 +30,7 @@ if ($AdminStatus != 1) { DatenbankAufDeutsch($db_link); $DienstID = $_SESSION["DienstID"]; +$NewDienstID = 0; $SchichtID = $_SESSION["SchichtID"]; @@ -65,6 +66,7 @@ if (isset($_POST['NewDienst'])) { $Gruppe = $_POST['Dienst-Gruppe']; $HelferLevel = $_POST['HelferLevel']; NewDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel); + $NewDienstID = LastInsertId($db_link); } @@ -79,17 +81,42 @@ if (isset($_POST['ChangeSchicht'])) { $Von = $_POST['Schicht-Von']; $Bis = $_POST['Schicht-Bis']; $Soll = $_POST['Schicht-Soll']; + $Dauer = $_POST['Schicht-Dauer']; - ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll); + ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer); } +if (isset($_POST['Schicht-Automatic-Bis'])) { + $AutomaticBis = 1; +} else { + $AutomaticBis = 0; +} + +if (isset($_POST['Schicht-Anschlussschicht'])) { + $Anschlussschicht = 1; +} else { + $Anschlussschicht = 0; +} + + if (isset($_POST['NewSchicht'])) { $Von = $_POST['Schicht-Von']; $Bis = $_POST['Schicht-Bis']; $Soll = $_POST['Schicht-Soll']; + $Dauer = $_POST['Schicht-Dauer']; - NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll); + if ($AutomaticBis) { + $Temp = new DateTime($Von); + //$Temp2 = DateInterval::createFromDateString('3600 seconds'); + $Temp2 = DateInterval::createFromDateString($Dauer[0] . $Dauer[1] . ' hours ' . $Dauer[3] . $Dauer[4] . ' minutes'); + + $Temp = $Temp->add($Temp2); + $Bis = $Temp->format('Y-m-d H:i:s'); + } + NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer); + $SchichtID = LastInsertId($db_link); + //echo "+".$SchichtID."+"; } @@ -97,6 +124,7 @@ if (isset($_POST['DeleteSchicht'])) { if (!DeleteSchicht($db_link, $SchichtID, false)) { echo "Erst Helfer aus Schicht austragen
"; } + $SchichtID = 0; } @@ -104,8 +132,9 @@ if (isset($_POST['DeleteSchicht'])) { if (isset($_POST['ShowSchicht'])) { $SchichtID = $_POST['SchichtSearch']; } -if (isset($_POST['SchichtSearch'])) { +if (isset($_POST['SchichtSearch']) && !isset($_POST['NewSchicht']) && !isset($_POST['DeleteSchicht'])) { $SchichtID = $_POST['SchichtSearch']; + echo "SchichtSearch
"; } if (isset($_POST['ShowSchichten'])) { @@ -118,7 +147,9 @@ if (isset($_POST['DienstSearch'])) { } - +if ($NewDienstID != 0) { + $DienstID = $NewDienstID; +} // Dienste Anzeigen //////////////////////////////////////////////////////// @@ -145,6 +176,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { echo ""; } else { echo ""; + $Was = $zeile['Was']; $Wo = $zeile['Wo']; $Info = $zeile['Info']; @@ -213,7 +245,7 @@ echo "

+ + Endzeit von Dauer
+ + Endzeit von Dauer
+ + + + Anschlussschicht vorbereiten
+ + Anschlussschicht vorbereiten
+ + +


+

diff --git a/html/SQL.php b/html/SQL.php index b2ae398..8f117a9 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -657,7 +657,7 @@ function GetSchichtenEinesDienstes($db_link, $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, DATE_FORMAT(Von,'%H:%i') AS ZeitVon, DATE_FORMAT(Bis,'%H:%i') AS ZeitBis FROM Schicht where DienstID=" . $DienstID; + $sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon, DATE_FORMAT(Von,'%H:%i') AS ZeitVon, DATE_FORMAT(Bis,'%H:%i') AS ZeitBis, DATE_FORMAT(Dauer,'%H:%i') AS Dauer FROM Schicht where DienstID=" . $DienstID; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "GetSchichtenEinesDienstes ungueltige Abfrage"; @@ -667,7 +667,7 @@ function GetSchichtenEinesDienstes($db_link, $DienstID) return $db_erg; } -function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll) +function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer) { $SchichtID = mysqli_real_escape_string($db_link, $SchichtID); $Von = mysqli_real_escape_string($db_link, $Von); @@ -675,7 +675,7 @@ function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll) $Soll = mysqli_real_escape_string($db_link, $Soll); - $sql = "UPDATE Schicht SET Von='" . $Von . "', Bis='" . $Bis . "', Soll='" . $Soll . "' where SchichtID=" . $SchichtID; + $sql = "UPDATE Schicht SET Von='" . $Von . "', Bis='" . $Bis . "', Soll='" . $Soll . "', Dauer='" . $Dauer . "' where SchichtID=" . $SchichtID; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { @@ -685,7 +685,7 @@ function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll) } } -function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll) +function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) { $DienstID = mysqli_real_escape_string($db_link, $DienstID); @@ -705,12 +705,12 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll) return Null; } */ - $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ")"; - + //$sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; + $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "Keine Schicht erstellt"; - //echo $sql; + echo $sql; error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit $sql \n", 3, LOGFILE); $err = mysqli_error($db_link); die('Ungueltige Abfrage: ' . $err); @@ -778,6 +778,19 @@ function DatenbankAufDeutsch($db_link) } } +function LastInsertId($db_link) +{ + $sql = "SELECT LAST_INSERT_ID()"; + $db_erg = mysqli_query($db_link, $sql); + + if (! $db_erg) { + echo "ungueltige Last InsertID"; + die('Ungueltige Abfrage: ' . mysqli_error($db_link)); + } + + $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); + return $zeile['LAST_INSERT_ID()']; +} function HelferLevel($db_link) {