* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/basis_db.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); require_once('../../include/functions.inc.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/lehreinheit.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/studiensemester.class.php'); $user = get_uid(); $stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:''); $semester = (isset($_GET['semester'])?$_GET['semester']:''); $stsem = (isset($_GET['stsem'])?$_GET['stsem']:''); $check = (isset($_GET['check'])?true:false); //Wenn mitcheck=true ist, dann werden in der Tabelle (gefiltert nach Studiengang/Semester/Stsem) //nur die Eintraege mit zusammenpassenden UNRs angezeigt if(isset($_GET['mitcheck']) && $_GET['mitcheck']=='false') $mitcheck = false; else $mitcheck = true; ?> Lehreinheit

Lehreinheiten Zusammenlegen

"; //Studiengang DropDown echo "Studiengang: '; //Semester DropDown if($semester>$s[$stg_kz]) $semester = $s[$stg_kz]; echo " Semester: '; //Studiensemester DropDown $studiensem = new studiensemester(); if($stsem=='') $stsem = $studiensem->getAktorNext(); $studiensem->getAll(); echo " StSem: '; echo 'Mit Check?'; echo ''; echo 'CHECK'; echo ''; if(isset($_POST['zusammenlegen'])) { $le_id_bleibt = $_POST['radio_bleibt']; $le_id_delete = $_POST['radio_delete']; if($le_id_bleibt!=$le_id_delete) { //unr beider Lehreinheiten ermitteln $qry = "SELECT (SELECT unr FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$le_id_bleibt') as unr_bleibt, (SELECT unr FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$le_id_delete') as unr_delete"; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { //Wenn beide UNRs gleich sind -> zusammenlegen if($row->unr_bleibt==$row->unr_delete) { echo "LV ".$_POST['radio_delete']." wird geloescht - LV ".$_POST['radio_bleibt']." bleibt bestehen
"; /* - Eintraege aus tbl_lehreinheitmitarbeiter Loeschen die nicht uebernommen werden sollen - Mitarbeiter die in beiden Tabellen vorkommen werden gemerged - Gruppen die in beiden Lehreinheiten vorkommen werden geloescht -Lehreinheit_id's umbiegen in den Tabellen tbl_stundenplan tbl_stundenplandev tbl_lehreinheitgruppe tbl_legesamtnote tbl_notenschluessel tbl_uebung tbl_projektarbeit tbl_pruefung tbl_lehreinheitmitarbeiter tbl_synclehreinheit */ $error = false; $db->db_query('BEGIN'); //Mitarbeiter loeschen die nicht uebernommen werden foreach($_POST as $key=>$wert) { if(mb_strstr($key, 'check_')) { $arr = split('_',$key); $qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$arr[1]' AND mitarbeiter_uid='$arr[2]'"; $db->db_query($qry); echo $qry.'
'; } } //Mitarbeiter die in beiden Lehreinheiten geich sind werden gemerged $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$le_id_delete'"; if($result_delete = $db->db_query($qry)) { while($row_delete = $db->db_fetch_object($result_delete)) { $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$le_id_bleibt' AND mitarbeiter_uid='$row_delete->mitarbeiter_uid'"; if($result_bleibt = $db->db_query($qry)) { if($row_bleibt = $db->db_fetch_object($result_bleibt)) { echo "Lehreinheitmitarbeiter $row_bleibt->mitarbeiter_uid wird gemerged
"; if($row_delete->lehrfunktion_kurzbz==$row_bleibt->lehrfunktion_kurzbz) { if($row_bleibt->semesterstunden!='' && $row_bleibt->semesterstunden!='0') $semesterstunden = $row_bleibt->semesterstunden; elseif($row_delete->semesterstunden!='' && $row_delete->semesterstunden!='0') $semesterstunden = $row_delete->semesterstunden; else $semesterstunden = '0'; if($row_bleibt->planstunden!='' && $row_bleibt->planstunden!='0') $planstunden = $row_bleibt->planstunden; elseif($row_delete->planstunden!='' && $row_delete->planstunden!='0') $planstunden = $row_delete->planstunden; else $planstunden = '0'; if($row_bleibt->stundensatz!='' && $row_bleibt->stundensatz!='0') $stundensatz = $row_bleibt->stundensatz; elseif($row_delete->stundensatz!='' && $row_delete->stundensatz!='0') $stundensatz = $row_delete->stundensatz; else $stundensatz = '0'; if($row_bleibt->faktor!='' && $row_bleibt->faktor!='0') $faktor = $row_bleibt->faktor; elseif($row_delete->faktor!='' && $row_delete->faktor!='0') $faktor = $row_delete->faktor; else $faktor = '0'; $anmerkung = $row_delete->anmerkung.' '.$row_bleibt->anmerkung; if($row_delete->bismelden=='t' || $row_bleibt->bismelden=='t') $bismelden=true; else $bismelden=false; $updateamum = date('Y-m-d H:i:s'); $updatevon = $user; $qry = "UPDATE lehre.tbl_lehreinheitmitarbeiter SET semesterstunden='".addslashes($semesterstunden)."', planstunden='".addslashes($planstunden)."', stundensatz='".addslashes($stundensatz)."', faktor='".addslashes($faktor)."', anmerkung='".addslashes($anmerkung)."', bismelden=".($bismelden?'true':'false').", updateamum='$updateamum', updatevon='$updatevon' WHERE lehreinheit_id='$row_bleibt->lehreinheit_id' AND mitarbeiter_uid='$row_bleibt->mitarbeiter_uid'"; $db->db_query($qry); echo $qry.'
'; $qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$row_delete->lehreinheit_id' AND mitarbeiter_uid='$row_delete->mitarbeiter_uid'"; $db->db_query($qry); echo $qry.'
'; } else { echo "Kann die Daten von Person $row_bleibt->mitarbeiter_uid nicht mergen da sie eine unterschiedliche Lehrfunktion haben"; $error = true; } } } } } if(!$error) { //Gruppen die in beiden Lehreinheiten gleich sind werden geloescht $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$le_id_bleibt'"; if($result_bleibt = $db->db_query($qry)) { while($row_bleibt = $db->db_fetch_object($result_bleibt)) { $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$le_id_delete' AND studiengang_kz='$row_bleibt->studiengang_kz' AND semester='$row_bleibt->semester' AND (verband='$row_bleibt->verband' ".($row_bleibt->verband==''?' OR verband is null':'').") AND (gruppe='$row_bleibt->gruppe'".($row_bleibt->gruppe==''?' OR gruppe is null':'').") AND (gruppe_kurzbz='$row_bleibt->gruppe_kurzbz'".($row_bleibt->gruppe_kurzbz==''?' OR gruppe_kurzbz is null':'').")"; if($result_gruppe = $db->db_query($qry)) { if($row_gruppe = $db->db_fetch_object($result_gruppe)) { $qry = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$row_gruppe->lehreinheitgruppe_id'"; $db->db_query($qry); echo $qry.'
'; } } } } } if(!$error) { $qry = "UPDATE lehre.tbl_stundenplan SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE lehre.tbl_stundenplandev SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE lehre.tbl_lehreinheitgruppe SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE campus.tbl_legesamtnote SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE campus.tbl_notenschluessel SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE campus.tbl_uebung SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE lehre.tbl_projektarbeit SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE lehre.tbl_pruefung SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $qry .= "UPDATE lehre.tbl_lehreinheitmitarbeiter SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; $db->db_query($qry); echo nl2br($qry); //Wenn der Synclehreinheit Eintrag schon existiert dann den anderen loeschen sonst umbiegen $qry = "SELECT * FROM sync.tbl_synclehreinheit WHERE lehreinheit_id='$le_id_bleibt' AND lehreinheit_pk in(SELECT lehreinheit_pk FROM sync.tbl_synclehreinheit WHERE lehreinheit_id='$le_id_delete')"; if($result = $db->db_query($qry)) { if($db->db_num_rows($result)==0) { $qry = "UPDATE sync.tbl_synclehreinheit SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';"; } else $qry = "DELETE FROM sync.tbl_synclehreinheit WHERE lehreinheit_id='$le_id_bleibt' AND lehreinheit_pk in(SELECT lehreinheit_pk FROM sync.tbl_synclehreinheit WHERE lehreinheit_id='$le_id_delete');"; $db->db_query($qry); echo $qry.'
'; } $qry = "DELETE FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$le_id_delete'\n"; $db->db_query($qry); echo nl2br($qry); $db->db_query('COMMIT'); } else { $db->db_query('ROLLBACK'); } } else echo "Die UNR beider Lehreinheiten muss gleich sein damit die beiden LE zusammengefuegt werden koennen"; } } } else { echo "Es wurde 2 mal die gleiche Lehreinheit ausgewählt"; } } echo '

Das wird geloescht:

'; if($check) $qry = "SELECT distinct a.* FROM lehre.tbl_lehreinheit a, lehre.tbl_lehreinheit b WHERE a.lehreinheit_id!=b.lehreinheit_id AND a.unr=b.unr AND a.unr!=0 AND a.studiensemester_kurzbz=b.studiensemester_kurzbz ORDER BY unr DESC LIMIT 10"; else { if($mitcheck) $qry = "SELECT a.* FROM (Select * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE studiengang_kz='$stg_kz' AND semester='$semester' AND studiensemester_kurzbz='$stsem') as a, lehre.tbl_lehreinheit as b WHERE a.lehreinheit_id!=b.lehreinheit_id AND a.unr=b.unr AND a.studiensemester_kurzbz=b.studiensemester_kurzbz ORDER BY unr DESC"; else $qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE studiengang_kz='$stg_kz' AND semester='$semester' AND studiensemester_kurzbz='$stsem'"; } echo "
"; //Obere Tabelle draw_table($qry, true); echo ''; echo '

Das bleibt:

'; //Untere Tabelle draw_table($qry, false); echo "
"; function draw_table($qry, $delete) { if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); echo ''; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { echo ''; echo ""; //Liste der zugehoerigen Mitarbeiter $qry_ma = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$row->lehreinheit_id'"; if($result_ma = $db->db_query($qry_ma)) { while($row_ma = $db->db_fetch_object($result_ma)) { echo ""; } } } } echo '
LE_idLV_idStSemLF_idLFormBlockungWR StartKWRaumtypRaumtypAltlehreunrlvnr
$row->lehreinheit_id$row->lehrveranstaltung_id$row->studiensemester_kurzbz $row->lehrfach_id$row->lehrform_kurzbz$row->stundenblockung $row->wochenrythmus$row->start_kw$row->raumtyp $row->raumtypalternativ".($row->lehre=='t'?'Ja':'Nein')." $row->unr$row->lvnr
$row_ma->mitarbeiter_uid$row_ma->lehrfunktion_kurzbz $row_ma->semesterstunden$row_ma->planstunden$row_ma->stundensatz $row_ma->faktor$row_ma->anmerkung".($row_ma->bismelden?'Ja':'Nein')."
'; } ?>