From b7efc63b72852283b31139936ba851d7402c4c54 Mon Sep 17 00:00:00 2001 From: Rudolf Hangl Date: Wed, 20 Jun 2007 06:49:18 +0000 Subject: [PATCH] --- .../fas/sync_fas_vilesci_lehreinheiten.php | 145 ++++++++++++++---- 1 file changed, 115 insertions(+), 30 deletions(-) diff --git a/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php index 71e86caed..89536f72f 100644 --- a/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php +++ b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php @@ -33,6 +33,7 @@ $ausgabe1=''; $anzahl_part=0; $anzahl_part2=0; $anzahl_part_gesamt=0; +$anzahl_part_fehler=0; $anzahl_eingefuegt=0; $anzahl_geaendert=0; $anzahl_fehler=0; @@ -137,7 +138,8 @@ $qry_main = "SELECT *,lehreinheit.lehreinheit_fk as le_fk, mitarbeiter_lehreinhe FROM lehreinheit left outer join mitarbeiter_lehreinheit ON lehreinheit.lehreinheit_pk=mitarbeiter_lehreinheit.lehreinheit_fk ORDER BY lehreinheit.lehreinheit_fk;"; -//AND mitarbeiter_fk='1512' +//WHERE mitarbeiter_fk='1512' +//WHERE mitarbeiter_lehreinheit_pk IN ('63232','63344','63231','47087') if($result = pg_query($conn_fas, $qry_main)) { $anzahl_quelle=pg_num_rows($result); @@ -487,7 +489,7 @@ if($result = pg_query($conn_fas, $qry_main)) } } $lg_ext_id=$row->mitarbeiter_lehreinheit_pk; - $qry="SELECT * FROM lehre.tbl_lehreinheit join lehre.tbl_lehreinheitgruppe using (lehreinheit_id) WHERE tbl_lehreinheitgruppe.ext_id='".$lg_ext_id."';"; + $qry="SELECT * FROM lehre.tbl_lehreinheit join lehre.tbl_lehreinheitgruppe USING (lehreinheit_id) WHERE tbl_lehreinheitgruppe.ext_id='".$lg_ext_id."';"; if($result3 = pg_query($conn, $qry)) { if($row3=pg_fetch_object($result3)) @@ -500,7 +502,7 @@ if($result = pg_query($conn_fas, $qry_main)) $gja=false; } } - $qry="SELECT * FROM lehre.tbl_lehreinheit join lehre.tbl_lehreinheitmitarbeiter using (lehreinheit_id) WHERE tbl_lehreinheitmitarbeiter.ext_id='".$lm_ext_id."';"; + $qry="SELECT * FROM lehre.tbl_lehreinheit join lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id) WHERE tbl_lehreinheitmitarbeiter.ext_id='".$lm_ext_id."';"; if($result3 = pg_query($conn, $qry)) { if($row3=pg_fetch_object($result3)) @@ -563,7 +565,7 @@ if($result = pg_query($conn_fas, $qry_main)) { if(pg_num_rows($result2)>1) { - echo pg_num_rows($result2)."/".$qry."
"; + echo pg_num_rows($result2)."
/".$qry."
"; $error_log.=pg_num_rows($result2)."/".$qry."\n"; $anzahl_fehler++; pg_query($conn,'ROLLBACK;'); @@ -1239,15 +1241,18 @@ if($result = pg_query($conn_fas, $qry_main)) $lg_insertvon=$rowcu->name; } } - $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE ext_id=".myaddslashes($lg_ext_id).";"; - if($lehreinheit_id==4900) - echo "lg --- ".$qry."
"; + $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE ext_id=".myaddslashes($lg_ext_id)." ORDER BY lehreinheitgruppe_id ASC;"; if($result4 = pg_query($conn, $qry)) { if(!(pg_num_rows($result4)>0)) { //ext_id nicht gefunden - $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL")." ;"; + $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe + WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." + AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." + AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." + AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." + AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL").";"; if($result3 = pg_query($conn, $qry)) { if($row3=pg_fetch_object($result3)) @@ -1354,7 +1359,19 @@ if($result = pg_query($conn_fas, $qry_main)) if($row3->ext_id!=$lg_ext_id) { $update=true; + if(strlen(trim($ausgabe_lm))>0) + { + $ausgabe_lm.=", ext_id: '".$lg_ext_id."' (statt '".$row3->ext_id."')"; + } + else + { + $ausgabe_lm="ext_id: '".$lg_ext_id."' (statt '".$row3->ext_id."')"; + } } + if($row3->ext_id!=NULL) + { + $update=false; + } if($update) { $qry="UPDATE lehre.tbl_lehreinheitgruppe SET ". @@ -1367,11 +1384,17 @@ if($result = pg_query($conn_fas, $qry_main)) "insertvon=".myaddslashes($lg_insertvon).", ". "insertamum=".myaddslashes($lg_insertamum).", ". "ext_id=".myaddslashes($lg_ext_id)." ". - "WHERE lehreinheit_id=".myaddslashes($lehreinheit_id).";"; + "WHERE lehreinheitgruppe_id=".myaddslashes($row3->lehreinheitgruppe_id).";"; + /*"WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." + AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." + AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." + AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." + AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL").";"; + */ if(pg_query($conn, $qry)) { $anzahl_geaendert_lg++; - $ausgabe.="Lehreinheitgruppe '".$row3->lehreinheitgruppe_id."' aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."\n"; + $ausgabe.="Lehreinheitgruppe '".$row3->lehreinheitgruppe_id."' aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."!\n".$qry."\n"; } else { @@ -1420,9 +1443,9 @@ if($result = pg_query($conn_fas, $qry_main)) //ext_id gefunden //update $lg_iu='u'; - $update=false; if($row4=pg_fetch_object($result4)) { + $update=false; if($row4->lehreinheit_id!=$lehreinheit_id) { $update=true; @@ -1534,7 +1557,7 @@ if($result = pg_query($conn_fas, $qry_main)) if(pg_query($conn, $qry)) { $anzahl_geaendert_lg++; - $ausgabe.="Lehreinheitgruppe '".$row4->lehreinheitgruppe_id."' wurde aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."\n"; + $ausgabe.="Lehreinheitgruppe '".$row4->lehreinheitgruppe_id."' wurde aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."\n".$qry."!!\n"; } else { @@ -1598,22 +1621,60 @@ if($result = pg_query($conn_fas, $qry_main)) ");"; if(!pg_query($conn, $qry4)) { - $anzahl_fehler++; + $anzahl_part_fehler++; $error=true; $error_log.="Eintrag in tbl_synclehreinheit fehlgeschlagen (".$row5->lehreinheit_id."/".$ext_id.")!\n"; } else { - $ausgabe.="Lehreinheit lvnr='".$lvnr." partizipierend eingefügt.\n"; + $ausgabe.="Lehreinheit lvnr='".$lvnr."' (Lehreinheit id/pk .'".$row5->lehreinheit_id."'/'".$ext_id."') partizipierend eingefügt.\n"; $anzahl_part++; + //ext_id für gruppe zusammenstellen + $qry="SELECT *, tbl_lehreinheitmitarbeiter.ext_id as lg_ext_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE lehreinheit_id=".myaddslashes($row5->lehreinheit_id)." ORDER BY tbl_lehreinheitmitarbeiter.ext_id ASC;"; + if($result6 = pg_query($conn, $qry)) + { + if($row6=pg_fetch_object($result6)) + { + if($row6->lg_ext_id==NULL) + { + $row6->lg_ext_id=''; + } + + $lg_ext_id='-'.$row->lehreinheit_pk.$row6->lg_ext_id; + } + } } } else { - $ausgabe.="Partizipierende Lehreinheit lvnr='".$lvnr." (Lehreinheit id/pk .'".$row5->lehreinheit_id."'/'".$ext_id."') in synclehreinheit gefunden.\n"; + $ausgabe.="Partizipierende Lehreinheit lvnr='".$lvnr."' (Lehreinheit id/pk .'".$row5->lehreinheit_id."'/'".$ext_id."') in synclehreinheit gefunden.\n"; $anzahl_part2++; + //ext_id für gruppe zusammenstellen + $qry="SELECT *, tbl_lehreinheitmitarbeiter.ext_id as lg_ext_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE lehreinheit_id=".myaddslashes($row5->lehreinheit_id)." ORDER BY tbl_lehreinheitmitarbeiter.ext_id ASC;"; + if($result6 = pg_query($conn, $qry)) + { + if($row6=pg_fetch_object($result6)) + { + if($row6->lg_ext_id==NULL) + { + $row6->lg_ext_id=''; + } + + $lg_ext_id='-'.$row->lehreinheit_pk.$row6->lg_ext_id; + } + } } } + else + { + $anzahl_part_fehler++; + $error=true; + $error_log.="Abfrage von tbl_synclehreinheit fehlgeschlagen (".$row5->lehreinheit_id."/".$ext_id.")!\n"; + pg_query($conn,'ROLLBACK;'); + continue; + } + + //lehreinheitgruppe synchronisieren @@ -1639,7 +1700,7 @@ if($result = pg_query($conn_fas, $qry_main)) //$lg_updatevon =''; //$lg_insertvon =''; $lg_insertamum =''; - $lg_ext_id =-1*($row->lehreinheit_pk); + //insertvon ermitteln $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->lecu."';"; @@ -1650,15 +1711,19 @@ if($result = pg_query($conn_fas, $qry_main)) $lg_insertvon=$rowcu->name; } } + //echo "^^^^v^^^^".$lg_ext_id."\n"; $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE ext_id=".myaddslashes($lg_ext_id).";"; - if($lehreinheit_id==4900) - echo "lg --- ".$qry."
"; if($result4 = pg_query($conn, $qry)) { if(!(pg_num_rows($result4)>0)) { //ext_id nicht gefunden - $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL")." ;"; + $qry="SELECT * FROM lehre.tbl_lehreinheitgruppe + WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." + AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." + AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." + AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." + AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL")." ;"; if($result3 = pg_query($conn, $qry)) { if($row3=pg_fetch_object($result3)) @@ -1765,6 +1830,18 @@ if($result = pg_query($conn_fas, $qry_main)) if($row3->ext_id!=$lg_ext_id) { $update=true; + if(strlen(trim($ausgabe_lm))>0) + { + $ausgabe_lm.=", ext_id: '".$lg_ext_id."' (statt '".$row3->ext_id."')"; + } + else + { + $ausgabe_lm="ext_id: '".$lg_ext_id."' (statt '".$row3->ext_id."')"; + } + } + if($row3->ext_id!=NULL) + { + $update=false; } if($update) { @@ -1778,17 +1855,21 @@ if($result = pg_query($conn_fas, $qry_main)) "insertvon=".myaddslashes($lg_insertvon).", ". "insertamum=".myaddslashes($lg_insertamum).", ". "ext_id=".myaddslashes($lg_ext_id)." ". - "WHERE lehreinheit_id=".myaddslashes($lehreinheit_id).";"; + "WHERE lehreinheit_id=".myaddslashes($lehreinheit_id)." AND studiengang_kz=".$studiengang_kz." + AND ".($semester!=''?"semester=".myaddslashes($semester):"semester IS NULL")." + AND ".($verband!=''?"verband=".myaddslashes($verband):"verband IS NULL")." + AND ".($gruppe!=''?"gruppe=".myaddslashes($gruppe):"gruppe IS NULL")." + AND ".($gruppe_kurzbz!=''?"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz):"gruppe_kurzbz IS NULL").";"; if(pg_query($conn, $qry)) { $anzahl_geaendert_lg++; - $ausgabe.="Lehreinheitgruppe (part.)'".$row3->lehreinheitgruppe_id."' aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."\n"; + $ausgabe.="Lehreinheitgruppe (part.) '".$row3->lehreinheitgruppe_id."' aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."!\n"; } else { - $anzahl_fehler_lg++; + $anzahl_part_fehler++; $error=true; - $error_log.="Lehreinheitgruppe (part.)'".$row3->lehreinheitgruppe_id."' mit LE '".$lehreinheit_id."' konnte nicht aktualisiert werden!\n"; + $error_log.="Lehreinheitgruppe (part.) '".$row3->lehreinheitgruppe_id."' mit LE '".$lehreinheit_id."' konnte nicht aktualisiert werden!\n"; } } $ausgabe_lm=''; @@ -1818,7 +1899,7 @@ if($result = pg_query($conn_fas, $qry_main)) } else { - $anzahl_fehler_lg++; + $anzahl_part_fehler++; $error=true; $error_log.="Lehreinheitgruppe (part.) '".$row3->lehreinheitgruppe_id."' mit LE '".$lehreinheit_id."' konnte nicht eingefügt werden!\n"; } @@ -1944,23 +2025,27 @@ if($result = pg_query($conn_fas, $qry_main)) if(pg_query($conn, $qry)) { $anzahl_geaendert_lg++; - $ausgabe.="Lehreinheitgruppe (part)'".$row4->lehreinheitgruppe_id."' wurde aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm."\n"; + $ausgabe.="Lehreinheitgruppe (part) '".$row4->lehreinheitgruppe_id."' wurde aktualisiert bei Lehreinheit='".$lehreinheit_id."': ".$ausgabe_lm.".\n"; } else { - $anzahl_fehler_lg++; + $anzahl_part_fehler++; $error=true; - $error_log.="Lehreinheitgruppe (part.)'".$row4->lehreinheitgruppe_id."' mit LE '".$lehreinheit_id."' konnte nicht aktualisiert werden.\n"; + $error_log.="Lehreinheitgruppe (part.) '".$row4->lehreinheitgruppe_id."' mit LE '".$lehreinheit_id."' konnte nicht aktualisiert werden.\n"; } } $ausgabe_lm=''; } } } + else + { + echo '#\n'; + } } else { - $anzahl_fehler++; + $anzahl_part_fehler++; $error=true; $error_log.="Lehreinheit_part='".$lehreinheit_part."' in sync.tbl_synclehreinheit nicht gefunden.\n"; } @@ -1989,14 +2074,14 @@ if($result = pg_query($conn_fas, $qry_main)) $error_log="Sync Lehreinheiten\n-----------------------\n\n".$error_log."\n"; echo "Lehreinheitensynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."

"; echo "Gesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."
"; - echo "Partizipierende LEs Gesamt: ".$anzahl_part_gesamt." / Eingefügt: ".$anzahl_part." / bereits vorhanden: ".$anzahl_part2."

"; + echo "Partizipierende LEs Gesamt: ".$anzahl_part_gesamt." / Eingefügt: ".$anzahl_part." / bereits vorhanden: ".$anzahl_part2." / Fehler: ".$anzahl_part_fehler."

"; echo "Lehreinheit-Mitarbeiter: Eingefügt:".$anzahl_eingefuegt_lm." / Geändert:".$anzahl_geaendert_lm." / Fehler:".$anzahl_fehler_lm."
"; echo "Lehreinheit-Gruppen: Eingefügt:".$anzahl_eingefuegt_lg." / Geändert:".$anzahl_geaendert_lg." / Fehler:".$anzahl_fehler_lg."
"; echo "Lehrfächer eingefügt: ".$anzahl_lehrfaecher.".

"; echo nl2br($error_log. "\n------------------------------------------------------------------------\n".$ausgabe_all); mail($adress, 'SYNC-Fehler Lehreinheiten von '.$_SERVER['HTTP_HOST'], $error_log, "From: vilesci@technikum-wien.at"); - mail($adress, 'SYNC Lehreinheiten von '.$_SERVER['HTTP_HOST'], "Sync Lehreinheiten\n-----------------------\n\nGesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."\nPartizipierende LEs Gesamt: ".$anzahl_part_gesamt." / Eingefügt: ".$anzahl_part."\n\nLehreinheit-Mitarbeiter: Eingefügt:".$anzahl_eingefuegt_lm." / Geändert:".$anzahl_geaendert_lm." / Fehler:".$anzahl_fehler_lm."\nLehreinheit-Gruppen: Eingefügt:".$anzahl_eingefuegt_lg." / Geändert:".$anzahl_geaendert_lg." / Fehler:".$anzahl_fehler_lg."\nLehrfächer eingefügt: ".$anzahl_lehrfaecher."\n\n".$ausgabe_all, "From: vilesci@technikum-wien.at"); + mail($adress, 'SYNC Lehreinheiten von '.$_SERVER['HTTP_HOST'], "Sync Lehreinheiten\n-----------------------\n\nGesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."\nPartizipierende LEs Gesamt: ".$anzahl_part_gesamt." / Eingefügt: ".$anzahl_part." / bereits vorhanden: ".$anzahl_part2."\n\nLehreinheit-Mitarbeiter: Eingefügt:".$anzahl_eingefuegt_lm." / Geändert:".$anzahl_geaendert_lm." / Fehler:".$anzahl_fehler_lm."\nLehreinheit-Gruppen: Eingefügt:".$anzahl_eingefuegt_lg." / Geändert:".$anzahl_geaendert_lg." / Fehler:".$anzahl_fehler_lg."\nLehrfächer eingefügt: ".$anzahl_lehrfaecher."\n\n".$ausgabe_all, "From: vilesci@technikum-wien.at"); //fclose($dateiausgabe); } ?>