stellenantrag_neu/stud/check_splitt_vt.php
2022-11-28 09:17:05 +01:00

116 lines
7.5 KiB
PHP
Executable File

<?php
include("kurs/datenbankanbindung.php"); // f&uuml;gt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
$db = dbconnect();
$query1 = "SELECT uid, nachname, vorname, hs, ag, jahrgang
FROM stud
WHERE jahrgang='10'
";
$result1 = $db->query($query1)
or die ("Cannot execute query1");
echo "<table>";
while ($row1 = $result1->fetch_array()){
$uid1=$row1[uid];
$result6a = $db->query("SELECT distinct 1
FROM stan_ausnahme
WHERE uid ='$uid1'");
$row6a = $result6a->fetch_array();
if($row6a[0] == 1){ # Wenn keine Ausnahme(12er Block entspricht Ausnahme) dann nicht absenden
# Zusammenhängende Zeiträume müssen nur angezeigt werden, wenn man auch den 12er Block hat, sonst machts keinen Sinn
echo"
<tr>
<td style=\"border-style: none; border-width: medium\" height=\"32\">
$uid1
</td>
<td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\">
&nbsp;
</td>
</tr>
<tr>
<td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\">
";
$titel = "Zusammenhängende Zeiträume<br>im Vertiefungsbereich?";
$text = "Wenn Sie ein Vertiefungsbereich in mehrere Stellen aufgesplittet haben, müssen die gesplitteten Teilbereiche im direkten Anschluss aneinander folgen.";
echo"
<a href=\"javascript:void(0);\" onmouseover=\"return overlib('$text',ABOVE, TEXTFONTCLASS,'text_overlib', WIDTH, 350, CAPTION, '$titel',CAPTIONSIZE, '10px');\" onmouseout=\"nd();\"><b>$titel</b></a>
</td>
<td valign='top' align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\">";
$db = dbconnect();
# echo "<img border=\"0\" src=\"../images/cross.jpg\"> ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)";
# echo "<p>";
#
$query3 = "SELECT distinct t1.vert_bereich
FROM stan_antrag t1
WHERE t1.status = (
SELECT MAX(t2.status)
FROM stan_antrag t2
WHERE t1.aendid = t2.aendid
)
AND t1.uid = '$uid1'
AND (t1.zuweisung is NULL OR t1.zuweisung='Z')
";
$result3 = $db->query($query3)
or die ("Cannot execute query3");
echo "<table valign='top' width='100%'><tr><td valign='top' width='60%'><b>abgedeckte Vertiefungsbereiche:</b></td><td valign='top' ><b>Status</b></td></tr>";
while ($row5 = $result3->fetch_array()){
$res_bez = $db->query("SELECT bezeichnung
FROM `stan_vertiefungsbereich`
WHERE vbid = '$row5[vert_bereich]'");
$stell_bez = $res_bez->fetch_array();
// Abfrage frägt ab, ob innerhalb eines Vertiefungsbereichs eine Lücke ist. Ausgabe nur 1 Treffer, sobald 1 Lücke gefunden wurde --> Warnung ausgeben
$res_anz = $db->query("SELECT ma.uid, DATE_FORMAT(beginn, '%d.%m.%Y') beginn, DATE_FORMAT(ende, '%d.%m.%Y') ende, bezeichnung, COALESCE( luecke, 'OK' ) AS Luecke, 1 AS Treffer
FROM stan_tmp_check_data ma
LEFT JOIN ( SELECT saaid, 'Lücke folgt' AS luecke
FROM stan_tmp_check_data a
WHERE a.ende != (SELECT MAX( ende ) FROM stan_tmp_check_data x WHERE x.uid = a.uid AND vbid='$row5[vert_bereich]')
AND NOT EXISTS ( SELECT saaid FROM stan_tmp_check_data b
WHERE a.uid = b.uid
AND b.beginn = DATE_ADD( a.ende, INTERVAL 1 DAY )
AND b.vbid='$row5[vert_bereich]'
)
OR ( a.beginn IN (select beginn FROM stan_tmp_check_data d WHERE d.saaid != a.saaid)
AND a.ende IN (select ende FROM stan_tmp_check_data e WHERE e.saaid != a.saaid AND e.uid = '$uid1')
)
) L
ON L.saaid = ma.saaid
WHERE ma.uid = '$uid1'
AND ma.vbid='$row5[vert_bereich]'
AND Luecke !='OK'
ORDER BY ma.uid, ma.beginn
LIMIT 1
");
$anzahl_bereich = $res_anz->fetch_array();
echo "<tr>
<td>$stell_bez[bezeichnung]</td>
<td>";
if($anzahl_bereich[Treffer] != 1){
echo "<font color=green><b>OK</b></font>";
}else{
$fehler = 'X';
echo "<font color=red><b>getrennte Zeiträume (unzulässig)</b></font>";
}
echo"
</td>
</tr>";
}
echo "</table>
</td>
</tr>";
}
}
echo "</table>";
?>