<?php include("kurs/datenbankanbindung.php"); // fügt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php $user_admin=$_COOKIE["user_admin"]; $uid1=$_GET['uid']; // Rechteüberprüfung $db = dbconnect(); $result = $db->query("SELECT 1 FROM stan_admin_rechte, stan_admin_rechte_zuord , stan_admin where stan_admin_rechte.stan_admin_rolle = stan_admin_rechte_zuord.stan_admin_rolle AND stan_admin_rechte_zuord.said = stan_admin.said AND stan_admin.user = '$user_admin' AND stan_admin_rechte_zuord.stan_admin_rolle = 'a_bearb'"); $row = $result->fetch_array(); if ($row[0] != 1){ include("kurs/rechte.php"); exit;} // Rechteüberprüfung ende $db = dbconnect(); $result = $db->query("SELECT nachname, vorname, postrasse, poplz, poort, stgtext, AG, Jahrgang, mail, mail2, mtknr, stg FROM stud where uid=\"$uid1\""); $row = $result->fetch_array(); echo " <html> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"> <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> <script type=\"text/javascript\" src=\"./overlib/overlibmws.js\"><!-- overLIB (c) Erik Bosrup --></script> <script type=\"text/javascript\"> <!-- OLregisterPlugins('crossframe','iframe','hide','shadow'); overlib=parent.overlib; nd=parent.nd; if (typeof window.createPopup!='undefined') { var oPopup = window.createPopup(); var oPopupBody = oPopup.document.body; oPopupBody.style.backgroundColor = \"#ccccff\"; oPopupBody.style.border = \"solid blue 1px\"; } // --> </script> <style type=\"text/css\"> <!-- .text_overlib {font-family:Verdana,Arial,sans-serif; font-size:10px;} .r{text-decoration: none;font-weight: bold; color: black;} .text_overlib {font-family:Verdana,Arial,sans-serif; font-size:10px;} --> </style> <script type=\"text/javascript\"> function cursorhand() { document.body.style.cursor = 'pointer'; } </script> <title>In das Fenster klicken um zu schließen</title> </head> <body onMouseover=\"cursorhand()\", onclick=\"window.close();\"> <div id=\"overDiv\" style=\"position: absolute; visibility: hidden; z-index: 1000; left: 10px; top: 0px; background-image: none;\"></div> "; $res_ausn= $db->query("SELECT 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row_ausn = $res_ausn->fetch_array(); // Prüfen ob schon Änderungsanträge vorhanden if($row_ausn[0] == '1'){ $ausnahme =" - <font color='red'><b>Student hat eine Ausnahmeregelung!</b></font>"; }else{ $ausnahme =""; } echo" <table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" id=\"table1\"> <tr> <td> <div align=\"center\"> <table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\"> <tr> <td width=\"10\" background=\"../images/box_e1.gif\"> <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> <font class=\"hd\">Antragsdaten von $row[vorname] $row[nachname]$ausnahme</font><br> <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></font></td> <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> </tr> <tr> <td width=\"1%\" background=\"../images/box_l.gif\"> <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> <td> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-width:0; border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber1\" height=\"142\"> <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Persönliche Daten"; $text = "Ihre persönlichen Daten müssen zu jedem Zeitpunkt während des Praxisjahres aktuell sein.<br><br>Achten Sie darauf, dass im System eine Mailadresse hinterlegt ist, die Sie regelmäßig abrufen"; 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 align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\">"; $db = dbconnect(); $res = $db->query("SELECT nachname, vorname, hs, poplz, poOrt, poStrasse, mail FROM stud WHERE uid='$uid1'"); $stud = $res->fetch_array(); if($stud['nachname'] == '' or $stud['vorname'] == '' or $stud['hs'] == '' or $stud['poplz'] == '' or $stud['poOrt'] == '' or $stud['poStrasse'] == '' or $stud['mail'] == ''){ echo "<img border=\"0\" src=\"../images/cross.jpg\">"; $fehler = 'X'; }else{ if($stud['hs'] == 'L' or $stud['hs'] == 'K'){ echo "<img border=\"0\" src=\"../images/ok.gif\">"; }else{ echo "<img border=\"0\" src=\"../images/cross.jpg\">"; $fehler = 'X'; } } echo" </td> </tr> <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Anträge"; $text = "Ihre Anträge werden nach Datum aufsteigend aufgelistet.<br><br>Die Zeiträume dürfen keine Lücken und keine Überschneidungen aufweisen.<br><br>Urlaube werden nicht hier im System eingeplant. Diese werden direkt bei der Praxisstelle genommen."; 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 align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\">"; $result3 = $db->query("SELECT DATE_FORMAT(antrag_von, '%d.%m.%Y') antrag_von, DATE_FORMAT(antrag_bis, '%d.%m.%Y') antrag_bis FROM stan_frist WHERE jahrgang ='$row[Jahrgang]'"); $row3 = $result3->fetch_array(); $result_tmp1 = $db->query("DELETE FROM stan_tmp_check_data WHERE uid='$uid1'"); $result_tmp1 = $db->query("INSERT INTO stan_tmp_check_data SELECT t1.saaid , t1.vert_bereich , t1.uid , t1.beginn , t1.ende , t1.dst_id FROM stan_antrag t1 WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND status not in ('-1', '2') ) AND t1.uid = '$uid1' AND (t1.zuweisung is NULL OR t1.zuweisung='Z') "); ## PU in tmp Tabelle eintrage # $result = $db->query("SELECT max(saaid) max_id FROM stan_tmp_check_data WHERE uid='$uid1'"); # $row4 = $result->fetch_array(); # $saaid_neu = $row4[max_id] + 1; // Damit alle Einträge eine ID haben # $result_tmp1 = $db->query("INSERT INTO stan_tmp_check_data SELECT $saaid_neu, '$uid1', beginn, ende, 'Praxisbegleitender Unterricht' FROM stan_sperrzeit WHERE jahrgang ='$row[Jahrgang]' AND kennung = '$row[stg]'"); $result = $db->query("SELECT max(saaid) max_id FROM stan_tmp_check_data WHERE uid='$uid1'"); $row4 = $result->fetch_array(); $saaid_neu = $row4['max_id'] + 1; // Damit alle Einträge eine ID haben $result_tmp1 = $db->query("INSERT INTO stan_tmp_check_data SELECT $saaid_neu, NULL, '$uid1', DATE_SUB(antrag_von, INTERVAL 1 DAY), DATE_SUB(antrag_von, INTERVAL 1 DAY), 'Antragszeitraum Beginn' FROM stan_frist WHERE jahrgang ='$row[Jahrgang]'"); $result = $db->query("SELECT max(saaid) max_id FROM stan_tmp_check_data WHERE uid='$uid1'"); $row4 = $result->fetch_array(); $saaid_neu = $row4['max_id'] + 1; // Damit alle Einträge eine ID haben $result_tmp1 = $db->query("INSERT INTO stan_tmp_check_data SELECT $saaid_neu, NULL, '$uid1', antrag_bis, antrag_bis, 'Antragszeitraum Ende' FROM stan_frist WHERE jahrgang ='$row[Jahrgang]'"); $query = "SELECT ma.saaid, ma.uid, DATE_FORMAT(beginn, '%d.%m.%Y') beginn, DATE_FORMAT(ende, '%d.%m.%Y') ende, bezeichnung, COALESCE( luecke, 'OK' ) AS Luecke 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 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 ) ) 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' ORDER BY ma.uid, ma.beginn"; $result = $db->query($query) or die ("Cannot execute query1"); echo "<table width='100%'>"; while ($row2 = $result->fetch_array()){ $result5 = $db->query("SELECT concat(bezeichnung, ' ',name) name FROM stan_dienststellen WHERE dst_id ='$row2[bezeichnung]'"); $row5 = $result5->fetch_array(); $result6 = $db->query("SELECT bez FROM stan_dienststellen_tmp WHERE dst_id ='$row2[bezeichnung]'"); $row6 = $result6->fetch_array(); # Stellenart ausgeben $result7 = $db->query("SELECT bezeichnung FROM stan_stellenart a, stan_antrag b WHERE a.artid=b.art AND b.saaid = $row2[saaid]"); $row7 = $result7->fetch_array(); if($row5['name'] != '' and $row6['bez'] == ''){ $bezeichnung = $row5['name']; } if($row5['name'] == '' and $row6['bez'] != ''){ $bezeichnung = $row6['bez']; } # Art hinzufügen $bezeichnung = $bezeichnung."<br><font size=1><i>$row7[bezeichnung]</i></font>"; if($row5['name'] == '' and $row6['bez'] == ''){ if($row2['bezeichnung'] == 'Antragszeitraum Beginn' or $row2['bezeichnung'] == 'Antragszeitraum Ende'){ $bezeichnung = "$row2[bezeichnung]"; }else{ $bezeichnung = '<i>Zeitraum vorgemerkt</i>'; } } echo" <tr> <td width='35%'> $bezeichnung </td> <td width='35%'>"; if($row2['bezeichnung'] == 'Antragszeitraum Beginn'){ echo"$row3[antrag_von]"; }elseif($row2['bezeichnung'] == 'Antragszeitraum Ende'){ echo"$row3[antrag_bis]"; }else{ echo"$row2[beginn] - $row2[ende]"; } echo" </td> <td width='30%' align='center'>"; if($row2['Luecke'] != 'OK'){ echo "<img border=\"0\" src=\"../images/leerer_zeitraum.gif\">"; $fehler = 'X'; }else{ echo "<img border=\"0\" src=\"../images/gueltig.png\">"; } echo" </td> </tr> "; } echo" </table> <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Wurden exakt 4<br>Vertiefungsbereiche abgedeckt?"; $text = "Sie müssen während Ihres Praxisaufenthaltes genau 4 von 5 Vertiefungsbereichen abdecken. Haben Sie zu wenig Bereiche abgedeckt, bekommen Sie hier eine Fehlermeldung ausgegeben."; 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(); $res_anz = $db->query("SELECT count(distinct t1.vert_bereich) Anzahl FROM stan_antrag t1 WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND status not in ('-1', '2') ) AND t1.uid = '$uid1' AND (t1.zuweisung is NULL OR t1.zuweisung='Z') "); $anzahl_bereich = $res_anz->fetch_array(); if($anzahl_bereich['Anzahl'] != 4){ echo "<img border=\"0\" src=\"../images/cross.jpg\"> ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; echo "<p>"; $fehler = 'X'; $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 status not in ('-1', '2') ) AND t1.uid = '$uid1' AND (t1.zuweisung is NULL OR t1.zuweisung='Z') "; $result3 = $db->query($query3) or die ("Cannot execute query3"); echo "<table><tr><td><b>abgedeckte Vertiefungsbereiche:</b></td></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(); echo "<tr><td>$stell_bez[bezeichnung]</td></tr>"; } echo "</table>"; }else{ echo "<img border=\"0\" src=\"../images/ok.gif\">"; } echo" </td> </tr>"; $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\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </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 status not in ('-1', '2') ) 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{ echo "<font color=red><b>getrennte Zeiträume</b></font>"; } echo" </td> </tr>"; } echo "</table> </td> </tr>"; } echo" <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Fristen im Vertiefungsbereich"; $text = "Ein Vertiefungsbereich muss üblicherweise zwischen 3 und 5 Monate belegt werden.<br><br> Für die Sonderfälle Ausland, anderes Bundesland, Privatwirtschaft und Verband gelten spezielle Regelungen. Diese werden bei Bedarf separat geprüft."; 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(); # Zunächst wird untershchieden, ob die Termine vom VT-Bereich zusammenhängen # Wenn ja, dann gilt die exakte Berechnung der Monatsfrist (Min. 3Mon - 5Mon), # Wenn die Termine zum VT-Bereich willkürlich übers Jahr verteilt sind, dann werden die Tage # jedes Splittpunkts berechnet. Dann muss der Bereich zwischen 88 Tage und 153 Tage liegen (3-5Mon) $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 status not in ('-1', '2') ) 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>"; // Abfrage, ob die Einzeltermine der Vertiefungsbereich zusammenhängend sind if($anzahl_bereich['Treffer'] != 1){ // Wenn der Zeitraum im Vertiefungsbereich zusammenhängend ist, // dann kann man prüfen, ob beginndatum + 3 Monate >= Enddatum ist // und ob beginndatum+5Monate <= Enddatum ist. // Abfrage, wenn Anmeldefrist unterschritten, dann 1 sonst 0 // Abfrage, wenn Anmeldefrist überschritten ist, dann 1 sonst 0 $min_max = $db->query("SELECT max( ende ) < DATE_SUB(DATE_ADD( min( beginn ), INTERVAL 3 MONTH ), INTERVAL 1 DAY) unter # 1Tag abziehen, weil man 3 Monate von 01.07 - 30.11 rechnet und nicht bis 01.12 , max( ende ) > DATE_ADD(min(beginn), INTERVAL 5 MONTH ) ueber FROM stan_tmp_check_data WHERE vbid = '$row5[vert_bereich]' "); $row_minmax = $min_max->fetch_array(); if($row_minmax['unter'] == '1'){ echo "<font color=red><b>Mindestdauer unterschritten</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }elseif($row_minmax['unter'] == '0'){ echo "<font color=green><b>OK</b></font>"; }elseif($row_minmax['ueber'] == '1'){ echo "<font color=red><b>Mindestdauer überschritten</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }elseif($row_minmax['ueber'] == '0'){ echo "<font color=green><b>OK</b></font>"; } }else{# wenn die Zeiträume nicht zusammenhängend sind, dann 88 bzw. 153 Tage $querydat = "SELECT beginn, ende FROM stan_tmp_check_data WHERE vbid = $row5[vert_bereich] "; $resultdat = $db->query($querydat) or die ("Cannot execute query3"); $days = 0; $gestage = 0; while ($rowdat = $resultdat->fetch_array()){ $days = floor((strtotime($rowdat[ende]) - strtotime($rowdat[beginn]))/86400); $gestage = $gestage + $days; } if($gestage < 88){ echo "<font color=red><b>Mindestdauer unterschritten</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }elseif($gestage > 153){ echo "<font color=red><b>Mindestdauer überschritten</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }elseif($gestage >= 88 AND $gestage <= 153){ echo "<font color=green><b>OK</b></font>"; } } echo" </td> </tr>"; } echo "</table> </td> </tr> <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Anzahl Sonderfälle"; $text = "Sie dürfen nur 1 Sonderfall belegen<br><br>Sonderfälle sind:<br>- Ausland<br>- Anderes Bundesland<br>- Privatwirtschaft<br>- Verband"; 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>"; # $result3 = $db->query("SELECT count(*) Anz FROM stan_antrag t1, stan_stellenart b WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND status not in ('-1', '2') ) AND b.Merkmal LIKE '%S%' AND b.artid=t1.art AND uid='$uid1' and (zuweisung != 'AE' or zuweisung is null or zuweisung ='Z' or zuweisung ='E' or zuweisung ='EZ' or zuweisung ='NA') "); $row5 = $result3->fetch_array(); if($row5[0] > 1){ echo "<font color=red><b>zu viele Sonderfälle (Anzahl: $row5[0])</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }else{ echo "<font color=green><b>OK (Anzahl: $row5[0])</b></font>"; } echo " </td> </tr>"; if($row5[0] >= 1){ # Wenn man ein Sonderfall hat, dann auch chekcen, ob 3 Monatsfrist exakt eingehalten wurde echo" <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Fristen Sonderfall"; $text = "Für die Fristen in Sonderfällen gilt die 3-5 Monate-Regelung nicht. Es müssen exakt 3 Monate belegt werden."; 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(); # Wenn Sonderfälle vorhanden sind, dann Schleife über alle Sonderfälle # Sonderfälle = 3 Monate # Bei 4 Blockfeld Showstopper, bei 12 Feld nur Rotwarnung $query3 = "SELECT distinct t1.saaid, dst_id FROM stan_antrag t1, stan_stellenart a WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND status not in ('-1', '2') ) AND t1.uid = '$uid1' AND t1.art=a.artid AND a.Merkmal LIKE '%S%' 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>Stelle</b></td><td valign='top' ><b>Status</b></td></tr>"; while ($row5 = $result3->fetch_array()){ $min_max = $db->query("SELECT max( ende ) < DATE_SUB(DATE_ADD( min( beginn ), INTERVAL 3 MONTH ), INTERVAL 1 DAY) unter ,max( ende ) > DATE_ADD(min(beginn), INTERVAL 5 MONTH ) ueber ,date_format(DATE_SUB(DATE_ADD( min( beginn ), INTERVAL 5 MONTH ), INTERVAL 1 DAY),'%d.%m.%Y') frist_dat FROM stan_tmp_check_data WHERE saaid = '$row5[saaid]' "); $row_minmax = $min_max->fetch_array(); $result5 = $db->query("SELECT concat(bezeichnung, ' ',name) name FROM stan_dienststellen WHERE dst_id ='$row5[dst_id]'"); $row5a = $result5->fetch_array(); $result6 = $db->query("SELECT bez FROM stan_dienststellen_tmp WHERE dst_id ='$row5[dst_id]'"); $row6 = $result6->fetch_array(); if($row5a['name'] != '' and $row6['bez'] == ''){ $bezeichnung = $row5a['name']; } if($row5a['name'] == '' and $row6['bez'] != ''){ $bezeichnung = $row6['bez']; } echo "<tr> <td>$bezeichnung</td> <td>"; // Abfrage, ob die Einzeltermine der Vertiefungsbereich zusammenhängend sind if($row_minmax['unter'] == 0 AND $row_minmax['ueber'] == 0){ // Wenn das Ausland gleich 3 Monate erbibt. Select ergibt 1 bei exakt 3 Monaten bzw. 0 bei ungleich 3 Monaten echo "<img border=\"0\" src=\"../images/ok.gif\">"; }else{ if($row_minmax['unter'] != 0){ $error_text = "Mindestzeit unterschritten!"; } if($row_minmax['ueber'] != 0){ $error_text = "5 Monatsfrist endet am $row_minmax[frist_dat]"; } echo "<img border=\"0\" src=\"../images/cross.jpg\"> ($error_text)<br>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } } echo" </td> </tr>"; } echo "</table> </td> </tr>"; } // Ende ob Sonderfall vorhanden if($row['Jahrgang'] >= '17'){ # Pflichtmodul ab jahrgang 17 echo " <tr> <td style=\"border-style: none; border-width: medium\" height=\"32\"> </td> <td align=\"left\" style=\"border-style: none; border-width: medium\" height=\"32\"> </td> </tr> <tr> <td valign='top' style=\"border-style: none; border-width: medium\" height=\"32\"> "; $titel = "Anzahl Pflichtmodul"; $text = "Sie müssen das Pflichtmodul belegen<br><br>Pflichtmodul ist:<br>- Gemeinden bis zu 10.000 Einwohner"; 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>"; # $result3 = $db->query("SELECT count(*) Anz FROM stan_antrag t1, stan_stellenart b WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND status not in ('-1', '2') ) AND b.Merkmal LIKE '%P%' AND b.artid=t1.art AND uid='$uid1' AND (t1.zuweisung is NULL OR t1.zuweisung='Z') "); $row5 = $result3->fetch_array(); if($row5[0] > 1 or $row5[0] < 1){ echo "<font color=red><b>Anzahl Pflichtmodule falsch: (Anzahl: $row5[0] von 1)</b></font>"; $result6a = $db->query("SELECT distinct 1 FROM stan_ausnahme WHERE uid ='$uid1'"); $row6a = $result6a->fetch_array(); if($row6a[0] != 1){ # Showstopper bei 4 Blockfeld $fehler = 'X'; } }else{ echo "<font color=green><b>OK (Anzahl: $row5[0])</b></font>"; } echo " </td> </tr>"; # Pflichtmodul Ende } // Ende > jahrgang 17 echo" </td> </tr> </table> </td> <td width=\"1%\" background=\"../images/box_r.gif\"> <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> </tr> <tr> <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"></td> <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"></td> <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> </td> </tr> </table> <br> </div> </td> </tr> </table> </body> </html>"; $result_tmp1 = $db->query("DELETE FROM stan_tmp_check_data WHERE uid='$uid1'"); ?>