From a9ea6b17b87fcc4f4e3e1d8e8b488ca1561f5f00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 13 Aug 2007 09:32:58 +0000 Subject: [PATCH] --- rdf/entwicklungsteam.rdf.php | 4 +- vilesci/stammdaten/le_wartung.php | 337 ++++++++++++++++++++++++++++++ 2 files changed, 339 insertions(+), 2 deletions(-) create mode 100644 vilesci/stammdaten/le_wartung.php diff --git a/rdf/entwicklungsteam.rdf.php b/rdf/entwicklungsteam.rdf.php index 8647a9c5d..07806e42b 100644 --- a/rdf/entwicklungsteam.rdf.php +++ b/rdf/entwicklungsteam.rdf.php @@ -50,13 +50,13 @@ else $datum = new datum(); $stg = new studiengang($conn, null, null, true); -$stg->getAll(); +$stg->getAll(null, false); $stg_arr = array(); foreach ($stg->result as $row) $stg_arr[$row->studiengang_kz]=$row->kuerzel; -$entwicklungsteam = new entwicklungsteam($conn, null, true); +$entwicklungsteam = new entwicklungsteam($conn, null, null, true); if(!$entwicklungsteam->getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz)) die($entwicklungsteam->errormsg); $rdf_url='http://www.technikum-wien.at/entwicklungsteam'; diff --git a/vilesci/stammdaten/le_wartung.php b/vilesci/stammdaten/le_wartung.php new file mode 100644 index 000000000..2ba5213d2 --- /dev/null +++ b/vilesci/stammdaten/le_wartung.php @@ -0,0 +1,337 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ + require_once('../config.inc.php'); + 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'); + + if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + + $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); + +?> + + + +Lehreinheit + + + +

Lehreinheiten Zusammenlegen

+"; + echo "Studiengang: '; + + if($semester>$s[$stg_kz]) + $semester = $s[$stg_kz]; + + echo " Semester: '; + + $studiensem = new studiensemester($conn); + if($stsem=='') + $stsem = $studiensem->getAktorNext(); + $studiensem->getAll(); + echo " StSem: '; + 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) + { + $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 = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + 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; + pg_query($conn, 'BEGIN'); + + //Mitarbeiter loeschen die nicht uebernommen werden + foreach($_POST as $key=>$wert) + { + if(strstr($key, 'check_')) + { + $arr = split('_',$key); + $qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$arr[1]' AND mitarbeiter_uid='$arr[2]'"; + pg_query($conn, $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 = pg_query($conn, $qry)) + { + while($row_delete = pg_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 = pg_query($conn, $qry)) + { + if($row_bleibt = pg_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'"; + pg_query($conn, $qry); + echo $qry.'
'; + + $qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$row_delete->lehreinheit_id' AND mitarbeiter_uid='$row_delete->mitarbeiter_uid'"; + pg_query($conn, $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 = pg_query($conn, $qry)) + { + while($row_bleibt = pg_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 = pg_query($conn, $qry)) + { + if($row_gruppe = pg_fetch_object($result_gruppe)) + { + $qry = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$row_gruppe->lehreinheitgruppe_id'"; + pg_query($conn, $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"; + $qry .= "UPDATE sync.tbl_synclehreinheit SET lehreinheit_id='$le_id_bleibt' WHERE lehreinheit_id='$le_id_delete';\n"; + pg_query($conn, $qry); + echo nl2br($qry); + + $qry = "DELETE FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$le_id_delete'\n"; + pg_query($conn, $qry); + echo nl2br($qry); + + pg_query($conn, 'COMMIT'); + } + else + { + pg_query($conn, '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"; + } + } + + + //Obere Tabelle + 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 ORDER BY unr DESC LIMIT 10"; + 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 "
"; + + draw_table($qry, true); + + echo ''; + echo '

Das bleibt:

'; + + draw_table($qry, false); + + echo "
"; + + function draw_table($qry, $delete) + { + global $conn; + + echo ' + '; + + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + echo ''; + echo " + + + + "; + $qry_ma = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$row->lehreinheit_id'"; + if($result_ma = pg_query($conn, $qry_ma)) + { + while($row_ma = pg_fetch_object($result_ma)) + { + echo " + + "; + } + } + } + } + echo '
LE_idLV_idStSemLF_idLFormBlockungWRStartKWRaumtypRaumtypAltlehreunrlvnr
$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')."
'; + } +?> + + + \ No newline at end of file