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_sozuw'"); $row = $result->fetch_array(); if ($row[0] != 1){ include("kurs/rechte.php"); exit;} // Rechteüberprüfung ende if (isset($_GET['action'])) $action = $_GET['action']; else $action = ""; switch($action){ default: echo" Prioritäten bearbeiten

Standortzuweisung
"; $db = dbconnect(); $query = "SELECT agsid, a.sid, standort, vbid FROM stan_standort a, stan_ag_standort b WHERE a.sid=b.sid AND jahr='$jahrgang' ORDER BY standort"; $result = $db->query($query) or die ("Cannot execute query"); while ($row = $result->fetch_array()){ $result1 = $db->query("SELECT count(distinct a.uid) anzahl FROM stan_ag_standort_wunsch a, stan_ag_standort b WHERE a.wagsid = b.agsid AND b.jahr = '$jahrgang' AND a.wagsid = '$row[agsid]' AND a.prio = '0' "); $row1 = $result1->fetch_array(); $result2 = $db->query("SELECT bezeichnung FROM stan_vertiefungsbereich WHERE vbid = '$row[vbid]' "); $row2 = $result2->fetch_array(); echo " "; } echo "
Bezeichnung   Auswahl

$row[standort] ($row2[bezeichnung])

 


"; break; case "bearbeiten": if(isset($_POST["aus_bearb"])){ $agsid = $_POST["aus_bearb"]; }else{ $agsid = $_GET["agsid"]; } setcookie("ck_agsid",""); setcookie("ck_agsid","$agsid"); $result2 = $db->query("SELECT standort FROM stan_ag_standort a, stan_standort b WHERE a.sid = b.sid AND a.agsid='$agsid' "); $row2 = $result2->fetch_array(); $standort = $row2[standort]; echo" Erfasste Termine

Termin wählen für Standortzuweisung
Standort: $standort
"; $db = dbconnect(); $ln_zaehler = 1; // Zähler für Anzahl der Termine $query = "SELECT DATE_Format(datum, '%d.%m.%y') Datum_von , DATE_Format(datum, '%H:%i') Zeit_von , DATE_Format(datum, '%d') tag_von , DATE_Format(datum, '%m') mon_von , DATE_Format(datum, '%y') jahr_von , oertlichkeit , hinweis , status , c.bezeichnung , DatID FROM stan_ag_standort_termine a, stan_ag_standort b, stan_vertiefungsbereich c WHERE a.fagsid = b.agsid AND c.vbid = b.vbid AND b.jahr='$jahrgang' AND b.agsid='$agsid' ORDER BY b.vbid, a.datum ASC"; $result = $db->query ($query) or die ("Cannot execute query"); while ($row = $result->fetch_array()){ $res_tn = $db->query("SELECT count(*) Anz FROM stan_ag_standort_termine a, stan_ag_standort b, stan_ag_standort_wunsch c, stan_antrag d, stud f WHERE a.fagsid =b.agsid AND b.agsid = c.wagsid AND c.saaid=d.saaid AND d.uid = f.uid AND a.datid='$row[DatID]' AND DATE_Format(a.datum,'%Y%m%d') >=DATE_Format(d.beginn,'%Y%m%d') AND DATE_Format(a.datum,'%Y%m%d') <=DATE_Format(d.ende,'%Y%m%d') AND c.prio='0' AND f.durchgefallen != 'Y' AND f.jahrgang = '$jahrgang' AND f.stg='I' AND d.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE d.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND (d.zuweisung != 'EZ' AND d.zuweisung != 'E') ORDER BY f.nachname "); $row_tn = $res_tn->fetch_array(); $res_tn1 = $db->query("SELECT count(*) Anz FROM stan_ag_standort_termine a, stan_ag_standort b, stan_ag_standort_wunsch c, stan_antrag d, stud f WHERE a.fagsid =b.agsid AND b.agsid = c.wagsid AND c.saaid=d.saaid AND d.uid = f.uid AND a.datid='$row[DatID]' AND DATE_Format(a.datum,'%Y%m%d') >=DATE_Format(d.beginn,'%Y%m%d') AND DATE_Format(a.datum,'%Y%m%d') <=DATE_Format(d.ende,'%Y%m%d') AND c.prio='1' AND f.durchgefallen != 'Y' AND f.jahrgang = '$jahrgang' AND f.stg='I' AND d.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE d.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND (d.zuweisung != 'EZ' AND d.zuweisung != 'E') ORDER BY f.nachname "); $row_tn1 = $res_tn1->fetch_array(); $wochentag_von = date("l", mktime(0,0,0,$row['mon_von'],$row['tag_von'],$row['jahr_von'])); switch($wochentag_von) { case 'Sunday': $wochentag_von = "So."; break; case 'Monday': $wochentag_von = "Mo."; break; case 'Tuesday': $wochentag_von = "Di."; break; case 'Wednesday': $wochentag_von = "Mi."; break; case 'Thursday': $wochentag_von = "Do."; break; case 'Friday': $wochentag_von = "Fr."; break; case 'Saturday': $wochentag_von = "Sa."; break; } ### Berechnung nicht zugewiesene Stellen $result_ist = $db->query("SELECT count(*) Anz FROM stan_ag_standort_termine a, stan_ag_standort b, stan_ag_standort_wunsch c, stan_antrag d, stud f WHERE a.fagsid =b.agsid AND b.agsid = c.wagsid AND c.saaid=d.saaid AND d.uid = f.uid AND a.datid='$row[DatID]' AND DATE_Format(a.datum,'%Y%m%d') >=DATE_Format(d.beginn,'%Y%m%d') AND DATE_Format(a.datum,'%Y%m%d') <=DATE_Format(d.ende,'%Y%m%d') AND (c.prio='0' or c.prio=(SELECT CASE 1 WHEN (SELECT count(*) FROM stan_ag_standort_wunsch e WHERE e.uid=c.uid AND c.saaid=e.saaid GROUP BY uid )>2 THEN '0' ELSE '1' END ) ) AND f.durchgefallen != 'Y' AND f.jahrgang = '$jahrgang' AND f.stg='I' AND d.status = (SELECT MAX(t2.status) FROM stan_antrag t2 WHERE d.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND (d.zuweisung != 'EZ' AND d.zuweisung != 'E') ORDER BY f.nachname"); $row_ist = $result_ist->fetch_array(); $anzahl_unzug= $row_ist[Anz]-$row_tn[Anz]; echo" "; $ln_zaehler = $ln_zaehler+1; } echo"
Nr Beginn Vertiefungsbereich Anz. zugewiesene Teilnehmer Nicht zugewiesene Teilnehmer Anz. Prio. 1 Auswahl
$ln_zaehler $wochentag_von $row[Datum_von] um $row[Zeit_von] Uhr $row[bezeichnung] $row_tn[Anz] $anzahl_unzug $row_tn1[Anz] "; if($row_tn1[Anz] != 0 OR $row_tn[Anz] !=0){ echo"
"; }else{ echo "keine: $row_tn1[Anz]"; } echo"



"; break; case "bearbeiten2": $datid = $_POST["termin"]; setcookie("ck_datid",""); setcookie("ck_datid","$datid"); $agsid =$_COOKIE["ck_agsid"]; $db = dbconnect(); $sel_so = $db->query("SELECT a.sid, standort, vbid FROM stan_standort a, stan_ag_standort b WHERE a.sid=b.sid AND b.agsid='$agsid'"); $bez_so = $sel_so->fetch_array(); setcookie("ck_vbid",""); setcookie("ck_vbid","$bez_so[vbid]"); $sel_vt = $db->query("SELECT bezeichnung FROM stan_vertiefungsbereich WHERE vbid = '$bez_so[vbid]' "); $bez_vt = $sel_vt->fetch_array(); $sel_dat = $db->query("SELECT date_format(datum, '%d.%m.%Y um %H:%i:%s Uhr') datum FROM stan_ag_standort_termine WHERE datid='$datid'"); $row_dat = $sel_dat->fetch_array(); echo " PU Prioritäten bearbeiten

Zuordnung der Studenten zu den AG-Standorten
Standort: $bez_so[standort] ($bez_vt[bezeichnung])
Termin: $row_dat[datum]
"; $db = dbconnect(); # Selektiere alle Studenten, die Prio=0 haben, wenn der Student keine Prio=0 hat (noch keine Zuweisung), dann Prio 1 verwenden # technisch gesehen, wird die summe der Prios pro Stelle gezählt. bei 2 Prios fehlt Prio 0 und es muss nach Prio 1 gesucht werden $result = $db->query("SELECT distinct f.uid, vorname, nachname, ag, jahrgang, d.saaid, vbid, hs FROM stan_ag_standort_termine a, stan_ag_standort b, stan_ag_standort_wunsch c, stan_antrag d, stud f WHERE a.fagsid =b.agsid AND b.agsid = c.wagsid AND c.saaid=d.saaid AND d.uid = f.uid AND a.datid='$datid' AND DATE_Format(a.datum,'%Y%m%d') >=DATE_Format(d.beginn,'%Y%m%d') AND DATE_Format(a.datum,'%Y%m%d') <=DATE_Format(d.ende,'%Y%m%d') AND (c.prio='0' or c.prio=(SELECT CASE 1 WHEN (SELECT count(*) FROM stan_ag_standort_wunsch e WHERE e.uid=c.uid AND c.saaid=e.saaid GROUP BY uid)>2 THEN '0' ELSE '1' END ) ) AND f.durchgefallen != 'Y' AND f.jahrgang = '$jahrgang' AND f.stg='I' AND d.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE d.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND (d.zuweisung != 'EZ' AND d.zuweisung != 'E') ORDER BY f.nachname"); while ($row = $result->fetch_array()){ /* ## Abfrage selektiert alle Studenten, die Prio 1 haben. Eigentlich braucht man hier ein Full outer join (left outer join und right outer join). Den gibts # in MYSQL nicht, daher left outer und right outer mit union kombiniert. Das ergibt full outer join # Mann möchte alle datensätze von der wunschtabelle und die Datensätze von der Zuordnugnstabelle eines Termins und Standorts # Wenn man der Admin entgegen der Erstwahl zuweist ist der aktuelle Standort in wunsch so nicht vertreten sondern nur in zuord. # Aus diesem Grund benötigt man right outer join $result = $db->query("SELECT ifnull(e.wagsid,b.wagsid) wagsid, d.uid, vorname, nachname, ag, jahrgang, c.beginn, c.ende, c.saaid, c.vert_bereich vbid, d.hs FROM stan_ag_standort_termine a, stan_antrag c, stud d, stan_ag_standort_wunsch b LEFT OUTER JOIN stan_ag_standort_zuord e ON (b.saaid=e.saaid) WHERE a.fagsid =b.wagsid AND b.saaid = c.saaid AND d.uid= b.uid AND a.datid='$datid' AND a.datum >=c.beginn AND a.datum <=c.ende AND b.prio='1' AND ifnull(e.wagsid,b.wagsid)='$agsid' UNION SELECT ifnull(e.wagsid,b.wagsid) wagsid, d.uid, vorname, nachname, ag, jahrgang, c.beginn, c.ende, c.saaid, c.vert_bereich vbid, d.hs FROM stan_ag_standort_termine a, stan_antrag c, stud d, stan_ag_standort_wunsch b RIGHT OUTER JOIN stan_ag_standort_zuord e ON (b.saaid=e.saaid) WHERE a.fagsid =e.wagsid AND b.saaid = c.saaid AND d.uid= b.uid AND a.datid='$datid' AND a.datum >=c.beginn AND a.datum <=c.ende AND b.prio='1' AND ifnull(e.wagsid,b.wagsid)='$agsid' ORDER BY nachname "); */ echo " "; } echo "
Name Hochschule

Verschieben

Status Prio. 1 Prio. 2
"; $result_data1 = $db->query("SELECT t1.dst_id FROM stan_antrag t1 WHERE t1.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE t1.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND t1.saaid='$row[saaid]' "); $rowdata1 = $result_data1->fetch_array(); $result_data2 = $db->query("SELECT distinct 1 FROM stan_dienststellen WHERE dst_id= '$rowdata1[dst_id]'"); $rowdata2 = $result_data2->fetch_array(); if($rowdata2[0] == '1'){ $result_data3 = $db->query("SELECT bez , str , plz , postfach , plz_postfach , ort , bundesland , staat FROM stan_dienststellen WHERE dst_id='$rowdata1[dst_id]'"); $rowdata3 = $result_data3->fetch_array(); }else{ $result_data3 = $db->query("SELECT bez , str , plz , postfach , plz_postfach , ort , bundesland , staat FROM stan_dienststellen_tmp WHERE dst_id='$rowdata1[dst_id]'"); $rowdata3 = $result_data3->fetch_array(); } $titel = "$row[nachname], $row[vorname]   ($row[ag]/$row[jahrgang])"; $text = "Praxisstelle: $rowdata3[bez]"; echo" $titel "; if($row[hs] == 'K' or $row[hs]=='k'){ echo "Kehl"; }else{ echo "Ludwigsburg"; } echo" "; $res_stat = $db->query("SELECT 1 FROM stan_ag_standort_wunsch WHERE saaid='$row[saaid]' AND prio='0'"); $row_stat = $res_stat->fetch_array(); if($row_stat[0] == '1'){ echo "zugewiesen"; }else{ echo "nicht zugewiesen"; } echo" $row1[standort] $row2[standort]

"; break; case "bearbeiten3": $agsid=$_COOKIE["ck_agsid"]; $datid=$_COOKIE["ck_datid"]; $db = dbconnect(); $result8 = $db->query("SELECT distinct f.uid, vorname, nachname, ag, jahrgang, d.saaid, vbid, hs FROM stan_ag_standort_termine a, stan_ag_standort b, stan_ag_standort_wunsch c, stan_antrag d, stud f WHERE a.fagsid =b.agsid AND b.agsid = c.wagsid AND c.saaid=d.saaid AND d.uid = f.uid AND a.datid='$datid' AND DATE_Format(a.datum,'%Y%m%d') >=DATE_Format(d.beginn,'%Y%m%d') AND DATE_Format(a.datum,'%Y%m%d') <=DATE_Format(d.ende,'%Y%m%d') AND (c.prio='0' or c.prio=(SELECT CASE 1 WHEN (SELECT count(*) FROM stan_ag_standort_wunsch e WHERE e.uid=c.uid AND c.saaid=e.saaid GROUP BY uid)>2 THEN '0' ELSE '1' END ) ) AND f.durchgefallen != 'Y' AND f.jahrgang = '$jahrgang' AND f.stg='I' AND d.status = ( SELECT MAX(t2.status) FROM stan_antrag t2 WHERE d.aendid = t2.aendid AND t2.status !='2' #hinzugefügt am 10.06.2009, weil Status 2 angezeigt wurde ) AND (d.zuweisung != 'EZ' AND d.zuweisung != 'E') AND hs='$hs' #Mail Koschek 28.01.2010, weil sie immer auch die Kehler zuweist ORDER BY f.nachname"); while ($row8 = $result8->fetch_array()){ $stud="$row8[uid]|$row8[saaid]"; $result1 = $db->query("SELECT wagsid FROM stan_ag_standort_wunsch WHERE uid = '$row8[uid]' AND saaid ='$row8[saaid]' AND prio = '0' "); $row1 = $result1->fetch_array(); # Bei Veränderung löschen und neuanlegen if($row1[wagsid] != $_POST[$stud]){ $sql = $db->query ("DELETE FROM stan_ag_standort_wunsch WHERE prio='0' AND uid='$row8[uid]' AND saaid='$row8[saaid]'"); // hier entspricht die uid den namen des Dropdownfeldes in der der neue Ort des PU steht $sql = $db->query ("INSERT INTO stan_ag_standort_wunsch (wagsid, uid, saaid, prio) VALUES ('$_POST[$stud]', '$row8[uid]', '$row8[saaid]', '0')"); // hier entspricht die uid den namen des Dropdownfeldes in der der neue Ort des PU steht $sql = $db->query ("DELETE FROM stan_printqueue_antrag WHERE zuweisung='SOZ' AND saaid='$row8[saaid]'"); // Das bisherige Zuweisungschreiben rauslöschen, damit die view "stan_zuw_so" den Satz wieder findet und ein neues Zuweisungsschreiben generiert wird } } if($sql){ echo " Aktualisierung

Aktualisierung

Standorte wurde aktualisiert!


"; }else{ echo " Aktualisierung

Aktualisierung

Es wurden keine Veränderungen festgestellt!


"; } // Ende Wenn update fehlgeschlagne break; case "allezuw": $agsid =$_COOKIE["ck_agsid"]; $db = dbconnect(); $query = "SELECT a.uid, saaid FROM stan_ag_standort_wunsch a, stud b WHERE a.uid=b.uid AND b.jahrgang='$jahrgang' AND b.hs='$hs' AND wagsid='$agsid' AND prio='1' ORDER BY a.uid"; $result = $db->query($query) or die ("Cannot execute query"); while ($row = $result->fetch_array()){ $sql = $db->query ("DELETE FROM stan_ag_standort_wunsch WHERE saaid='$row[saaid]' AND uid='$row[uid]' AND prio='0'"); // hier entspricht die uid den namen des Dropdownfeldes in der der neue Ort des PU steht $sql = $db->query ("INSERT INTO stan_ag_standort_wunsch (wagsid, uid, saaid, prio) VALUES ('$agsid', '$row[uid]', '$row[saaid]', '0')"); // hier entspricht die uid den namen des Dropdownfeldes in der der neue Ort des PU steht } echo " Aktualisierung

Aktualisierung

Zuweisungen vorgenommen!


"; } //Ende Action Abfrage ?>