diff --git a/stud/check_aend.php b/stud/check_aend.php index 6e77b29..e06f8fc 100755 --- a/stud/check_aend.php +++ b/stud/check_aend.php @@ -1,2019 +1,2019 @@ -query("SELECT Jahrgang FROM stud WHERE uid=\"$uid1\""); -$stud_jahr = $res->fetch_array(); - -$anm_schluss = $db->query("SELECT DATE_Format(anmeldeschluss, '%d.%m.%Y um %H:%i:%s Uhr')AS endeform, DATE_Format(anmeldeschluss, '%Y%m%d%H%i%s')AS enddatum - FROM stan_frist - WHERE jahrgang=\"$stud_jahr[Jahrgang]\""); -$row_schluss = $anm_schluss->fetch_array(); // Herausfinden des Beginn- Schlussdatums - -$a = strtotime ($heute_format); //Umrechnung des Fristgrenztages in eine Zahl -$b = strtotime ($row_schluss['enddatum']); // Umrechnung des Enddatums in eine Zahl - -# Wenn Erstanträge abgesendet wurden, dürfen keine Stellen mehr vorgemerkt werden -$res2 = $db->query("SELECT distinct status - FROM stan_antrag - WHERE uid='$uid1' - LIMIT 1"); -$stud_status = $res2->fetch_array(); - -if($stud_status['status'] != '0'){ - - if ($a <= $b){ - echo " - - - - - Prüfung nicht möglich - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Prüfung nicht möglich
-
-
-
-

Änderungsanträge können erst
nach Anmeldeschluss oder gestelltem Erstantrag
abgegeben werden!
-
Sie können bis zum $row_schluss[endeform]
Anträge abgeben. -

-

-
-

-

-

-

-

-


-

-
-
- - -
-
-
- - "; - exit; - } // Ende Überprüfung der Zeitüberschreitung -} -################# - -if (isset($_GET['action'])) - $action = $_GET['action']; -else - $action = ""; - -switch($action){ -default: - - -$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 " - - - - - - - - -Daten prüfen Änderungsantrag - - -
- - - - -
-
- - - - - - - - - - - - - - - - -
- -
- Daten prüfen
Antrag von $row[vorname] $row[nachname]

-
-
- - - - - - - - - - - - - - - - - - - - - "; - - - $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" - - - - - - - - "; - } - echo" - - - - - - - - - - - - - - - - - "; -/* - if($row5[0] >= 1){ # Wenn man ein Sonderfall hat, dann auch chekcen, ob 3 Monatsfrist exakt eingehalten wurde - echo" - - - - - - - - - "; - - } // Ende ob Sonderfall vorhanden -*/ -if($row['Jahrgang'] >= '17'){ -# Pflichtmodul ab jahrgang 17 - echo " - - - - - - - - - "; -# Pflichtmodul Ende -} // Ende > jahrgang 17 - echo" - - - - - - -
- "; - $titel = "Persönliche Daten"; - $text = "Ihre persönlichen Daten müssen zu jedem Zeitpunkt während des Praxisjahres aktuell sein.

Achten Sie darauf, dass im System eine Mailadresse hinterlegt ist, die Sie regelmäßig abrufen"; - - echo" - $titel -
"; - $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 ""; - $fehler = 'X'; - }else{ - if($stud['hs'] == 'L' or $stud['hs'] == 'K'){ - echo ""; - }else{ - echo ""; - $fehler = 'X'; - } - - } - - echo" -
-   - -   -
- "; - $titel = "Anträge"; - $text = "Ihre Anträge werden nach Datum aufsteigend aufgelistet.

Die Zeiträume dürfen keine Lücken und keine Überschneidungen aufweisen.

Urlaube werden nicht hier im System eingeplant. Diese werden direkt bei der Praxisstelle genommen."; - - echo" - $titel -
"; - - $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 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 ""; - 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(); - - if($row5['name'] != '' and $row6['bez'] == ''){ - $bezeichnung = $row5['name']; - } - - - if($row5['name'] == '' and $row6['bez'] != ''){ - $bezeichnung = $row6['bez']; - } - - if($row5['name'] == '' and $row6['bez'] == ''){ - - if($row2['bezeichnung'] == 'Antragszeitraum Beginn' or $row2['bezeichnung'] == 'Antragszeitraum Ende'){ - $bezeichnung = $row2['bezeichnung']; - }else{ - $bezeichnung = 'Zeitraum vorgemerkt'; - } - } - - - echo" - - - - - - - "; - } - - - echo" - -
- $bezeichnung - "; - if($row2['bezeichnung'] == 'Antragszeitraum Beginn'){ - echo"$row3[antrag_von]"; - }elseif($row2['bezeichnung'] == 'Antragszeitraum Ende'){ - echo"$row3[antrag_bis]"; - }else{ - echo"$row2[beginn] - $row2[ende]"; - } - - - #Sonderfälle ausgeben: 2019-02-21 - $sonderpflicht = ""; - $result6 = $db->query("SELECT count(*) Anz - FROM stan_antrag - WHERE saaid ='$row2[saaid]' - AND art IN (SELECT artid FROM stan_stellenart WHERE Merkmal like '%S%')"); - $row6 = $result6->fetch_array(); - if($row6['Anz'] > 0 AND $row2['bezeichnung'] != 'Antragszeitraum Beginn' AND $row2['bezeichnung'] != 'Antragszeitraum Ende'){ - $sonderpflicht = 'Sonderfall'; - } - $result6 = $db->query("SELECT count(*) Anz - FROM stan_antrag - WHERE saaid ='$row2[saaid]' - AND art IN (SELECT artid FROM stan_stellenart WHERE Merkmal like '%P%')"); - $row6 = $result6->fetch_array(); - if($row6['Anz'] > 0 AND $row2['bezeichnung'] != 'Antragszeitraum Beginn' AND $row2['bezeichnung'] != 'Antragszeitraum Ende'){ - $sonderpflicht = 'Pflichtmodul'; - } - - echo" - - $sonderpflicht - "; - if($row2['Luecke'] != 'OK'){ - echo ""; - $fehler = 'X'; - }else{ - echo ""; - } - - - echo" -
-
-   - -   -
- "; - $titel = "Wurden exakt 4
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" - $titel - -
"; - $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 t1.uid = '$uid1' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - "); - $anzahl_bereich = $res_anz->fetch_array(); - - if($anzahl_bereich['Anzahl'] != 4){ - echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; - echo "

"; - $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 t1.uid = '$uid1' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - "; - - $result3 = $db->query($query3) - or die ("Cannot execute query3"); - echo ""; - 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 ""; - } - echo "
abgedeckte Vertiefungsbereiche:
$stell_bez[bezeichnung]
"; - - }else{ - echo ""; - } - - echo" -

-   - -   -
- "; - $titel = "Zusammenhängende Zeiträume
im Vertiefungsbereich?"; - $text = "Wenn Sie ein Vertiefungsbereich in mehrere Stellen aufgesplittet haben, müssen die gesplitteten Teilbereiche im direkten Anschluss aneinander folgen."; - - echo" - $titel - -
"; - $db = dbconnect(); - - # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; - # echo "

"; - # - - $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 ""; - 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 " - - - "; - } - echo "
abgedeckte Vertiefungsbereiche:Status
$stell_bez[bezeichnung]"; - if($anzahl_bereich['Treffer'] != 1){ - echo "OK"; - }else{ - $fehler = 'X'; - echo "getrennte Zeiträume (unzulässig)"; - } - echo" -
-

-   - -   -
- "; - $titel = "Fristen im Vertiefungsbereich"; - $text = "Ein Vertiefungsbereich muss üblicherweise zwischen 3 und 5 Monate belegt werden.

Für die Sonderfälle Ausland, anderes Bundesland, Privatwirtschaft und Verband gelten spezielle Regelungen. Diese werden bei Bedarf separat geprüft."; - - echo" - $titel - -
"; - $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 t1.uid = '$uid1' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - "; - - $result3 = $db->query($query3) - or die ("Cannot execute query3"); - echo ""; - 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 " - - - "; - } - echo "
abgedeckte Vertiefungsbereiche:Status
$stell_bez[bezeichnung]"; - - // 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 "Mindestdauer unterschritten"; - - $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 "OK"; - }elseif($row_minmax['ueber'] == '1'){ - echo "Mindestdauer überschritten"; - - $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 "OK"; - } - - - }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 "Mindestdauer unterschritten"; - - $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 "Mindestdauer überschritten"; - $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 "OK"; - } - - } - echo" -
-
-   - -   -
- "; - $titel = "Anzahl Sonderfälle"; - $text = "Sie müssen genau 1 Sonderfall belegen

Sonderfälle sind:
- Ausland
- Anderes Bundesland
- Privatwirtschaft
- Verband"; - - echo" - $titel -
"; - $db = dbconnect(); - - # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; - # echo "

"; - # - - $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 b.Merkmal LIKE '%S%' - 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 "Anzahl Sonderfälle falsch: (Anzahl: $row5[0] von 1)"; - $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 "OK (Anzahl: $row5[0])"; - } - - echo " -

-   - -   -
- "; - $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" - $titel - - "; - $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 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 ""; - 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 " - - - "; - } - echo "
StelleStatus
$bezeichnung"; - - // 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 ""; - - }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 " ($error_text)
"; - - - - $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" -
-
-   - -   -
- "; - $titel = "Anzahl Pflichtmodul"; - $text = "Sie müssen das Pflichtmodul belegen

Pflichtmodul ist:
- Gemeinden bis zu 10.000 Einwohner"; - - echo" - $titel -
"; - $db = dbconnect(); - - # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; - # echo "

"; - # - - $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 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 "Anzahl Pflichtmodule falsch: (Anzahl: $row5[0] von 1)"; - $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 "OK (Anzahl: $row5[0])"; - } - - echo " -

-
-
- - -
-
- -
-
"; - -$result6a = $db->query("SELECT distinct 1 - FROM stan_ausnahme - WHERE uid ='$uid1'"); -$row6a = $result6a->fetch_array(); -if($row6a[0] != 1 AND isset($fehler)){ # Bei 4 Blockfeld und Fehler kann man eine Ausnahme beantragen - -echo" -
- - - - -
-
- - - - - - - - - - - - - - - - -
- -
- Ausnahme beantragen
-
-
- - In begründeten Fällen kann eine Ausnahmeregelung beantragt werden.
- Dadurch können Stellen auch dann beantragt werden, wenn Fehlermeldungen auftauchen.
- Ausnahmen können nicht gemacht werden bei
-
    -
  • Unvollständigen Zeiträumen
  • -
  • Nichtabdeckung der 4 vorgeschriebenen Vertiefungsbereiche
  • -

    - - - -

-
-
- - -
-
- -
-
-"; -} // EndIF wenn man Ausnahme beantragen darf -echo" -
- - - - -
-
- - - - - - - - - - - - - - - - -
- -
- zu sendende Änderungsanträge
-
-
- "; - - $query = "SELECT t1.saaid - , t1.dst_id - , DATE_Format(t1.beginn, '%d.%m.%Y') beginn - , DATE_Format(t1.ende, '%d.%m.%Y') ende - , DATE_FORMAT(t1.beginn, '%Y%m%d') beginnform - 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.status = '2' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - ORDER BY beginnform ASC - "; - - $result = $db->query ($query) - or die ("Cannot execute query"); - - - echo" - - - - - - "; - - - while ($row3 = $result->fetch_array()){ - $result5 = $db->query("SELECT concat(bezeichnung, ' ',name) name, ort - FROM stan_dienststellen - WHERE dst_id ='$row3[dst_id]'"); - $row5 = $result5->fetch_array(); - - $result6 = $db->query("SELECT bez, ort - FROM stan_dienststellen_tmp - WHERE dst_id ='$row3[dst_id]'"); - $row6 = $result6->fetch_array(); - - if($row5['name'] != '' and $row6['bez'] == ''){ - $bezeichnung = $row5['name']; - $ort = $row5['ort']; - } - - - if($row5['name'] == '' and $row6['bez'] != ''){ - $bezeichnung = $row6['bez']; - $ort = $row6['ort']; - } - - if($row3['dst_id'] == 0){ - $bezeichnung = 'Zeitraum vorgemerkt'; - $ort = ""; - } - - echo" - - - - - - "; - } - - echo"
- Stellenart - - Ort - - Zeitraum - - Löschen -
- $bezeichnung - - $ort - - $row3[beginn] - $row3[ende] - - - -
"; - - - $res_aend = $db->query("SELECT count(*) anz_aend - FROM stan_antrag - WHERE uid = '$uid1' - AND status = '2' - "); - $anz_aend = $res_aend->fetch_array(); - # Elsif rein: wenn $test AND $anz_aend[anz_aend] > 0 - # elseif anzahl 0 --> nachricht: Keine Änderungsaufträge vorhanden - # else Fehler korrigieren - - $res_ausl = $db->query("SELECT count(*) Anz - 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.status = '2' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - AND t1.art=6 - "); - $anz_ausl = $res_ausl->fetch_array(); - if(isset($anz_ausl['Anz']) and $anz_ausl['Anz'] >0){ - echo "
- - - - - - -
"; - - if($stud['hs'] == 'L'){ - echo " - "; - } - if($stud['hs'] == 'K'){ - echo" - "; - } - echo" -
- "; - } - if(!isset($fehler) AND $anz_aend['anz_aend'] > 0){ // Wenn alle Eintragungen stimmen und nicht verschickte Änderungsanträge vorhanden sind, dann Abschickenbutton anzeigen - if(isset($anz_ausl['Anz']) and $anz_ausl['Anz'] >0){ - echo "

"; - }else{ - echo "

"; - } - }elseif($anz_aend['anz_aend'] == 0){ - echo "

"; - }else{ - echo "

"; - } - - echo " -
-
- - -
-
- -
-
- - -"; - -$result_tmp1 = $db->query("DELETE FROM stan_tmp_check_data WHERE uid='$uid1'"); -break; -case "aenderung": - -$query = "SELECT t1.aendid - ,t1.saaid - 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.status = '2' - AND (t1.zuweisung is NULL OR t1.zuweisung='Z') - "; - -$result = $db->query ($query) - or die ("Cannot execute query"); - - -while ($row3 = $result->fetch_array()){ - -//Änderungsantrag einer Stelle löschen, wenn er noch nicht zugewiesen wurde. In der Folgeverarbeitung muss nichts gemacht werden, -// weil die Dienststelle noch kein Schreiben bekommen hat. - -$result6a = $db->query("SELECT saaid,aendid - FROM stan_antrag - WHERE status='1' - AND aendid = '$row3[aendid]' - AND zuweisung is NULL"); -$row6a = $result6a->fetch_array(); - - -$sql = $db->query ("DELETE FROM stan_antrag - WHERE status='1' - AND aendid = '$row3[aendid]' - AND zuweisung is NULL - "); - - - -// Ist der Antrag schon zugewiesen, dann muss die Zuweisung einen Änderungskenner bekommen, damit die Stelle ein Absage/Änderungsschreiben -// bekommt. -$sql = $db->query ("UPDATE stan_antrag - SET zuweisung ='AE' - WHERE status='1' - AND aendid = '$row3[aendid]' - AND zuweisung = 'Z' - "); - - - -$aend_dat = $datum=date("Y-m-d H:i:s"); - - - -if(isset($row6a['saaid']) AND $row6a['saaid'] == $row6a['aendid']){ -##Bei neuer Stelle auf neuer Position, wird bei nicht zug. ÄA gelöscht. Dann verweist der neue Datensatz ins leere. -##Daher soll in diesem Fall der neue Datensatz des Änderungsantrags aendid=saaid bekommen. - - -$sql = $db->query ("UPDATE stan_antrag - SET status='1' - ,aend_dat = '$aend_dat' - ,aendid=saaid - WHERE status='2' - AND uid = '$uid1' - AND saaid='$row3[saaid]' - and (zuweisung is NULL OR zuweisung!='G') - and (zuweisung is NULL OR zuweisung!='GV') - "); - -}else{ -## Alle Änderunsanträge auf Status 1 setzen -$sql = $db->query ("UPDATE stan_antrag - SET status='1' - ,aend_dat = '$aend_dat' - WHERE status='2' - AND uid = '$uid1' - AND saaid='$row3[saaid]' - and (zuweisung is NULL OR zuweisung!='G') - and (zuweisung is NULL OR zuweisung!='GV') - "); -} - -} -if ($sql){ -echo " - - - - -Änderungsantrag gestellt! - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Änderungsantrag gestellt!
-
-
-
-

- Der Änderungsantrag wurde gestellt.
- Bitte drucken Sie unter Schritt 4 den neuen Antrag auf Zuweisung aus und senden diesen unterschrieben an die zuständige Stelle Ihrer Hochschule. -
-
- Sie werden ggf. zu einem neuen AG-Standort zugeteilt! -
-
- Sie können den Status unter Punkt 4. Status einsehen. -

-

-
-

-

-

-

-

-


-

-
-
- - -
-
-
- -"; - - - - $result2 = $db->query("SELECT mtknr, vorname, nachname, hs, ag, jahrgang FROM stud WHERE uid='$uid1'"); - $row2 = $result2->fetch_array(); - -if($row2['hs'] =='K' or $row2['hs'] =='k'){ //Empfängeradresse selektieren. Je nach Hochshule verschieden - $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=7"); - $row3 = $result3->fetch_array(); - $betreff = "Stellenantragssystem: Kehl"; -}else{ - $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=4"); - $row3 = $result3->fetch_array(); - $betreff = "Stellenantragssystem: Ludwigsburg"; -} - - - $empfaenger = "$row3[wert2]"; - $text = " - - - Änderungsantrag - - - - Guten Tag!

- Im Stellenantragssystem wurde - ein Änderungsantrag gestellt:

-
-
- - - - - - - - - - - - - -
- Name: - - $row2[vorname] $row2[nachname] -
- AG/Jahrgang: - - $row2[ag]/$row2[jahrgang] -
- Matrikelnr: - - $row2[mtknr] -
-

- - Diese Mail wurde automatisch generiert!
- Antworten Sie daher nicht auf diese Mail
-
- Vielen Dank -
- - "; - - - - $headers = "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - - - $return = @mail($empfaenger, $betreff, $text, $headers); - -}else{ -echo "INTERNER FEHLER: GGF NEUER VERSUCH"; -} - - -break; -Case "del": - -$staID = $_GET['ID']; -setcookie("ck_staID",""); -setcookie("ck_staID",$staID); - - -#$res = $db->query("SELECT ort FROM stan_antrag WHERE saaid='$staID'"); -#$row = $res->fetch_array(); - - -echo" - - - - - Datensatz löschen - - - - - - -
-
- - - - - - - - - - - - - - - - -
- -
- Datensatz löschen
-
-
- - - - - -
-

- Möchten sie den Antrag
wirklich löschen?

- - -   - - -

-
-
- - -
-
-
- -"; - -break; -case "del2": - -$saaid = $_COOKIE['ck_staID']; - - -$sql = $db->query ("DELETE FROM stan_antrag WHERE saaid='$saaid'"); - -if ($sql) // Bestätigungsseite bei Erfolg sonst Nichterfolgsmeldung - { - echo " - - - - - Datensatz gelöscht - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Datensatz gelöscht
-
-
-
-

Der Datensatz wurde gelöscht! -

-

-
-

-

-

-

-

-


-

-
-
- - -
-
-
- - "; - }else{ - echo " - - - - - unerwarteter Fehler - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- unerwarteter Fehler
-
-
-
-

Es ist ein interner Fehler aufgetreten!
- Wenden Sie sich bitte umgehend an ihre Zulassungsstelle. -

-

-
-

-

-

-

-

-


-

-
-
- - -
-
-
- - "; - } - -break; -case "del3": - -$Link = basename($_SERVER['PHP_SELF']); -echo " - -"; - -break; -case "ausnahme": - -require("./FCKeditor/fckeditor.php") ; - - -$db = dbconnect(); -$sel_fach = $db->query("SELECT vorname, nachname, mtknr, hs, mail, mail2 FROM stud WHERE uid='$uid1'"); // ausw_ausg = wpf.id -$stud = $sel_fach->fetch_array(); - - -if($stud['hs'] =='K' or $stud['hs'] =='k'){ //Empfängeradresse selektieren. Je nach Hochshule verschieden - $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=7"); - $row3 = $result3->fetch_array(); - $hs = 'Kehl'; -}else{ - $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=4"); - $row3 = $result3->fetch_array(); - $hs = 'Ludwigsburg'; -} - -echo " - - - - -Mail an Wahlpflichtfach - - - - - - -
-
- - - - - - - - - - - - - - - - -
- -
- Mail an Hochschule $hs
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Absender:$stud[vorname] $stud[nachname]
Mail-Adresse Absender:$stud[mail]
  
Mail-Adresse Empfänger:$row3[wert2]
  
Betreff:Antrag auf Ausnahmeregelung für $stud[vorname] $stud[nachname] ($stud[mtknr])
  
  
  
Hinweis: - Der Antrag ist so ausführlich wie möglich zu begründen. Dies beinhaltet: -
    -
  • welche Ausnahme beantragt wird
  • -
  • Gründe für die Ausnahme im Hinblick auf die Ausbildung
  • -
  • Angabe der genauen Tätigkeit bei der Stelle
  • -
  • Beschreibung der Stelle mit Aufgaben und Personal.
  • -
-
  
Nachricht:"; - $oFCKeditor = new FCKeditor('inhalt') ; - $oFCKeditor->BasePath = './FCKeditor/'; - #$oFCKeditor->Value = 'Default text in editor'; - $oFCKeditor->ToolbarSet = 'Basic'; - $oFCKeditor->Width = '100%' ; - $oFCKeditor->Height = '200' ; - $oFCKeditor->Create() ; - echo" - -
 Kopie der Mail erhalten
-
- -
-
-
- - -
-
-
- -"; - - -break; -case "ausgabe2": -$mtknr=$_COOKIE["ck_mtknr1"]; - -$empfaenger = $_POST['empfaenger']; -$betreff = $_POST['betreff']; -$text = stripslashes( $_POST['inhalt'] ); -$sender = $_POST['sender']; -$sendermail = $_POST['sendermail']; -$kopie = $_POST['kopie']; -// echo"$empfaenger

$betreff

$text

$sender

$sendermail"; -// Emailversand: -if ($kopie) -{ - $empfaenger .= ", $sendermail"; -} - - -if($text == ''){ -echo" - - - - -Mailversand - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Pflichtfelder ausfüllen
-
-
-

Bitte füllen Sie alle Felder aus! -

-

-

-
-

-
- - -
-
-
- -"; - -} - - -## Mailversand: -$headers = "From: $sender <$sendermail>\r\n"; -$headers .= "MIME-Version: 1.0\r\n"; -$headers .= "Content-type: text/html; charset=utf-8\r\n"; -$return = @mail($empfaenger, $betreff, $text, $headers); - -// Bestätigungsseite - -if ($return) -{ -echo" - - - - -Mailversand - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Mailversand erfolgreich
-
-
-

Die E-Mail wurde verschickt! -

-

-

- -
- -

-
- - -
-
-
- -"; -} else { -echo" - - - - -Mailversand - - - - - - -
-
- - - - - - - - - - - - - - - - - -
- -
- Mailversand fehlgeschlagen
-
-
-

Die E-Mail wurde nicht verschickt!

- Es trat ein unbekannter Fehler auf. Bitte wenden Sie sich an ihre Zulassungsstelle -
-

-

-

- -
-

-
- - -
-
-
- -"; -} //End if - - - - -} -?> +query("SELECT Jahrgang FROM stud WHERE uid=\"$uid1\""); +$stud_jahr = $res->fetch_array(); + +$anm_schluss = $db->query("SELECT DATE_Format(anmeldeschluss, '%d.%m.%Y um %H:%i:%s Uhr')AS endeform, DATE_Format(anmeldeschluss, '%Y%m%d%H%i%s')AS enddatum + FROM stan_frist + WHERE jahrgang=\"$stud_jahr[Jahrgang]\""); +$row_schluss = $anm_schluss->fetch_array(); // Herausfinden des Beginn- Schlussdatums + +$a = strtotime ($heute_format); //Umrechnung des Fristgrenztages in eine Zahl +$b = strtotime ($row_schluss['enddatum']); // Umrechnung des Enddatums in eine Zahl + +# Wenn Erstanträge abgesendet wurden, dürfen keine Stellen mehr vorgemerkt werden +$res2 = $db->query("SELECT distinct status + FROM stan_antrag + WHERE uid='$uid1' + LIMIT 1"); +$stud_status = $res2->fetch_array(); + +if($stud_status['status'] != '0'){ + + if ($a <= $b){ + echo " + + + + + Prüfung nicht möglich + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Prüfung nicht möglich
+
+
+
+

Änderungsanträge können erst
nach Anmeldeschluss oder gestelltem Erstantrag
abgegeben werden!
+
Sie können bis zum $row_schluss[endeform]
Anträge abgeben. +

+

+
+

+

+

+

+

+


+

+
+
+ + +
+
+
+ + "; + exit; + } // Ende Überprüfung der Zeitüberschreitung +} +################# + +if (isset($_GET['action'])) + $action = $_GET['action']; +else + $action = ""; + +switch($action){ +default: + + +$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 " + + + + + + + + +Daten prüfen Änderungsantrag + + +

+ + + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ Daten prüfen
Antrag von $row[vorname] $row[nachname]

+
+
+ + + + + + + + + + + + + + + + + + + + + "; + + + $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" + + + + + + + + "; + } + echo" + + + + + + + + + + + + + + + + + "; +/* + if($row5[0] >= 1){ # Wenn man ein Sonderfall hat, dann auch chekcen, ob 3 Monatsfrist exakt eingehalten wurde + echo" + + + + + + + + + "; + + } // Ende ob Sonderfall vorhanden +*/ +if($row['Jahrgang'] >= '17'){ +# Pflichtmodul ab jahrgang 17 + echo " + + + + + + + + + "; +# Pflichtmodul Ende +} // Ende > jahrgang 17 + echo" + + + + + + +
+ "; + $titel = "Persönliche Daten"; + $text = "Ihre persönlichen Daten müssen zu jedem Zeitpunkt während des Praxisjahres aktuell sein.

Achten Sie darauf, dass im System eine Mailadresse hinterlegt ist, die Sie regelmäßig abrufen"; + + echo" + $titel +
"; + $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 ""; + $fehler = 'X'; + }else{ + if($stud['hs'] == 'L' or $stud['hs'] == 'K'){ + echo ""; + }else{ + echo ""; + $fehler = 'X'; + } + + } + + echo" +
+   + +   +
+ "; + $titel = "Anträge"; + $text = "Ihre Anträge werden nach Datum aufsteigend aufgelistet.

Die Zeiträume dürfen keine Lücken und keine Überschneidungen aufweisen.

Urlaube werden nicht hier im System eingeplant. Diese werden direkt bei der Praxisstelle genommen."; + + echo" + $titel +
"; + + $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 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 ""; + 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(); + + if($row5['name'] != '' and $row6['bez'] == ''){ + $bezeichnung = $row5['name']; + } + + + if($row5['name'] == '' and $row6['bez'] != ''){ + $bezeichnung = $row6['bez']; + } + + if($row5['name'] == '' and $row6['bez'] == ''){ + + if($row2['bezeichnung'] == 'Antragszeitraum Beginn' or $row2['bezeichnung'] == 'Antragszeitraum Ende'){ + $bezeichnung = $row2['bezeichnung']; + }else{ + $bezeichnung = 'Zeitraum vorgemerkt'; + } + } + + + echo" + + + + + + + "; + } + + + echo" + +
+ $bezeichnung + "; + if($row2['bezeichnung'] == 'Antragszeitraum Beginn'){ + echo"$row3[antrag_von]"; + }elseif($row2['bezeichnung'] == 'Antragszeitraum Ende'){ + echo"$row3[antrag_bis]"; + }else{ + echo"$row2[beginn] - $row2[ende]"; + } + + + #Sonderfälle ausgeben: 2019-02-21 + $sonderpflicht = ""; + $result6 = $db->query("SELECT count(*) Anz + FROM stan_antrag + WHERE saaid ='$row2[saaid]' + AND art IN (SELECT artid FROM stan_stellenart WHERE Merkmal like '%S%')"); + $row6 = $result6->fetch_array(); + if($row6['Anz'] > 0 AND $row2['bezeichnung'] != 'Antragszeitraum Beginn' AND $row2['bezeichnung'] != 'Antragszeitraum Ende'){ + $sonderpflicht = 'Sonderfall'; + } + $result6 = $db->query("SELECT count(*) Anz + FROM stan_antrag + WHERE saaid ='$row2[saaid]' + AND art IN (SELECT artid FROM stan_stellenart WHERE Merkmal like '%P%')"); + $row6 = $result6->fetch_array(); + if($row6['Anz'] > 0 AND $row2['bezeichnung'] != 'Antragszeitraum Beginn' AND $row2['bezeichnung'] != 'Antragszeitraum Ende'){ + $sonderpflicht = 'Pflichtmodul'; + } + + echo" + + $sonderpflicht + "; + if($row2['Luecke'] != 'OK'){ + echo ""; + $fehler = 'X'; + }else{ + echo ""; + } + + + echo" +
+
+   + +   +
+ "; + $titel = "Wurden exakt 4
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" + $titel + +
"; + $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 t1.uid = '$uid1' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + "); + $anzahl_bereich = $res_anz->fetch_array(); + + if($anzahl_bereich['Anzahl'] != 4){ + echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; + echo "

"; + $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 t1.uid = '$uid1' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + "; + + $result3 = $db->query($query3) + or die ("Cannot execute query3"); + echo ""; + 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 ""; + } + echo "
abgedeckte Vertiefungsbereiche:
$stell_bez[bezeichnung]
"; + + }else{ + echo ""; + } + + echo" +

+   + +   +
+ "; + $titel = "Zusammenhängende Zeiträume
im Vertiefungsbereich?"; + $text = "Wenn Sie ein Vertiefungsbereich in mehrere Stellen aufgesplittet haben, müssen die gesplitteten Teilbereiche im direkten Anschluss aneinander folgen."; + + echo" + $titel + +
"; + $db = dbconnect(); + + # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; + # echo "

"; + # + + $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 ""; + 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 " + + + "; + } + echo "
abgedeckte Vertiefungsbereiche:Status
$stell_bez[bezeichnung]"; + if($anzahl_bereich['Treffer'] != 1){ + echo "OK"; + }else{ + $fehler = 'X'; + echo "getrennte Zeiträume (unzulässig)"; + } + echo" +
+

+   + +   +
+ "; + $titel = "Fristen im Vertiefungsbereich"; + $text = "Ein Vertiefungsbereich muss üblicherweise zwischen 3 und 5 Monate belegt werden.

Für die Sonderfälle Ausland, anderes Bundesland, Privatwirtschaft und Verband gelten spezielle Regelungen. Diese werden bei Bedarf separat geprüft."; + + echo" + $titel + +
"; + $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 t1.uid = '$uid1' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + "; + + $result3 = $db->query($query3) + or die ("Cannot execute query3"); + echo ""; + 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 " + + + "; + } + echo "
abgedeckte Vertiefungsbereiche:Status
$stell_bez[bezeichnung]"; + + // 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 "Mindestdauer unterschritten"; + + $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 "OK"; + }elseif($row_minmax['ueber'] == '1'){ + echo "Mindestdauer überschritten"; + + $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 "OK"; + } + + + }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 "Mindestdauer unterschritten"; + + $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 "Mindestdauer überschritten"; + $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 "OK"; + } + + } + echo" +
+
+   + +   +
+ "; + $titel = "Anzahl Sonderfälle"; + $text = "Sie müssen genau 1 Sonderfall belegen

Sonderfälle sind:
- Ausland
- Anderes Bundesland
- Privatwirtschaft
- Verband"; + + echo" + $titel +
"; + $db = dbconnect(); + + # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; + # echo "

"; + # + + $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 b.Merkmal LIKE '%S%' + 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 "Anzahl Sonderfälle falsch: (Anzahl: $row5[0] von 1)"; + $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 "OK (Anzahl: $row5[0])"; + } + + echo " +

+   + +   +
+ "; + $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" + $titel + + "; + $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 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 ""; + 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 " + + + "; + } + echo "
StelleStatus
$bezeichnung"; + + // 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 ""; + + }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 " ($error_text)
"; + + + + $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" +
+
+   + +   +
+ "; + $titel = "Anzahl Pflichtmodul"; + $text = "Sie müssen das Pflichtmodul belegen

Pflichtmodul ist:
- Gemeinden bis zu 10.000 Einwohner"; + + echo" + $titel +
"; + $db = dbconnect(); + + # echo " ($anzahl_bereich[Anzahl] von 4 notwendigen Vertiefungsbereichen wurden abgedeckt)"; + # echo "

"; + # + + $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 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 "Anzahl Pflichtmodule falsch: (Anzahl: $row5[0] von 1)"; + $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 "OK (Anzahl: $row5[0])"; + } + + echo " +

+
+
+ + +
+
+ +
+
"; + +$result6a = $db->query("SELECT distinct 1 + FROM stan_ausnahme + WHERE uid ='$uid1'"); +$row6a = $result6a->fetch_array(); +if($row6a[0] != 1 AND isset($fehler)){ # Bei 4 Blockfeld und Fehler kann man eine Ausnahme beantragen + +echo" +
+ + + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ Ausnahme beantragen
+
+
+ + In begründeten Fällen kann eine Ausnahmeregelung beantragt werden.
+ Dadurch können Stellen auch dann beantragt werden, wenn Fehlermeldungen auftauchen.
+ Ausnahmen können nicht gemacht werden bei
+
    +
  • Unvollständigen Zeiträumen
  • +
  • Nichtabdeckung der 4 vorgeschriebenen Vertiefungsbereiche
  • +

    + + + +

+
+
+ + +
+
+ +
+
+"; +} // EndIF wenn man Ausnahme beantragen darf +echo" +
+ + + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ zu sendende Änderungsanträge
+
+
+ "; + + $query = "SELECT t1.saaid + , t1.dst_id + , DATE_Format(t1.beginn, '%d.%m.%Y') beginn + , DATE_Format(t1.ende, '%d.%m.%Y') ende + , DATE_FORMAT(t1.beginn, '%Y%m%d') beginnform + 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.status = '2' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + ORDER BY beginnform ASC + "; + + $result = $db->query ($query) + or die ("Cannot execute query"); + + + echo" + + + + + + "; + + + while ($row3 = $result->fetch_array()){ + $result5 = $db->query("SELECT concat(bezeichnung, ' ',name) name, ort + FROM stan_dienststellen + WHERE dst_id ='$row3[dst_id]'"); + $row5 = $result5->fetch_array(); + + $result6 = $db->query("SELECT bez, ort + FROM stan_dienststellen_tmp + WHERE dst_id ='$row3[dst_id]'"); + $row6 = $result6->fetch_array(); + + if($row5['name'] != '' and $row6['bez'] == ''){ + $bezeichnung = $row5['name']; + $ort = $row5['ort']; + } + + + if($row5['name'] == '' and $row6['bez'] != ''){ + $bezeichnung = $row6['bez']; + $ort = $row6['ort']; + } + + if($row3['dst_id'] == 0){ + $bezeichnung = 'Zeitraum vorgemerkt'; + $ort = ""; + } + + echo" + + + + + + "; + } + + echo"
+ Stellenart + + Ort + + Zeitraum + + Löschen +
+ $bezeichnung + + $ort + + $row3[beginn] - $row3[ende] + + + +
"; + + + $res_aend = $db->query("SELECT count(*) anz_aend + FROM stan_antrag + WHERE uid = '$uid1' + AND status = '2' + "); + $anz_aend = $res_aend->fetch_array(); + # Elsif rein: wenn $test AND $anz_aend[anz_aend] > 0 + # elseif anzahl 0 --> nachricht: Keine Änderungsaufträge vorhanden + # else Fehler korrigieren + + $res_ausl = $db->query("SELECT count(*) Anz + 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.status = '2' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + AND t1.art=6 + "); + $anz_ausl = $res_ausl->fetch_array(); + if(isset($anz_ausl['Anz']) and $anz_ausl['Anz'] >0){ + echo "
+ + + + + + +
"; + + if($stud['hs'] == 'L'){ + echo " + "; + } + if($stud['hs'] == 'K'){ + echo" + "; + } + echo" +
+ "; + } + if(!isset($fehler) AND $anz_aend['anz_aend'] > 0){ // Wenn alle Eintragungen stimmen und nicht verschickte Änderungsanträge vorhanden sind, dann Abschickenbutton anzeigen + if(isset($anz_ausl['Anz']) and $anz_ausl['Anz'] >0){ + echo "

"; + }else{ + echo "

"; + } + }elseif($anz_aend['anz_aend'] == 0){ + echo "

"; + }else{ + echo "

"; + } + + echo " +
+
+ + +
+
+ +
+
+ + +"; + +$result_tmp1 = $db->query("DELETE FROM stan_tmp_check_data WHERE uid='$uid1'"); +break; +case "aenderung": + +$query = "SELECT t1.aendid + ,t1.saaid + 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.status = '2' + AND (t1.zuweisung is NULL OR t1.zuweisung='Z') + "; + +$result = $db->query ($query) + or die ("Cannot execute query"); + + +while ($row3 = $result->fetch_array()){ + +//Änderungsantrag einer Stelle löschen, wenn er noch nicht zugewiesen wurde. In der Folgeverarbeitung muss nichts gemacht werden, +// weil die Dienststelle noch kein Schreiben bekommen hat. + +$result6a = $db->query("SELECT saaid,aendid + FROM stan_antrag + WHERE status='1' + AND aendid = '$row3[aendid]' + AND zuweisung is NULL"); +$row6a = $result6a->fetch_array(); + + +$sql = $db->query ("DELETE FROM stan_antrag + WHERE status='1' + AND aendid = '$row3[aendid]' + AND zuweisung is NULL + "); + + + +// Ist der Antrag schon zugewiesen, dann muss die Zuweisung einen Änderungskenner bekommen, damit die Stelle ein Absage/Änderungsschreiben +// bekommt. +$sql = $db->query ("UPDATE stan_antrag + SET zuweisung ='AE' + WHERE status='1' + AND aendid = '$row3[aendid]' + AND zuweisung = 'Z' + "); + + + +$aend_dat = $datum=date("Y-m-d H:i:s"); + + + +if(isset($row6a['saaid']) AND $row6a['saaid'] == $row6a['aendid']){ +##Bei neuer Stelle auf neuer Position, wird bei nicht zug. ÄA gelöscht. Dann verweist der neue Datensatz ins leere. +##Daher soll in diesem Fall der neue Datensatz des Änderungsantrags aendid=saaid bekommen. + + +$sql = $db->query ("UPDATE stan_antrag + SET status='1' + ,aend_dat = '$aend_dat' + ,aendid=saaid + WHERE status='2' + AND uid = '$uid1' + AND saaid='$row3[saaid]' + and (zuweisung is NULL OR zuweisung!='G') + and (zuweisung is NULL OR zuweisung!='GV') + "); + +}else{ +## Alle Änderunsanträge auf Status 1 setzen +$sql = $db->query ("UPDATE stan_antrag + SET status='1' + ,aend_dat = '$aend_dat' + WHERE status='2' + AND uid = '$uid1' + AND saaid='$row3[saaid]' + and (zuweisung is NULL OR zuweisung!='G') + and (zuweisung is NULL OR zuweisung!='GV') + "); +} + +} +if ($sql){ +echo " + + + + +Änderungsantrag gestellt! + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Änderungsantrag gestellt!
+
+
+
+

+ Der Änderungsantrag wurde gestellt.
+ Bitte drucken Sie unter Schritt 4 den neuen Antrag auf Zuweisung aus und senden diesen unterschrieben an die zuständige Stelle Ihrer Hochschule. +
+
+ Sie werden ggf. zu einem neuen AG-Standort zugeteilt! +
+
+ Sie können den Status unter Punkt 4. Status einsehen. +

+

+
+

+

+

+

+

+


+

+
+
+ + +
+
+
+ +"; + + + + $result2 = $db->query("SELECT mtknr, vorname, nachname, hs, ag, jahrgang FROM stud WHERE uid='$uid1'"); + $row2 = $result2->fetch_array(); + +if($row2['hs'] =='K' or $row2['hs'] =='k'){ //Empfängeradresse selektieren. Je nach Hochshule verschieden + $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=7"); + $row3 = $result3->fetch_array(); + $betreff = "Stellenantragssystem: Kehl"; +}else{ + $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=4"); + $row3 = $result3->fetch_array(); + $betreff = "Stellenantragssystem: Ludwigsburg"; +} + + + $empfaenger = "$row3[wert2]"; + $text = " + + + Änderungsantrag + + + + Guten Tag!

+ Im Stellenantragssystem wurde + ein Änderungsantrag gestellt:

+
+
+ + + + + + + + + + + + + +
+ Name: + + $row2[vorname] $row2[nachname] +
+ AG/Jahrgang: + + $row2[ag]/$row2[jahrgang] +
+ Matrikelnr: + + $row2[mtknr] +
+

+ + Diese Mail wurde automatisch generiert!
+ Antworten Sie daher nicht auf diese Mail
+
+ Vielen Dank +
+ + "; + + + + $headers = "MIME-Version: 1.0\r\n"; + $headers .= "Content-type: text/html; charset=utf-8\r\n"; + + + $return = @mail($empfaenger, $betreff, $text, $headers); + +}else{ +echo "INTERNER FEHLER: GGF NEUER VERSUCH"; +} + + +break; +Case "del": + +$staID = $_GET['ID']; +setcookie("ck_staID",""); +setcookie("ck_staID",$staID); + + +#$res = $db->query("SELECT ort FROM stan_antrag WHERE saaid='$staID'"); +#$row = $res->fetch_array(); + + +echo" + + + + + Datensatz löschen + + + + + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ Datensatz löschen
+
+
+ + + + + +
+

+ Möchten sie den Antrag
wirklich löschen?

+ + +   + + +

+
+
+ + +
+
+
+ +"; + +break; +case "del2": + +$saaid = $_COOKIE['ck_staID']; + + +$sql = $db->query ("DELETE FROM stan_antrag WHERE saaid='$saaid'"); + +if ($sql) // Bestätigungsseite bei Erfolg sonst Nichterfolgsmeldung + { + echo " + + + + + Datensatz gelöscht + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Datensatz gelöscht
+
+
+
+

Der Datensatz wurde gelöscht! +

+

+
+

+

+

+

+

+


+

+
+
+ + +
+
+
+ + "; + }else{ + echo " + + + + + unerwarteter Fehler + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ unerwarteter Fehler
+
+
+
+

Es ist ein interner Fehler aufgetreten!
+ Wenden Sie sich bitte umgehend an ihre Zulassungsstelle. +

+

+
+

+

+

+

+

+


+

+
+
+ + +
+
+
+ + "; + } + +break; +case "del3": + +$Link = basename($_SERVER['PHP_SELF']); +echo " + +"; + +break; +case "ausnahme": + +require("./FCKeditor/fckeditor.php") ; + + +$db = dbconnect(); +$sel_fach = $db->query("SELECT vorname, nachname, mtknr, hs, mail, mail2 FROM stud WHERE uid='$uid1'"); // ausw_ausg = wpf.id +$stud = $sel_fach->fetch_array(); + + +if($stud['hs'] =='K' or $stud['hs'] =='k'){ //Empfängeradresse selektieren. Je nach Hochshule verschieden + $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=7"); + $row3 = $result3->fetch_array(); + $hs = 'Kehl'; +}else{ + $result3 = $db->query("SELECT wert2 FROM parameter WHERE pid=4"); + $row3 = $result3->fetch_array(); + $hs = 'Ludwigsburg'; +} + +echo " + + + + +Mail an Wahlpflichtfach + + + + + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ Mail an Hochschule $hs
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Absender:$stud[vorname] $stud[nachname]
Mail-Adresse Absender:$stud[mail]
  
Mail-Adresse Empfänger:$row3[wert2]
  
Betreff:Antrag auf Ausnahmeregelung für $stud[vorname] $stud[nachname] ($stud[mtknr])
  
  
  
Hinweis: + Der Antrag ist so ausführlich wie möglich zu begründen. Dies beinhaltet: +
    +
  • welche Ausnahme beantragt wird
  • +
  • Gründe für die Ausnahme im Hinblick auf die Ausbildung
  • +
  • Angabe der genauen Tätigkeit bei der Stelle
  • +
  • Beschreibung der Stelle mit Aufgaben und Personal.
  • +
+
  
Nachricht:"; + $oFCKeditor = new FCKeditor('inhalt') ; + $oFCKeditor->BasePath = './FCKeditor/'; + #$oFCKeditor->Value = 'Default text in editor'; + $oFCKeditor->ToolbarSet = 'Basic'; + $oFCKeditor->Width = '100%' ; + $oFCKeditor->Height = '200' ; + $oFCKeditor->Create() ; + echo" + +
 Kopie der Mail erhalten
+
+ +
+
+
+ + +
+
+
+ +"; + + +break; +case "ausgabe2": +$mtknr=$_COOKIE["ck_mtknr1"]; + +$empfaenger = $_POST['empfaenger']; +$betreff = $_POST['betreff']; +$text = stripslashes( $_POST['inhalt'] ); +$sender = $_POST['sender']; +$sendermail = $_POST['sendermail']; +$kopie = $_POST['kopie']; +// echo"$empfaenger

$betreff

$text

$sender

$sendermail"; +// Emailversand: +if ($kopie) +{ + $empfaenger .= ", $sendermail"; +} + + +if($text == ''){ +echo" + + + + +Mailversand + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Pflichtfelder ausfüllen
+
+
+

Bitte füllen Sie alle Felder aus! +

+

+

+
+

+
+ + +
+
+
+ +"; + +} + + +## Mailversand: +$headers = "From: $sender <$sendermail>\r\n"; +$headers .= "MIME-Version: 1.0\r\n"; +$headers .= "Content-type: text/html; charset=utf-8\r\n"; +$return = @mail($empfaenger, $betreff, $text, $headers); + +// Bestätigungsseite + +if ($return) +{ +echo" + + + + +Mailversand + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Mailversand erfolgreich
+
+
+

Die E-Mail wurde verschickt! +

+

+

+ +
+ +

+
+ + +
+
+
+ +"; +} else { +echo" + + + + +Mailversand + + + + + + +
+
+ + + + + + + + + + + + + + + + + +
+ +
+ Mailversand fehlgeschlagen
+
+
+

Die E-Mail wurde nicht verschickt!

+ Es trat ein unbekannter Fehler auf. Bitte wenden Sie sich an ihre Zulassungsstelle +
+

+

+

+ +
+

+
+ + +
+
+
+ +"; +} //End if + + + + +} +?>