SYNC Student

This commit is contained in:
Rudolf Hangl
2007-03-28 07:23:31 +00:00
parent 2324a7e720
commit 50ea0c2915
+207 -131
View File
@@ -408,7 +408,7 @@ foreach ($studiengangfk AS $stg)
}
*/
/*
$qry = "SELECT * FROM person JOIN student ON person_fk=person_pk WHERE uid NOT LIKE '\_dummy%'
AND person_pk NOT IN(
SELECT
@@ -438,8 +438,8 @@ AND (trim(p1.familienname)<>trim(p2.familienname) OR trim(p1.vorname)<>trim(p2.v
)
order by familienname;
";
*/
$qry="SELECT * FROM person JOIN student ON person_fk=person_pk WHERE uid='tw05p102';";
//$qry="SELECT * FROM person JOIN student ON person_fk=person_pk WHERE uid='iw05d203';";
$datum_obj=new datum();
if($result = pg_query($conn_fas, $qry))
{
@@ -680,7 +680,7 @@ if($result = pg_query($conn_fas, $qry))
{
$error_log='Punkte muss eine gueltige Zahl sein. '.$nachname.", ".$vorname."\n";
}
echo nl2br("\nFAS:".$nachname.", ".$vorname.": UID=".$student_uid.", Matrikelnr=".$matrikelnr."\n");
//echo nl2br("\n\nFAS:".$nachname.", ".$vorname.": UID=".$student_uid.", Matrikelnr=".$matrikelnr."\n");
//Ermittlung der Daten des Reihungstests
$qry="SELECT student_fk, reihungstest_fk, anmeldedatum FROM student_reihungstest WHERE student_fk='".$row->student_pk."';";
if($result_rt1 = pg_query($conn_fas, $qry))
@@ -715,15 +715,27 @@ echo nl2br("\nFAS:".$nachname.", ".$vorname.": UID=".$student_uid.", Matrikelnr=
}
//Student aktiv?
$qry="SELECT * FROM (SELECT status, creationdate FROM student_ausbildungssemester WHERE student_fk= '".$ext_id_student."' AND
$qry="SELECT * FROM (SELECT status, creationdate, ausbildungssemester_fk FROM student_ausbildungssemester WHERE student_fk= '".$ext_id_student."' AND
studiensemester_fk=(SELECT studiensemester_pk FROM studiensemester WHERE aktuell='J') ORDER BY creationdate DESC LIMIT 1) AS abc
WHERE status IN ('3', '10', '11', '12', '13');";
$aktiv=false;
$semester=' ';
if($resultu = pg_query($conn_fas, $qry))
{
if(pg_num_rows($resultu)>0)
{
$aktiv=true;
if($rowu=pg_fetch_object($resultu))
{
$aktiv=true;
$qry="SELECT * FROM ausbildungssemester WHERE ausbildungssemester_pk='".$rowu->ausbildungssemester_fk."';";
if($resultx = pg_query($conn_fas, $qry))
{
if($rowx=pg_fetch_object($resultx))
{
$semester=$rowx->semester;
}
}
}
}
else
{
@@ -1051,18 +1063,6 @@ echo nl2br("\nFAS:".$nachname.", ".$vorname.": UID=".$student_uid.", Matrikelnr=
$ausgabe_person="Staatsbürgerschaft: '".$staatsbuergerschaft."' (statt '".$row1->staatsbuergerschaft."')";
}
}
if($row1->ext_id!=$ext_id_person)
{
$updatep=true;
if(strlen(trim($ausgabe_person))>0)
{
$ausgabe_person.=", Ext_ID: '".$ext_id_person."' (statt '".$row1->ext_id."')";
}
else
{
$ausgabe_person="Ext_ID: '".$ext_id_person."' (statt '".$row1->ext_id."')";
}
}
if($updatep)
{
$qry = 'UPDATE public.tbl_person SET'.
@@ -1490,7 +1490,7 @@ echo nl2br("\nFAS:".$nachname.", ".$vorname.": UID=".$student_uid.", Matrikelnr=
if(pg_query($conn,$qry))
{
echo nl2br("Prestudent: ".$qry."\n");
//echo nl2br("person_id=".$person_id."\nPrestudent: ".$qry."\n");
if($new_prestudent)
{
$qry = "SELECT currval('public.tbl_prestudent_prestudent_id_seq') AS id;";
@@ -1537,7 +1537,10 @@ echo nl2br("Prestudent: ".$qry."\n");
{
if($rowu=pg_fetch_object($resultu))
{
$semester=$rowu->jahrgang;
if($semester==' ')
{
$semester=$rowu->jahrgang;
}
if ($rowu->verband==null)
{
$verband=' ';
@@ -1565,12 +1568,12 @@ echo nl2br("Prestudent: ".$qry."\n");
{
if(pg_num_rows($resultg)<1)
{
$qry='INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES('.myaddslashes($studiengang_kz).', '.
myaddslashes($semester).', '.
myaddslashes($verband).', '.
myaddslashes($gruppe).', '.
'true, null , null );';
$qry="INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES(".myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
myaddslashes($verband).", ".
myaddslashes($gruppe).", ".
"true, null , null );";
pg_query($conn, $qry);
}
@@ -1580,11 +1583,11 @@ echo nl2br("Prestudent: ".$qry."\n");
{
if(pg_num_rows($resultg)<1)
{
$qry='INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES('.myaddslashes($studiengang_kz).', '.
myaddslashes($semester).', '.
myaddslashes($verband).', '.
"'', true, null, null);";
$qry="INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES(".myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
myaddslashes($verband).", ".
"' ', true, null, null);";
pg_query($conn, $qry);
}
}
@@ -1593,10 +1596,10 @@ echo nl2br("Prestudent: ".$qry."\n");
{
if(pg_num_rows($resultg)<1)
{
$qry='INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES('.myaddslashes($studiengang_kz).', '.
myaddslashes($semester).', '.
"'', '', true, null, null);";
$qry="INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id)
VALUES(".myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
"' ', ' ', true, null, null);";
pg_query($conn, $qry);
}
}
@@ -1605,7 +1608,7 @@ echo nl2br("Prestudent: ".$qry."\n");
}
}
//prestudentrolle
echo nl2br("Aktiv=".($aktiv?'true':'false').", Semester=".$semester.", Verband=".$verband.", Gruppe=".$gruppe."\n");
//echo nl2br("Aktiv=".($aktiv?'true':'false').", Semester=".$semester.", Verband=".$verband.", Gruppe=".$gruppe."\n");
$qry="SELECT * FROM student_ausbildungssemester where student_fk='$ext_id_student';";
if($resultru = pg_query($conn_fas, $qry))
{
@@ -1652,119 +1655,178 @@ echo nl2br("Aktiv=".($aktiv?'true':'false').", Semester=".$semester.", Verband="
and $verband!=null and $gruppe!=null)
{
//Benutzer schon vorhanden?
$qry="SELECT uid, person_id, ext_id FROM public.tbl_benutzer WHERE person_id='".$person_id."' AND uid='".$matrikelnr."';";
if($resultu = pg_query($conn, $qry))
$qry="SELECT uid,person_id,ext_id FROM public.tbl_benutzer WHERE ext_id=".$ext_id_student.";";
if($resultx = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
$student_uid=$matrikelnr;
}
}
$qry="SELECT uid, person_id, ext_id FROM public.tbl_benutzer WHERE person_id='".$person_id."' AND uid='".$student_uid."';";
if($resultu = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
if(pg_num_rows($resultx)>0)
{
if($rowu=pg_fetch_object($resultu))
if($rowx=pg_fetch_object($resultx))
{
$qryfas="SELECT * FROM person, student WHERE person_pk=person_fk AND uid='".$student_uid."' AND perskz<>'';";
if($resultfas = pg_query($conn_fas, $qryfas))
{
if(pg_num_rows($resultfas)>1) //person mit mehreren studentendatensätzen?
{
$qry="SELECT * FROM (SELECT status, creationdate FROM student_ausbildungssemester WHERE student_fk= '".$ext_id_student."' AND
studiensemester_fk=(SELECT studiensemester_pk FROM studiensemester WHERE aktuell='J') ORDER BY creationdate DESC LIMIT 1) AS abc
WHERE status='9';";
$aktiv9=false;
if($resulta = pg_query($conn_fas, $qry))
{
if(pg_num_rows($resulta)>0)
{
$aktiv9=true;
}
else
{
$aktiv9=false;
}
}
else
{
$error=true;
$error_log.='Fehler beim Abfragen des aktuellen Status auf Unterbrecher bei student_pk: '.$row->student_pk;
echo nl2br('Fehler beim Abfragen des aktuellen Status auf Unterbrecher bei student_pk: '.$row->student_pk);
}
if(!$aktiv && !$aktiv9)
{
if($rowu->uid==$matrikelnr)
{
$new_benutzer=false;
}
else
{
$qrychk="SELECT * FROM public.tbl_benutzer WHERE person_id=person_id AND uid='".$matrikelnr."';";
if($resultchk = pg_query($conn, $qrychk))
{
if(pg_num_rows($resultchk)>0)
{
$new_benutzer=false;
}
else
{
$new_benutzer=true;
$student_uid=$matrikelnr;
}
}
}
}
else
{
$new_benutzer=false;
}
}
else
{
$new_benutzer=false;
}
}
}
else
{
$new_benutzer=true;
$new_benutzer=false;
$student_uid=$rowx->uid;
//echo nl2br("new1\n");
}
}
else
{
$new_benutzer=true;
$qry="SELECT uid, person_id, ext_id FROM public.tbl_benutzer WHERE person_id='".$person_id."' AND uid='".$matrikelnr."';";
if($resultu = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0)
{
$student_uid=$matrikelnr;
$new_benutzer=false;
//echo nl2br("new2\n");
}
else
{
$qry="SELECT uid, person_id, ext_id FROM public.tbl_benutzer WHERE person_id='".$person_id."' AND uid='".$student_uid."';";
if($resultu = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0)
{
if($rowu=pg_fetch_object($resultu))
{
$qryfas="SELECT * FROM person, student WHERE person_pk=person_fk AND uid='".$student_uid."' AND perskz<>'';";
if($resultfas = pg_query($conn_fas, $qryfas))
{
if(pg_num_rows($resultfas)>1) //person mit mehreren studentendatensätzen?
{
$qry="SELECT * FROM (SELECT status, creationdate FROM student_ausbildungssemester WHERE student_fk= '".$ext_id_student."' AND
studiensemester_fk=(SELECT studiensemester_pk FROM studiensemester WHERE aktuell='J') ORDER BY creationdate DESC LIMIT 1) AS abc
WHERE status='9';";
$aktiv9=false;
if($resulta = pg_query($conn_fas, $qry))
{
if(pg_num_rows($resulta)>0)
{
$aktiv9=true;
}
else
{
$aktiv9=false;
}
}
else
{
$error=true;
$error_log.='Fehler beim Abfragen des aktuellen Status auf Unterbrecher bei student_pk: '.$row->student_pk;
echo nl2br('Fehler beim Abfragen des aktuellen Status auf Unterbrecher bei student_pk: '.$row->student_pk);
}
if(!$aktiv && !$aktiv9)
{
if($rowu->uid==$matrikelnr)
{
$new_benutzer=false;
//echo nl2br("new3\n");
}
else
{
$qrychk="SELECT * FROM public.tbl_benutzer WHERE person_id=person_id AND uid='".$matrikelnr."';";
if($resultchk = pg_query($conn, $qrychk))
{
if(pg_num_rows($resultchk)>0)
{
$new_benutzer=false;
//echo nl2br("new4\n");
}
else
{
$new_benutzer=true;
$student_uid=$matrikelnr;
//echo nl2br("new5\n");
}
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_benutzer - person_id: '.$person_id."\n".pg_errormessage($conn)."\n";
}
}
}
else
{
$new_benutzer=false;
//echo nl2br("new6\n");
}
}
else
{
$new_benutzer=false;
//echo nl2br("new7\n");
}
}
}
else
{
$new_benutzer=true;
//echo nl2br("new8\n");
}
}
else
{
$new_benutzer=true;
//echo nl2br("new9\n");
}
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_benutzer bei person_id: '.$person_id."\n".pg_errormessage($conn)."\n";
}
}
}
}
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_benutzer bei person_id: '.$person_id."\n".pg_errormessage($conn)."\n";
$error_log.='Fehler beim Zugriff auf Tabelle tbl_benutzer mit person_id: '.$person_id."\n".pg_errormessage($conn)."\n";
}
echo nl2br("Neu=".$new_benutzer.", UID=".$student_uid."\n");
//echo nl2br("Neu=".$new_benutzer.", UID=".$student_uid."\n");
//Student schon vorhanden?
$qry="SELECT student_uid FROM public.tbl_student WHERE student_uid='".$student_uid."';";
$qry="SELECT student_uid FROM public.tbl_student WHERE ext_id='".$ext_id_student."';";
if($resultu = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
if($rowu=pg_fetch_object($resultu))
{
//$student_uid=$rowu->student_uid;
$new_student=false;
$new_student=false;
$student_where=" WHERE ext_id=".myaddslashes($ext_id_student).";";
}
}
else
{
$qry="SELECT student_uid FROM public.tbl_student WHERE matrikelnr='".$matrikelnr."';";
if($resultu = pg_query($conn, $qry))
{
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
{
if($rowu=pg_fetch_object($resultu))
{
$new_student=false;
$student_where=" WHERE matrikelnr=".myaddslashes($matrikelnr).";";
}
}
else
{
$new_student=true;
}
}
else $new_student=true;
}
else $new_student=true;
}
else
{
$error=true;
$error_log.='Fehler beim Zugriff auf Tabelle tbl_student bei student_pk: '.$ext_id_student."\n".pg_errormessage($conn)."\n";
}
//echo nl2br($student_where);
if($new_benutzer)
{
@@ -1912,12 +1974,25 @@ echo nl2br("Neu=".$new_benutzer.", UID=".$student_uid."\n");
//update student
//update nur wenn änderungen gemacht
$qry="SELECT * FROM public.tbl_student WHERE student_uid='$student_uid';";
$qry="SELECT * FROM public.tbl_student ".$student_where;
if($results = pg_query($conn, $qry))
{
while($rows = pg_fetch_object($results))
{
$updates=false;
$updates=false;
if(trim($rows->student_uid)!=trim($student_uid))
{
$updates=true;
if(strlen(trim($ausgabe_student))>0)
{
$ausgabe_student.=", Student_UID: '".$student_uid."' (statt '".trim($rows->student_uid)."')";
}
else
{
$ausgabe_student="Student_UID: '".$student_uid."' (statt '".trim($rows->student_uid)."')";
}
}
if(trim($rows->matrikelnr)!=trim($matrikelnr))
{
$updates=true;
@@ -2005,22 +2080,23 @@ echo nl2br("Neu=".$new_benutzer.", UID=".$student_uid."\n");
if($updates)
{
$qry = 'UPDATE public.tbl_student SET'.
' student_uid='.myaddslashes($student_uid).','.
' matrikelnr='.myaddslashes($matrikelnr).','.
' prestudent_id='.myaddslashes($prestudent_id).','.
' studiengang_kz='.myaddslashes($studiengang_kz).','.
' semester='.myaddslashes($semester).','.
' verband='.myaddslashes($verband).','.
' gruppe='.myaddslashes($gruppe).','.
//' semester='.myaddslashes($semester).','.
//' verband='.myaddslashes($verband).','.
//' gruppe='.myaddslashes($gruppe).','.
" updateamum=now()".','.
" updatevon=".myaddslashes($updatevon).','.
' ext_id='.myaddslashes($ext_id_student).
' WHERE student_uid='.myaddslashes($student_uid).';';
$student_where;
$ausgabe_student="Änderungen bei Student ".$student_uid.", ".$nachname.", (".$matrikelnr."): ".$ausgabe_student.".\n";
}
}
}
}
if(!@pg_query($conn,$qry))
if(!pg_query($conn,$qry))
{
$error=true;
$error_log.='Fehler beim Speichern des Student-Datensatzes:'.$nachname.' / '.$qry."\n".pg_errormessage($conn)."\n";
@@ -2123,7 +2199,7 @@ $error_log="Sync Student\n------------\n\n".$text4."\n".$text3."\n".$text5."\n".
Echo nl2br($error_log);
//mail($adress, 'SYNC-Fehler Student von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
mail($adress, 'SYNC-Fehler Student von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
/*fwrite($dateiausgabe,"\n\nPersonen ohne Reihungstest: ".$notest." \n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$anzahl_person_insert." / Geändert: ".$anzahl_person_update." / Fehler: ".$anzahl_fehler_person."\n"
."Prestudenten: Gesamt: ".$anzahl_pre_gesamt." / Eingefügt: ".$anzahl_pre_insert." / Geändert: ".$anzahl_pre_update." / Fehler: ".$anzahl_fehler_pre."\n"
@@ -2133,14 +2209,14 @@ Echo nl2br($error_log);
fwrite($dateiausgabe,"Fertig: ".date("d.m.Y H:i:s")."\n\n");
fclose($dateiausgabe);*/
/*
mail($adress, 'SYNC Student von '.$_SERVER['HTTP_HOST'], "Sync Student\n------------\n\nPersonen ohne Reihungstest: ".$notest." \n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$anzahl_person_insert." / Geändert: ".$anzahl_person_update." / Fehler: ".$anzahl_fehler_person."\n"
."Prestudenten: Gesamt: ".$anzahl_pre_gesamt." / Eingefügt: ".$anzahl_pre_insert." / Geändert: ".$anzahl_pre_update." / Fehler: ".$anzahl_fehler_pre."\n"
."Benutzer: Gesamt: ".$anzahl_benutzer_gesamt." / Eingefügt: ".$anzahl_benutzer_insert." / Geändert: ".$anzahl_benutzer_update." / Fehler: ".$anzahl_fehler_benutzer."\n"
."Nicht-Studenten: ".$anzahl_nichtstudenten."\n"
."Studenten: Gesamt: ".$anzahl_student_gesamt." / Eingefügt: ".$anzahl_student_insert." / Geändert: ".$anzahl_student_update." / Fehler: ".$anzahl_fehler_student."\n\n".$dateiausgabe."Fertig: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: vilesci@technikum-wien.at");
*/
?>
</body>
</html>