This commit is contained in:
Rudolf Hangl
2007-05-07 08:09:35 +00:00
parent 5f80ead103
commit 55e326f2d9
4 changed files with 356 additions and 261 deletions
@@ -20,8 +20,8 @@ require_once('../../../include/lehreinheit.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
$adress='fas_sync@technikum-wien.at';
$error_log='';
$error_log_fas1='';
@@ -1543,4 +1543,7 @@ mail($adress, 'SYNC Bachelorarbeit von '.$_SERVER['HTTP_HOST'],
$ausgabe_all,"From: vilesci@technikum-wien.at");
mail($adress, 'SYNC-Fehler Bachelorarbeiten von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: vilesci@technikum-wien.at");
}
}
?>
</body>
</html>
@@ -52,7 +52,7 @@ function validate($row)
<body>
<?php
//nation
$qry = "SELECT * FROM diplomarbeit;";
$qry = "SELECT * FROM diplomarbeit WHERE mitarbeiter_fk IS NOT NULL;";
if($result = pg_query($conn_fas, $qry))
{
@@ -218,9 +218,7 @@ if($result = pg_query($conn_fas, $qry))
}
if(!$error)
{
$qry="SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE ext_id='$row->fachbereich_fk'";
/*$qry="SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE ext_id='$row->fachbereich_fk'";
if($result2 = pg_query($conn, $qry))
{
if($row2=pg_fetch_object($result2))
@@ -232,11 +230,10 @@ if($result = pg_query($conn_fas, $qry))
$error=true;
$error_log.="Fachbereich mit ext_id='".$row->fachbereich_fk."' nicht gefunden.\n";
}
}
}*/
if(!$error)
{
//echo nl2br("fachbereich_kurzbz='".$fachbereich_kurzbz."' AND semester='".$semester."' AND studiengang_kz='".$studiengang_kz."';");
$qry="SELECT lehrfach_id FROM lehre.tbl_lehrfach WHERE fachbereich_kurzbz='".$fachbereich_kurzbz."' AND semester='".$semester."' AND studiengang_kz='".$studiengang_kz."';";
$qry="SELECT lehrfach_id FROM lehre.tbl_lehrfach WHERE fachbereich_kurzbz='Praxissemester u' AND semester='".$semester."' AND studiengang_kz='".$studiengang_kz."';";
if($resulto = pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
@@ -246,10 +243,11 @@ if($result = pg_query($conn_fas, $qry))
else
{
$error=true;
$error_log.="Lehrfach mit Fachbereich='".$fachbereich_kurzbz."', Semester='".$semester."' und Studiengang='".$studiengang_kz."' nicht gefunden.\n";
$error_log.="Lehrfach mit Fachbereich='Praxissemester u', Semester='".$semester."' und Studiengang='".$studiengang_kz."' nicht gefunden.\n";
}
}
$qry="SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ext_id='$row->studiensemester_fk'";
//Datum der DA in welchem Sem?
$qry="SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE '".$row->diplomarbeitsdatum."'> start AND '".$row->diplomarbeitsdatum."'< ende;";
if($resulto = pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
@@ -259,7 +257,7 @@ if($result = pg_query($conn_fas, $qry))
else
{
$error=true;
$error_log.="Studiensemester mit ext_id='".$row->studiensemester_fk."' nicht gefunden.\n";
$error_log.="Studiensemester für Diplomarbeitsdatum '".$row->diplomarbeitsdatum."' nicht gefunden!\n";
}
}
@@ -283,7 +281,7 @@ if($result = pg_query($conn_fas, $qry))
}
if(!$error)
{
$qry2="SELECT * FROM lehre.tbl_lehreinheit WHERE lehrform_kurzbz='BE' AND ext_id='".$row->bakkalaureatsarbeit_pk."';";
$qry2="SELECT * FROM lehre.tbl_lehreinheit WHERE lehrform_kurzbz='DE' AND ext_id='".$row->bakkalaureatsarbeit_pk."';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
@@ -330,7 +328,6 @@ if($result = pg_query($conn_fas, $qry))
myaddslashes($lehreinheitupdatevon).', '.
myaddslashes($lehreinheitext_id).', '.
myaddslashes($lehreinheitsprache).');';
$ausgabe.="Lehreinheit angelegt: Lehrveranstaltung='".$lehreinheitlehrveranstaltung_id."', Studiensemester='".$lehreinheitstudiensemester_kurzbz."' und Lehrfach='".$lehreinheitlehrfach_id."'.\n";
}
else
{
@@ -515,7 +512,7 @@ if($result = pg_query($conn_fas, $qry))
$ausgabe_le="Insertvon: '".$lehreinheitinsertvon."' (statt '".$row2->insertvon."')";
}
}
if($row2->insertamum!=$lehreinheitinsertamum)
if(date("d.m.Y", $row2->insertamum)!=date("d.m.Y", $lehreinheitinsertamum))
{
$updatele=true;
if(strlen(trim($ausgabe_le))>0)
@@ -824,7 +821,7 @@ if($result = pg_query($conn_fas, $qry))
$ausgabe_pa="Anmerkung: '".$projektarbeitanmerkung."' (statt '".$row3->anmerkung."')";
}
}
if($row3->insertamum!=$projektarbeitinsertamum)
if(date("d.m.Y", $row3->insertamum)!=date("d.m.Y", $projektarbeitinsertamum))
{
$updatep=true;
if(strlen(trim($ausgabe_pa))>0)
@@ -908,269 +905,364 @@ if($result = pg_query($conn_fas, $qry))
$error_log.= "*****\nFehler beim Speichern des Projektarbeits-Datensatzes: ".$projektarbeitlehreinheit_id."\n ".$qry."\n";
$anzahl_fehler++;
}
//betreuer
$qry="Select nachname, vorname, person_id from tbl_person join tbl_benutzer using (person_id) join tbl_mitarbeiter on tbl_benutzer.uid=mitarbeiter_uid;";
if($resultb1 = pg_query($conn_fas, $qry))
{
while ($rowb1=pg_fetch_object($resultb1))
{
if (strstr($rowb1->nachname, $row->erstbegutachter.' '))
{
$person_id1=$rowb1->person_id;
}
if (strstr($rowb1->nachname, $row->zweitbegutachter.' '))
{
$person_id2=$rowb1->person_id;
}
if (strstr($rowb1->nachname, $row->betreuer.' '))
{
$person_idb=$rowb1->person_id;
}
}
}
if ($person_id1!='')
{
$projektbetreuer =new projektbetreuer($conn);
$projektbetreuer->person_id =$person_id1;
$projektbetreuer->projektarbeit_id =$projektarbeit->projektarbeit_id;
$projektbetreuer->note =$row->noteerstbegutachter;
$projektbetreuer->betreuerart ='g'; //g=Diplomarbeitsbegutachter
$projektbetreuer->faktor ='1,0';
$projektbetreuer->name ='';
$projektbetreuer->punkte =$row->punkteerstbegutachter;
$projektbetreuer->stunden ='';
$projektbetreuer->stundensatz ='';
//$projektbetreuer->updateamum =$row->;
$projektbetreuer->updatevon ="SYNC";
//$projektbetreuer->insertamum =$row->;
$projektbetreuer->insertvon ="SYNC";
$projektbetreuer->ext_id =$row->diplomarbeit_pk;
$qry="SELECT uid FROM student WHERE student_pk=".$row->student_fk.";";
if($resultu = pg_query($conn_fas, $qry))
{
if($rowu=pg_fetch_object($resultu))
{
$projektarbeit->student_uid=$rowu->uid;
$qry2="SELECT projektarbeit_id, ext_id FROM lehre.tbl_projektarbeit WHERE projekttyp_kurzbz='Diplomarbeit' AND ext_id='".$row->diplomarbeit_pk."';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
// update, wenn datensatz bereits vorhanden
$projektarbeit->new=false;
$projektarbeit->projektarbeit_id=$row2->projektarbeit_id;
if(!$error)
{
//projektbetreuer 2x
$qry="SELECT person_fk FROM mitarbeiter WHERE mitarbeiter_pk='".$row->mitarbeiter_fk."';";
if($resultu = pg_query($conn_fas, $qry))
{
if($rowu=pg_fetch_object($resultu))
{
$person=$rowu->person_fk;
}
else
{
$error=true;
$error_log.="Betreuer mit mitarbeiter_fk: ".$row->mitarbeiter_fk."' konnte in Tabelle mitarbeiter nicht gefunden werden.\n";
}
}
$qry="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas='$person'"; //betreuer_fk -> person_id
if($resultu = pg_query($conn, $qry))
{
if($rowu=pg_fetch_object($resultu))
{
$projektbetreuerperson_id=$rowu->person_portal;
}
else
{
$error=true;
$error_log.="Betreuer mit person_fk: ".$person." konnte in syncperson nicht gefunden werden.\n";
}
}
//ERSTBEGUTACHTER
$projektbetreuerprojektarbeit_id =$projektarbeitprojektarbeit_id;
$projektbetreuernote =$row->noteerstbegutachter;
$projektbetreuerbetreuerart ='Erstbegutachter';
$projektbetreuerfaktor =$row->faktor;
$projektbetreuername ='';
$projektbetreuerpunkte =$row->punkteerstbegutachter;
$projektbetreuerstunden ="";
$projektbetreuerstundensatz ="";
//$projektbetreuerupdateamum =$row->;
$projektbetreuerupdatevon ="SYNC";
$projektbetreuerinsertamum =$row->creationdate;
//$projektbetreuerinsertvon ="SYNC";
$projektbetreuerext_id =$row->diplomarbeit_pk;
$qry2="SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id='".$projektarbeitprojektarbeit_id."' AND person_id='".$projektbetreuerperson_id."' AND betreuerart_kurzbz='Betreuer';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row2=pg_fetch_object($result2))
{
$projektbetreuerperson_id=$row2->person_id;
$projektbetreuernew1=false;
}
else $projektbetreuernew1=true;
}
else $projektbetreuernew1=true;
}
else
{
$error=true;
$error_log.="Fehler beim Zugriff auf Tabelle tbl_projektbetreuer bei betreuer_fk: ".$row->betreuer_fk."\n";
}
if($projektbetreuernew1)
{
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, betreuerart_kurzbz, faktor, name,
stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
myaddslashes($projektbetreuerperson_id).', '.
myaddslashes($projektbetreuerprojektarbeit_id).', '.
myaddslashes($projektbetreuerbetreuerart).', '.
myaddslashes($projektbetreuerfaktor).', '.
myaddslashes($projektbetreuername).', '.
myaddslashes($projektbetreuerstunden).', '.
myaddslashes($projektbetreuerstundensatz).', '.
myaddslashes($projektbetreuerext_id).', '.
myaddslashes($projektbetreuerinsertamum).', '.
myaddslashes($projektbetreuerinsertvon).', now(), '.
myaddslashes($projektbetreuerupdatevon).');';
}
else
{
$updatep1=false;
if($row2->person_id!=$projektbetreuerperson_id)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Betreuer: '".$projektbetreuerperson_id."' (statt '".$row2->person_id."')";
}
else
{
$ausgabe_pb="Betreuer: '".$projektbetreuerperson_id."' (statt '".$row2->person_id."')";
}
}
if($row2->projektarbeit_id!=$projektbetreuerprojektarbeit_id)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Projektarbeit: '".$projektbetreuerprojektarbeit_id."' (statt '".$row2->projektarbeit_id."')";
}
else
{
$ausgabe_pb="Projektarbeit: '".$projektbetreuerprojektarbeit_id."' (statt '".$row2->projektarbeit_id."')";
}
}
if($row2->betreuerart_kurzbz!=$projektbetreuerbetreuerart)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Betreuerart: '".$projektbetreuerbetreuerart."' (statt '".$row2->betreuerart_kurzbz."')";
}
else
{
$ausgabe_pb="Betreuerart: '".$projektbetreuerbetreuerart."' (statt '".$row2->betreuerart_kurzbz."')";
}
}
if($row2->faktor!=$projektbetreuerfaktor)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Faktor: '".$projektbetreuerfaktor."' (statt '".$row2->faktor."')";
}
else
{
$ausgabe_pb="Faktor: '".$projektbetreuerfaktor."' (statt '".$row2->faktor."')";
}
}
if($row2->name!=$projektbetreuername)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Name: '".$projektbetreuername."' (statt '".$row2->name."')";
}
else
{
$ausgabe_pb="Name: '".$projektbetreuername."' (statt '".$row2->name."')";
}
}
if($row2->stunden!=$projektbetreuerstunden)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Betreuerstunden: '".$projektbetreuerstunden."' (statt '".$row2->stunden."')";
}
else
{
$ausgabe_pb="Betreuerstunden: '".$projektbetreuerstunden."' (statt '".$row2->stunden."')";
}
}
if($row2->stundensatz!=$projektbetreuerstundensatz)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Stundensatz: '".$projektbetreuerstundensatz."' (statt '".$row2->stundensatz."')";
}
else
{
$ausgabe_pb="Stundensatz: '".$projektbetreuerstundensatz."' (statt '".$row2->stundensatz."')";
}
}
if(date("d.m.Y", $row2->insertamum)!=date("d.m.Y", $projektbetreuerinsertamum))
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Insertamum: '".$projektbetreuerinsertamum."' (statt '".$row2->insertamum."')";
}
else
{
$ausgabe_pb="Insertamum: '".$projektbetreuerinsertamum."' (statt '".$row2->insertamum."')";
}
}
if($row2->insertvon!=$projektbetreuerinsertvon)
{
$updatep1=true;
if(strlen(trim($ausgabe_pb))>0)
{
$ausgabe_pb.=", Insertvon: '".$projektbetreuerinsertvon."' (statt '".$row2->insertvon."')";
}
else
{
$ausgabe_pb="Insertvon: '".$projektbetreuerinsertvon."' (statt '".$row2->insertvon."')";
}
}
if($updatep1)
{
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.myaddslashes($projektbetreuerperson_id).', '.
'projektarbeit_id='.myaddslashes($projektbetreuerprojektarbeit_id).', '.
'betreuerart_kurzbz='.myaddslashes($projektbetreuerbetreuerart).', '.
'faktor='.myaddslashes($projektbetreuerfaktor).', '.
'name='.myaddslashes($projektbetreuername).', '.
'stunden='.myaddslashes($projektbetreuerstunden).', '.
'stundensatz='.myaddslashes($projektbetreuerstundensatz).', '.
'insertamum='.myaddslashes($projektbetreuerinsertamum).', '.
'insertvon='.myaddslashes($projektbetreuerinsertvon).', '.
'updateamum= now(), '.
'updatevon='.myaddslashes($projektbetreuerupdatevon).' '.
"WHERE projektarbeit_id='".$projektbetreuerprojektarbeit_id."' AND person_id='".$projektbetreuerperson_id."'AND betreuerart='Begutachter';";
}
}
//echo nl2br ($qry."\n");
if(pg_query($conn,$qry))
{
$anzahl_pbg_gesamt++;
$ausgabe_pb1=$ausgabe_pb;
$ausgabe_pb='';
$projektbetreuerperson_id1=$projektbetreuerperson_id;
}
else
{
$error=true;
$error_log.="Fehler beim Speichern des Diplomarbeitserstbetreuer-Datensatzes:".$projektbetreuerperson_id." \n".$qry."\n";
$ausgabe_pb='';
}
if($error)
{
//ROLLBACK
$anzahl_fehler_pbg++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R1\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
else
{
//COMMIT
if($projektbetreuernew1)
{
$anzahl_pbg_insert++;
$ausgabe.="Diplomarbeitsbetreuer eingefügt: UID='".$projektbetreuerperson_id1."' und Projektarbeit='".$projektarbeitlehreinheit_id."'.\n";
}
else
{
if($updatep1)
{
$anzahl_pbg_update++;
$ausgabe.="Diplomarbeitsbetreuer aktualisiert: UID='".$projektbetreuerperson_id1."' und Projektarbeit='".$projektarbeitlehreinheit_id."':".$ausgabe_pb1.".\n";
}
}
$ausgabe_pb1='';
pg_query($conn,'COMMIT;');
$ausgabe_all.=$ausgabe;
$ausgabe='';
}
}
else
{
//ROLLBACK
$anzahl_fehler_pa++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R2\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$projektarbeit->new=true;
//ROLLBACK
$anzahl_fehler_le++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R3\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
}
}
}
$qry2="SELECT person_id FROM lehre.projektbetreuer WHERE projektarbeit_id='".$projektarbeit->projektarbeit_id."' AND person_id='".$projektbetreuer->person_id."';";
if($resultu = pg_query($conn, $qry2))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
if($rowu=pg_fetch_object($resultu))
else
{
$projektbetreuer->person_id=$rowu->person_id;
$projektbetreuer->new=false;
//ROLLBACK
$anzahl_fehler++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R4\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
else $projektbetreuer->new=true;
}
else $projektbetreuer->new=true;
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_projektbetreuer bei betreuer_fk: '.$projektbetreuer->person_id;
}
if(!$error)
{
if(!$projektbetreuer->save())
else
{
$error_log.=$projektbetreuer->errormsg."\n";
//ROLLBACK
$anzahl_fehler++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R5\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
}
else
{
//ROLLBACK
$anzahl_fehler++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R6\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
}
if ($person_id2!='')
else
{
$projektbetreuer =new projektbetreuer($conn);
$projektbetreuer->person_id =$person_id2;
$projektbetreuer->projektarbeit_id =$projektarbeit->projektarbeit_id;
$projektbetreuer->note =$row->notezweitbegutachter;
$projektbetreuer->betreuerart ='g'; //d=Diplomarbeitsbegutachter
$projektbetreuer->faktor ='1,0';
$projektbetreuer->name ='';
$projektbetreuer->punkte =$row->punktezweitbegutachter;
$projektbetreuer->stunden ='';
$projektbetreuer->stundensatz ='';
//$projektbetreuer->updateamum =$row->;
$projektbetreuer->updatevon ="SYNC";
//$projektbetreuer->insertamum =$row->;
$projektbetreuer->insertvon ="SYNC";
$projektbetreuer->ext_id =$row->diplomarbeit_pk;
$qry="SELECT uid FROM student WHERE student_pk=".$row->student_fk.";";
if($resultu = pg_query($conn_fas, $qry))
{
if($rowu=pg_fetch_object($resultu))
{
$projektarbeit->student_uid=$rowu->uid;
$qry2="SELECT projektarbeit_id, ext_id FROM lehre.tbl_projektarbeit WHERE projekttyp_kurzbz ='Diplomarbeit' AND ext_id='".$row->diplomarbeit_pk."';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
// update, wenn datensatz bereits vorhanden
$projektarbeit->new=false;
$projektarbeit->projektarbeit_id=$row2->projektarbeit_id;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$projektarbeit->new=true;
}
}
}
}
$qry2="SELECT person_id FROM lehre.projektbetreuer WHERE projektarbeit_id='".$projektarbeit->projektarbeit_id."' AND person_id='".$projektbetreuer->person_id."';";
if($resultu = pg_query($conn, $qry2))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
if($rowu=pg_fetch_object($resultu))
{
$projektbetreuer->person_id=$rowu->person_id;
$projektbetreuer->new=false;
}
else $projektbetreuer->new=true;
}
else $projektbetreuer->new=true;
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_projektbetreuer bei betreuer_fk: '.$projektbetreuer->person_id;
}
if(!$error)
{
if(!$projektbetreuer->save())
{
$error_log.=$projektbetreuer->errormsg."\n";
$anzahl_fehler++;
}
}
}
if ($person_idb!='')
{
$projektbetreuer =new projektbetreuer($conn);
$projektbetreuer->person_id =$person_idb;
$projektbetreuer->projektarbeit_id =$projektarbeit->projektarbeit_id;
$projektbetreuer->note ='';
$projektbetreuer->betreuerart ='d'; //d=Diplomarbeitsbetreuer
$projektbetreuer->faktor ='1,0';
$projektbetreuer->name ='';
$projektbetreuer->punkte ='';
$projektbetreuer->stunden =$row->betreuungsstunden;
$projektbetreuer->stundensatz =$row->kosten;
//$projektbetreuer->updateamum =$row->;
$projektbetreuer->updatevon ="SYNC";
//$projektbetreuer->insertamum =$row->;
$projektbetreuer->insertvon ="SYNC";
$projektbetreuer->ext_id =$row->diplomarbeit_pk;
$qry="SELECT uid FROM student WHERE student_pk=".$row->student_fk.";";
if($resultu = pg_query($conn_fas, $qry))
{
if($rowu=pg_fetch_object($resultu))
{
$projektarbeit->student_uid=$rowu->uid;
$qry2="SELECT projektarbeit_id, ext_id FROM lehre.tbl_projektarbeit WHERE projekttyp_kurzbz='Diplomarbeit' AND ext_id='".$row->diplomarbeit_pk."';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
// update, wenn datensatz bereits vorhanden
$projektarbeit->new=false;
$projektarbeit->projektarbeit_id=$row2->projektarbeit_id;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$projektarbeit->new=true;
}
}
}
}
$qry2="SELECT person_id FROM lehre.projektbetreuer WHERE projektarbeit_id='".$projektarbeit->projektarbeit_id."' AND person_id='".$projektbetreuer->person_id."';";
if($resultu = pg_query($conn, $qry2))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
if($rowu=pg_fetch_object($resultu))
{
$projektbetreuer->person_id=$rowu->person_id;
$projektbetreuer->new=false;
}
else $projektbetreuer->new=true;
}
else $projektbetreuer->new=true;
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_projektbetreuer bei betreuer_fk: '.$projektbetreuer->person_id;
}
if(!$error)
{
if(!$projektbetreuer->save())
{
$error_log.=$projektbetreuer->errormsg."\n";
$anzahl_fehler++;
}
}
//ROLLBACK
$anzahl_fehler++;
$ausgabe='';
$text1.="\n***********Diplomarbeit:".$row->diplomarbeit_pk."\n";
$text1.=$error_log;
$text1.=" R7\n";
$text1.="***********\n";
pg_query($conn, "ROLLBACK");
}
flush();
}
}
}
$error_log_fas1.=$text1;
$error_log_fas2.=$text2;
$error_log_fas3.=$text3;
$error_log_fas4.=$text4;
$error_log_fas5.=$text5;
$error_log_fas6.=$text6;
$error_log_fas7.=$text7;
$error_log_fas8.=$text8;
}
//echo und mail
echo nl2br("Diplomarbeitsynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log_fas="Sync Diplomarbeit\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.", lehrveranstaltung_fk<1: ".$anzahl_lv_fehler.", betreuer_fk oder begutachter_fk<1: ".$anzahl_betreuer_fehler.", Anzahl Bachelorarbeiten: ".$anzahl_quelle.".\n");
echo nl2br("Lehreinheiten: Gesamt: ".$anzahl_le_gesamt." / Eingefügt: ".$anzahl_le_insert." / Geändert: ".$anzahl_le_update." / Fehler: ".$anzahl_fehler_le."\n");
echo nl2br("Projektarbeiten: Gesamt: ".$anzahl_pa_gesamt." / Eingefügt: ".$anzahl_pa_insert." / Geändert: ".$anzahl_pa_update." / Fehler: ".$anzahl_fehler_pa."\n");
echo nl2br("Begutachter: Gesamt: ".$anzahl_pbg_gesamt." / Eingefügt: ".$anzahl_pbg_insert." / Geändert: ".$anzahl_pbg_update." / Fehler: ".$anzahl_fehler_pbg."\n\n");
echo nl2br($error_log_fas."\n--------------------------------------------------------------------------------\n");
echo nl2br($ausgabe_all);
mail($adress, 'SYNC Diplomarbeit von '.$_SERVER['HTTP_HOST'],
"Allgemeine Fehler: ".$anzahl_fehler.", lehrveranstaltung_fk<1: ".$anzahl_lv_fehler.", betreuer_fk oder begutachter_fk<1: ".$anzahl_betreuer_fehler.", Anzahl Bachelorarbeiten: ".$anzahl_quelle.".\n".
"Lehreinheiten: Gesamt: ".$anzahl_le_gesamt." / Eingefügt: ".$anzahl_le_insert." / Geändert: ".$anzahl_le_update." / Fehler: ".$anzahl_fehler_le."\n".
"Projektarbeiten: Gesamt: ".$anzahl_pa_gesamt." / Eingefügt: ".$anzahl_pa_insert." / Geändert: ".$anzahl_pa_update." / Fehler: ".$anzahl_fehler_pa."\n".
"Begutachter: Gesamt: ".$anzahl_pbg_gesamt." / Eingefügt: ".$anzahl_pbg_insert." / Geändert: ".$anzahl_pbg_update." / Fehler: ".$anzahl_fehler_pbg."\n\n".
$ausgabe_all,"From: vilesci@technikum-wien.at");
mail($adress, 'SYNC-Fehler Diplomarbeiten von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: vilesci@technikum-wien.at");
?>
</body>
</html>