From 316f08653cb283112c439dc57ec77bf650d1f5a5 Mon Sep 17 00:00:00 2001 From: Rudolf Hangl Date: Mon, 25 Jun 2007 08:53:44 +0000 Subject: [PATCH] --- ...sync_fas_vilesci_bakkalaureatspruefung.php | 28 +- .../fas/sync_fas_vilesci_diplompruefung.php | 341 ++++++++++++++++-- admin/sync/fas/sync_fas_vilesci_konto.php | 4 +- 3 files changed, 320 insertions(+), 53 deletions(-) diff --git a/admin/sync/fas/sync_fas_vilesci_bakkalaureatspruefung.php b/admin/sync/fas/sync_fas_vilesci_bakkalaureatspruefung.php index 834349399..c44562ed1 100644 --- a/admin/sync/fas/sync_fas_vilesci_bakkalaureatspruefung.php +++ b/admin/sync/fas/sync_fas_vilesci_bakkalaureatspruefung.php @@ -70,7 +70,7 @@ if($result = pg_query($conn_fas, $qry_main)) //$akadgrad_id =''; $datum =$row->datum; $sponsion =$row->feier; - $typ ='b'; + $pruefungstyp_kurzbz ='Bachelor'; $anmerkung =$row->protokoll; //$updateamum =''; $updatevon ='SYNC'; @@ -198,7 +198,7 @@ if($result = pg_query($conn_fas, $qry_main)) //insert oder update? if(!$error) { - $qry="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$student_uid."' AND typ='b' AND ext_id='".$row->bakkalaureatspruefung_pk."';"; + $qry="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$student_uid."' AND pruefungstyp='Bachelor' AND ext_id='".$row->bakkalaureatspruefung_pk."';"; if($resulto=pg_query($conn, $qry)) { if($rowo=pg_fetch_object($resulto)) @@ -300,28 +300,16 @@ if($result = pg_query($conn_fas, $qry_main)) $ausgabe1="Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')"; } } - if($rowo->typ!=$typ) + if($rowo->pruefungstyp_kurzbz!=$pruefungstyp_kurzbz) { $update=true; if(strlen(trim($ausgabe1))>0) { - $ausgabe1.=", Typ: '".$typ."' (statt '".$rowo->typ."')"; + $ausgabe1.=", Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')"; } else { - $ausgabe1="Typ: '".$typ."' (statt '".$rowo->typ."')"; - } - } - if($rowo->typ!=$typ) - { - $update=true; - if(strlen(trim($ausgabe1))>0) - { - $ausgabe1.=", Typ: '".$typ."' (statt '".$rowo->typ."')"; - } - else - { - $ausgabe1="Typ: '".$typ."' (statt '".$rowo->typ."')"; + $ausgabe1="Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')"; } } if($rowo->anmerkung!=$anmerkung) @@ -373,7 +361,7 @@ if($result = pg_query($conn_fas, $qry_main)) "akadgrad_id=".myaddslashes($akadgrad_id).", ". "datum=".myaddslashes($datum).", ". "sponsion=".myaddslashes($sponsion).", ". - "typ=".myaddslashes($typ).", ". + "pruefungstyp_kurzbz=".myaddslashes($pruefungstyp_kurzbz).", ". "anmerkung=".myaddslashes($anmerkung).", ". "insertvon=".myaddslashes($insertvon).", ". "insertamum=".myaddslashes($insertamum).", ". @@ -392,7 +380,7 @@ if($result = pg_query($conn_fas, $qry_main)) else { $qry="INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1, pruefer2, pruefer3, ". - "abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion, typ, anmerkung, ". + "abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion, pruefungstyp_kurzbz, anmerkung, ". "insertvon, insertamum, updatevon, updateamum, ext_id) VALUES (". myaddslashes($student_uid).", ". myaddslashes($vorsitz).", ". @@ -403,7 +391,7 @@ if($result = pg_query($conn_fas, $qry_main)) myaddslashes($akadgrad_id).", ". myaddslashes($datum).", ". myaddslashes($sponsion).", ". - myaddslashes($typ).", ". + myaddslashes($pruefungstyp_kurzbz).", ". myaddslashes($anmerkung).", ". myaddslashes($insertvon).", ". myaddslashes($insertamum).", ". diff --git a/admin/sync/fas/sync_fas_vilesci_diplompruefung.php b/admin/sync/fas/sync_fas_vilesci_diplompruefung.php index cb6999e97..38a9df1a6 100644 --- a/admin/sync/fas/sync_fas_vilesci_diplompruefung.php +++ b/admin/sync/fas/sync_fas_vilesci_diplompruefung.php @@ -22,36 +22,15 @@ $adress='ruhan@technikum-wien.at'; $error_log=''; $text = ''; -$anzahl_fehler_lv=0; -$anzahl_lv_insert=0; -$anzahl_lv_fehler=0; -$anzahl_lv_gesamt=0; -$anzahl_lv_update=0; -$anzahl_betreuer_fehler=0; $anzahl_quelle=0; $anzahl_fehler=0; -$anzahl_fehler_le=0; -$anzahl_fehler_pa=0; -$anzahl_fehler_pbb=0; -$anzahl_fehler_pbg=0; -$anzahl_le_gesamt=0; -$anzahl_le_insert=0; -$anzahl_le_update=0; -$anzahl_pa_gesamt=0; -$anzahl_pa_insert=0; -$anzahl_pa_update=0; -$anzahl_pbb_gesamt=0; -$anzahl_pbb_insert=0; -$anzahl_pbb_update=0; -$anzahl_pbg_gesamt=0; -$anzahl_pbg_insert=0; -$anzahl_pbg_update=0; +$anzahl_eingefuegt=0; +$anzahl_geaendert=0; + $fachbereich_kurzbz=''; $ausgabe=''; $ausgabe_all=''; -$ausgabe_le=''; -$ausgabe_pa=''; -$ausgabe_pb=''; + function myaddslashes($var) @@ -81,7 +60,309 @@ if($result = pg_query($conn_fas, $qry)) $anzahl_quelle=pg_num_rows($result); while($row = pg_fetch_object($result)) { - + //pg_query($conn, "BEGIN"); + $error=false; + //$error_log=''; + //$abschlusspruefung_id =''; //serial + //$student_uid =''; + $vorsitz =$row->vilesci_vorsitzender; + $pruefer1 =$row->vilesci_pruefer; + $pruefer2 =$row->vilesci_pruefer1; + //$pruefer3 ='';//kein dritter Prüfer bei Diplomarbeiten + //$abschlussbeurteilung_kurzbz =''; + //$akadgrad_id =''; + $datum =$row->pruefungsdatum; + $sponsion =$row->diplomarbeitsdatum; + $pruefungstyp_kurzbz ='Diplom'; + $anmerkung =$row->pruefungsprotokoll; + //$updateamum =''; + $updatevon ='SYNC'; + $insertamum =$row->creationdate; + //$insertvon =''; + $ext_id =$row->diplomarbeit_pk; + + //insertvon ermitteln + $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';"; + if($resultcu = pg_query($conn_fas, $qrycu)) + { + if($rowcu=pg_fetch_object($resultcu)) + { + $insertvon=$rowcu->name; + } + } + //student_id ermitteln + $qry="SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE ext_id='".$row->student_fk."';"; + if($resulto=pg_query($conn, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $student_uid=$rowo->student_uid; + $studiengang_kz=$rowo->studiengang_kz; + } + else + { + $error=true; + $error_log.="Student mit student_fk: $row->student_fk konnte nicht gefunden werden.\n"; + } + } + //beurteilung ermitteln + If($row->gesamtnote=='10') + { + $abschlussbeurteilung_kurzbz='ausgezeichnet'; + } + elseif($row->gesamtnote=='20') + { + $abschlussbeurteilung_kurzbz='gut'; + } + elseif($row->gesamtnote=='30') + { + $abschlussbeurteilung_kurzbz='bestanden'; + } + else + { + $abschlussbeurteilung_kurzbz=NULL; + } + //geschlecht ermitteln + $qry="SELECT geschlecht from person,student WHERE student_pk='".$row->student_fk."' AND student.person_fk=person.person_pk;"; + if($resulto=pg_query($conn_fas, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $geschlecht=strtolower($rowo->geschlecht); + } + else + { + $error=true; + $error_log.="Person mit student_fk: $row->student_fk konnte nicht gefunden werden.\n"; + } + } + //akadgrad ermitteln + if($studiengang_kz<=222) + { + $qry="SELECT * FROM lehre.tbl_akadgrad WHERE studiengang_kz='".$studiengang_kz."' AND geschlecht='".$geschlecht."';"; + } + else + { + $qry="SELECT * FROM lehre.tbl_akadgrad WHERE studiengang_kz='".$studiengang_kz."';"; + } + if($resulto=pg_query($conn, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $akadgrad_id=$rowo->akadgrad_id; + } + } + + //insert oder update? + if(!$error) + { + $qry="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$student_uid."' AND pruefungstyp_kurzbz='Diplom' AND ext_id='".$row->diplomarbeit_pk."';"; + if($resulto=pg_query($conn, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $update=false; + if($rowo->vorsitz!=$vorsitz) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')"; + } + else + { + $ausgabe1="Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')"; + } + } + if($rowo->pruefer1!=$pruefer1) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')"; + } + else + { + $ausgabe1="Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')"; + } + } + if($rowo->pruefer2!=$pruefer2) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')"; + } + else + { + $ausgabe1="Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')"; + } + } + if($rowo->abschlussbeurteilung_kurzbz!=$abschlussbeurteilung_kurzbz) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')"; + } + else + { + $ausgabe1="Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')"; + } + } + if($rowo->akadgrad_id!=$akadgrad_id) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')"; + } + else + { + $ausgabe1="Akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')"; + } + } + if($rowo->datum!=$datum) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')"; + } + else + { + $ausgabe1="Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')"; + } + } + if($rowo->sponsion!=$sponsion) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')"; + } + else + { + $ausgabe1="Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')"; + } + } + if($rowo->pruefungstyp_kurzbz!=$pruefungstyp_kurzbz) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')"; + } + else + { + $ausgabe1="Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')"; + } + } + if($rowo->anmerkung!=$anmerkung) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')"; + } + else + { + $ausgabe1="Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')"; + } + } + if($rowo->insertvon!=$insertvon) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')"; + } + else + { + $ausgabe1="Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')"; + } + } + if(date("d.m.Y", $rowo->insertamum)!=date("d.m.Y", $insertamum)) + { + $update=true; + if(strlen(trim($ausgabe1))>0) + { + $ausgabe1.=", Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')"; + } + else + { + $ausgabe1="Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')"; + } + } + if($update) + { + $qry="UPDATE lehre.tbl_abschlusspruefung SET ". + "abschlusspruefung_id=".myaddslashes($rowo->abschlusspruefung_id).", ". + "student_uid=".myaddslashes($student_uid).", ". + "vorsitz=".myaddslashes($vorsitz).", ". + "pruefer1=".myaddslashes($pruefer1).", ". + "pruefer2=".myaddslashes($pruefer2).", ". + "abschlussbeurteilung_kurzbz=".myaddslashes($abschlussbeurteilung_kurzbz).", ". + "akadgrad_id=".myaddslashes($akadgrad_id).", ". + "datum=".myaddslashes($datum).", ". + "sponsion=".myaddslashes($sponsion).", ". + "pruefungstyp_kurzbz=".myaddslashes($pruefungstyp_kurzbz).", ". + "anmerkung=".myaddslashes($anmerkung).", ". + "insertvon=".myaddslashes($insertvon).", ". + "insertamum=".myaddslashes($insertamum).", ". + "updatevon='SYNC', ". + "updateamum= now(), ". + "ext_id=".myaddslashes($ext_id). + ";"; + $ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' geändert: ".$ausgabe1."\n;"; + $anzahl_geaendert++; + } + else + { + $qry="SELECT * FROM lehre.tbl_abschlusspruefung;"; + } + } + else + { + $qry="INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1, pruefer2, ". + "abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion, pruefungstyp_kurzbz, anmerkung, ". + "insertvon, insertamum, updatevon, updateamum, ext_id) VALUES (". + myaddslashes($student_uid).", ". + myaddslashes($vorsitz).", ". + myaddslashes($pruefer1).", ". + myaddslashes($pruefer2).", ". + myaddslashes($abschlussbeurteilung_kurzbz).", ". + myaddslashes($akadgrad_id).", ". + myaddslashes($datum).", ". + myaddslashes($sponsion).", ". + myaddslashes($pruefungstyp_kurzbz).", ". + myaddslashes($anmerkung).", ". + myaddslashes($insertvon).", ". + myaddslashes($insertamum).", ". + "'SYNC', ". + "now(), ". + myaddslashes($ext_id). + ");"; + $ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' am '".$datum."' eingetragen.\n"; + $anzahl_eingefuegt++; + } + } + else + { + $error_log.= "*****\nFehler beim Zugriff auf tbl_abschlusspruefung!\n"; + $anzahl_fehler++; + } + if(!pg_query($conn,$qry)) + { + $anzahl_fehler++; + $error_log.='Fehler beim Speichern des Diplomprüfung-Datensatzes von Student:'.$student_uid." \n".$qry."\n"; + $ausgabe1=''; + } + } + else + { + $anzahl_fehler++; + } @@ -90,17 +371,15 @@ if($result = pg_query($conn_fas, $qry)) //echo und mail echo nl2br("Diplomprüfungssynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n"); -$error_log_fas="Sync Diplomprüfung\n------------------------\n\n".$error_log_fas1."\n".$error_log_fas2."\n".$error_log_fas3."\n".$error_log_fas4."\n".$error_log_fas5."\n".$error_log_fas6."\n".$error_log_fas7."\n".$error_log_fas8; -echo nl2br("Allgemeine Fehler: ".$anzahl_fehler.", Anzahl Diplomprüfungen: ".$anzahl_quelle.".\n"); +$error_log_fas="Sync Diplomprüfung\n------------------------\n\n".$error_log; +echo nl2br("Allgemeine Fehler: ".$anzahl_fehler."\nAnzahl Diplomprüfungen: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefügt." / Geändert: ".$anzahl_geaendert.".\n\n"); -echo nl2br($error_log_fas."\n--------------------------------------------------------------------------------\n"); +echo nl2br($error_log_fas."\n--------------------------------------------------------------------------------------------------------------------------------\n"); echo nl2br($ausgabe_all); mail($adress, 'SYNC Diplomprüfung von '.$_SERVER['HTTP_HOST'], "Allgemeine Fehler: ".$anzahl_fehler.", Anzahl Diplomprüfungen: ".$anzahl_quelle.".\n". - - $ausgabe_all,"From: vilesci@technikum-wien.at"); mail($adress, 'SYNC-Fehler Diplomprüfung von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: vilesci@technikum-wien.at"); diff --git a/admin/sync/fas/sync_fas_vilesci_konto.php b/admin/sync/fas/sync_fas_vilesci_konto.php index 12a6d41bf..6df16ad3d 100644 --- a/admin/sync/fas/sync_fas_vilesci_konto.php +++ b/admin/sync/fas/sync_fas_vilesci_konto.php @@ -163,7 +163,7 @@ if($result = pg_query($conn_fas, $qry)) } else { - $ausgabe.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden.\n"; + $error_log.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden.\n"; echo "Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden.
"; $anzahl_fehler++; $error=true; @@ -172,7 +172,7 @@ if($result = pg_query($conn_fas, $qry)) } else { - $ausgabe.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden!\n"; + $error_log.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden!\n"; echo "Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden!
"; $anzahl_fehler++; $error=true;