From 09563dfe1149c0a0140295101b4c3a7719df4b22 Mon Sep 17 00:00:00 2001 From: Christian Paminger Date: Tue, 19 Jun 2007 12:18:21 +0000 Subject: [PATCH] --- admin/sync/sync_fas_exstd.php | 23 ++++---- admin/sync/sync_fas_lva.php | 99 ++++++++++++++++++----------------- locale/de-AT/tempus.dtd | 50 +++++++++--------- 3 files changed, 91 insertions(+), 81 deletions(-) diff --git a/admin/sync/sync_fas_exstd.php b/admin/sync/sync_fas_exstd.php index b1f252491..d3cd3033d 100644 --- a/admin/sync/sync_fas_exstd.php +++ b/admin/sync/sync_fas_exstd.php @@ -1,8 +1,8 @@ uid); // SQL vorbereiten (jeden Studenten vom FAS im vilesci suchen - $sql_query="SELECT uid, vorname, nachname, semester, studiengang_kz FROM campus.vw_student WHERE uid='$uid'"; + $sql_query="SELECT uid, vorname, nachname, semester, studiengang_kz,verband,gruppe FROM campus.vw_student WHERE uid='$uid'"; //echo $sql_query; $res_std=pg_query($conn, $sql_query); $num_rows_std=pg_numrows($res_std); @@ -42,19 +42,24 @@ $row_std=pg_fetch_object($res_std); if ($row_std->semester!=0) { + $row_std->verband=trim($row_std->verband); + $row_std->gruppe=trim($row_std->gruppe); //Wenn dieser Lehrverband noch nicht existiert, wird er eingefuegt - $sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row_std->studiengang_kz' AND semester='0' AND verband='$row_std->verband' AND gruppe='$row_std->gruppe'"; + $sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row_std->studiengang_kz' AND semester=0 AND verband='$row_std->verband' AND gruppe='$row_std->gruppe'"; $result_grp = pg_query($conn, $sql_query); if(pg_num_rows($result_grp)==0) { - $sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung) VALUES('$row_std->studiengang_kz','0','$row_std->verband','$row_std->gruppe', false, 'Ab- / Unterbrecher');"; + $sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung) VALUES($row_std->studiengang_kz,0,'$row_std->verband','$row_std->gruppe', false, 'Ab-Unterbrecher');"; pg_query($conn, $sql_query); - $text.="Neuer Lehrverband wird erzeugt:$row_std->studiengang_kz 0\r"; + $text.="Neuer Lehrverband wird erzeugt:$sql_query\r"; } $text.="Der Student $row_std->vorname $row_std->nachname ($row_std->uid) wird verschoben.\r"; - $sql_query="UPDATE public.tbl_student SET semester=0, verband=' ', gruppe=' ', updateamum=now(), updatevon='auto' WHERE student_uid LIKE '$uid'"; + $sql_query="UPDATE public.tbl_student SET semester=0, "."verband='$row_std->verband', gruppe='$row_std->gruppe',"; + //if ($row_std->verband!='') + // $sql_query.=verband="'$row_std->verband', gruppe='$row_std->gruppe', + $sql_query.="updateamum=now(), updatevon='auto' WHERE student_uid LIKE '$uid'"; echo $sql_query.'
'; if(!$res_update=pg_query($conn, $sql_query)) { @@ -68,7 +73,7 @@ } } $text.="$update_error Fehler bei Student-Update!\r"; - $text.="$anz_update Studenten wurden ins 10te Semester verschoben.\r"; + $text.="$anz_update Studenten wurden ins 0te Semester verschoben.\r"; $text.="\rEND OF SYNCHRONISATION\r"; if (mail($adress,'FAS-Sync (Ex-Studenten) von '.$_SERVER['HTTP_HOST'],$text,"From: vilesci@technikum-wien.at")) $sendmail=true; diff --git a/admin/sync/sync_fas_lva.php b/admin/sync/sync_fas_lva.php index d2399d5d6..2d394eab5 100644 --- a/admin/sync/sync_fas_lva.php +++ b/admin/sync/sync_fas_lva.php @@ -6,15 +6,15 @@ include('../../include/lehrstunde.class.php'); $conn=pg_connect(CONN_STRING); $conn_fas=pg_connect(CONN_STRING_FAS); $adress='fas_sync@technikum-wien.at'; -$adress='pam@technikum-wien.at'; +//$adress='pam@technikum-wien.at'; $adress_stpl='lvplan@technikum-wien.at'; -$adress_stpl='pam@technikum-wien.at'; +//$adress_stpl='pam@technikum-wien.at'; $adress_fas='fas_sync@technikum-wien.at'; if (isset($_GET['studiensemester'])) $ss_where="studiensemester_kurzbz='".$_GET['studiensemester']."'"; else -{ +{ $qry="SELECT * FROM public.tbl_studiensemester WHERE ende>now()"; $result=pg_query($conn, $qry); $ss_where=''; @@ -38,11 +38,16 @@ function insert_sync($vilesci_id,$ext_id,$table_name,$conn) $qry="INSERT INTO sync.$table_name VALUES ($vilesci_id , $ext_id);"; if (!$result=@pg_query($conn, $qry)) { - //echo pg_result_error($result); + $error = substr(pg_last_error($conn), 0, 25); + //echo '
|'.trim($error).'|
'; + if (trim($error)==trim('ERROR: Duplizierter Wert')) + return true; + else + //echo pg_last_error($conn); return false; } else - return true; + return true; } function printLVA($row) @@ -206,7 +211,7 @@ function getLvId($kurzbz,$studiengang_kz,$semester,$lv_bezeichnung, $ects, $conn } // Nebenbei die ECTS Punkte kontrollieren - + if ($lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['ects']!=$ects) { if ($ects!='') //ereg("[0-9]{1,4}[\.|,][0-9]{0,2}$",$ects) @@ -301,7 +306,7 @@ flush(); // Start Lehrveranstaltungen Synchro $sql_query="SELECT DISTINCT fas_id,lehreinheit_pk,trim(lvnr) AS lvnr,trim(unr)::int8 AS unr,einheit_kurzbz,lektor,trim(upper(lehrfach_kurzbz)) AS lehrfach_kurzbz, - trim(upper(lehrform)) AS lehrform, lehrfach_bezeichnung, trim(upper(lv_kurzbz)) AS lv_kurzbz, lv_bezeichnung, + trim(upper(lehrform)) AS lehrform, lehrfach_bezeichnung, trim(upper(lv_kurzbz)) AS lv_kurzbz, lv_bezeichnung, studiengang_kz,fachbereich_id,semester,verband,gruppe,raumtyp,raumtypalternativ, round(semesterstunden) AS semesterstunden,stundenblockung,wochenrythmus,start_kw,anmerkung,studiensemester_kurzbz, ects FROM fas_view_alle_lehreinheiten_vilesci WHERE ".$ss_where; @@ -309,9 +314,9 @@ $sql_query="SELECT DISTINCT fas_id,lehreinheit_pk,trim(lvnr) AS lvnr,trim(unr):: $result=pg_query($conn_fas, $sql_query); $num_rows=pg_num_rows($result); $text="Dies ist eine automatische eMail!\r\r"; -$text.="Es wurde eine Synchronisation mit FAS durchgeführt.\r"; -$text.="Anzahl der LVA vom FAS-Import: $num_rows \r"; -$text.="Anzahl der LVA in der VileSci: $vil_anz_lva \r\r"; +$text.="Es wurde eine Synchronisation mit FAS durchgeführt.($ss_where)\r"; +$text.="Anzahl der LE vom FAS-Import: $num_rows \r"; +$text.="Anzahl der LE in der VileSci: $vil_anz_lva \r\r"; $plausi_error=0; $update_error=0; $insert_error=0; @@ -321,7 +326,7 @@ $anz_insert=0; echo $num_rows.' Datensaetze
'; for ($i=0;$i<$num_rows;$i++) { - + //if ($i%100==0) //{ // echo '-'; @@ -412,7 +417,7 @@ for ($i=0;$i<$num_rows;$i++) $insert_error++; pg_query($conn,'ROLLBACK'); } - else + else { // Sync-Tabelle aktualisieren insert_sync($row_seq->id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn); @@ -437,7 +442,7 @@ for ($i=0;$i<$num_rows;$i++) $insert_error++; pg_query($conn, 'ROLLBACK'); } - else + else { //Lektor zuteilen $sql_query = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid,'. @@ -453,7 +458,7 @@ for ($i=0;$i<$num_rows;$i++) $insert_error++; pg_query($conn, 'ROLLBACK'); } - else + else { pg_query($conn, 'COMMIT'); $anz_insert++; @@ -461,20 +466,20 @@ for ($i=0;$i<$num_rows;$i++) } } } - - } + + } elseif ($num_rows_lva>0)// bestehende Lehreinheit - { + { $update_sql=''; $row_lva=pg_fetch_object($res_lva); - + $sql_query = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$row_lva->lehreinheit_id'"; if(!$result_le = pg_query($conn, $sql_query)) { $update_error++; $text.="\nLehreinheit konnte nicht geladen werden: $sql_query\n"; } - else + else { $row_le = pg_fetch_object($result_le); $update=false; @@ -486,7 +491,7 @@ for ($i=0;$i<$num_rows;$i++) //if ($row->lehrfach_nr!=$row_le->lehrfach_id) // $update_sql.=(strlen($update_sql)>0?',':'')."lehrfach_nr=".$row->lehrfach_nr; if ($row->lehrform!=$row_le->lehrform_kurzbz) - $update_sql.=(strlen($update_sql)>0?',':'')."lehrform_kurzbz='".$row->lehrform."'"; + $update_sql.=(strlen($update_sql)>0?',':'')."lehrform_kurzbz='".$row->lehrform."'"; //if ($row->studiengang_kz!=$row_le->studiengang_kz) // $update_sql.=(strlen($update_sql)>0?',':'')."studiengang_kz=".$row->studiengang_kz; //if ($row->semester!=$row_le->semester) @@ -494,7 +499,7 @@ for ($i=0;$i<$num_rows;$i++) if ($row->raumtyp!=$row_le->raumtyp) $update_sql.=(strlen($update_sql)>0?',':'')."raumtyp='".$row->raumtyp."'"; if ($row->raumtypalternativ!=$row_le->raumtypalternativ) - $update_sql.=(strlen($update_sql)>0?',':'')."raumtypalternativ='".$row->raumtypalternativ."'"; + $update_sql.=(strlen($update_sql)>0?',':'')."raumtypalternativ='".$row->raumtypalternativ."'"; if ($row->stundenblockung!=$row_le->stundenblockung) $update_sql.=(strlen($update_sql)>0?',':'')."stundenblockung=".$row->stundenblockung; if ($row->wochenrythmus!=$row_le->wochenrythmus) @@ -504,12 +509,12 @@ for ($i=0;$i<$num_rows;$i++) if ($row->studiensemester_kurzbz!=$row_le->studiensemester_kurzbz) $update_sql.=(strlen($update_sql)>0?',':'')."studiensemester_kurzbz='".$row->studiensemester_kurzbz."'"; if ($row->anmerkung!=$row_le->anmerkung) - $update_sql.=(strlen($update_sql)>0?',':'')."anmerkung='".$row->anmerkung."'"; - - insert_sync($row_le->lehreinheit_id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn); - + $update_sql.=(strlen($update_sql)>0?',':'')."anmerkung='".$row->anmerkung."'"; + + //insert_sync($row_le->lehreinheit_id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn); + if (strlen($update_sql)>0) - { + { $sql_query="UPDATE lehre.tbl_lehreinheit SET ". $update_sql. " where lehreinheit_id=".$row_le->lehreinheit_id; @@ -522,7 +527,7 @@ for ($i=0;$i<$num_rows;$i++) else $update=true; } - + $sql_query = 'SELECT * FROM lehre.tbl_lehreinheitmitarbeiter'. " WHERE lehreinheit_id='$row_lva->lehreinheit_id' AND mitarbeiter_uid='$row->lektor'"; //echo $sql_query.'
'; @@ -535,7 +540,7 @@ for ($i=0;$i<$num_rows;$i++) $update_sql=''; if ($row->semesterstunden!=$row_lektor->semesterstunden) $update_sql.=(strlen($update_sql)>0?',':'')."semesterstunden=".$row->semesterstunden; - + if($update_sql!='') { $sql_query = "UPDATE lehre.tbl_lehreinheitmitarbeiter SET $update_sql". @@ -547,11 +552,11 @@ for ($i=0;$i<$num_rows;$i++) $text .=$sql_query; $text.="\nFehler:".pg_errormessage($conn); } - else + else $update=true; } } - else + else { //Lehreinheitmitarbeiter Eintrag hinzufuegen $sql_query = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid,'. @@ -566,17 +571,17 @@ for ($i=0;$i<$num_rows;$i++) $text.="\nFehler:".pg_errormessage($conn); $update_error++; } - else + else $update=true; } } - + $sql_query = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row_lva->lehreinheit_id'"; if($row->einheit_kurzbz!='') { $sql_query.=" AND gruppe_kurzbz='$row->einheit_kurzbz'"; } - else + else { $sql_query.=" AND studiengang_kz='$row->studiengang_kz' AND semester='$row->semester'"; if($row->verband!='') @@ -604,34 +609,34 @@ for ($i=0;$i<$num_rows;$i++) { $update=true; } - else + else { $text.=$sql_query; $text.="\nFehler:".pg_errormessage($conn); $update_error++; - } + } } - else + else { if(!isset($missing_einheit[$row->einheit_kurzbz])) $missing_einheit[$row->einheit_kurzbz]=1; } } } - else - { + else + { $text.=$sql_query; $text.="\nFehler:".pg_errormessage($conn); $update_error++; } - - + + if($update) { $text.="Die Lehreinheit fas-id=$row->fas_id lvnr=$row->lvnr unr=$row->unr wurde upgedatet.\r"; $anz_update++; } - + /* // **************** // Auch in tbl_stundenplandev updaten @@ -678,7 +683,7 @@ for ($i=0;$i<$num_rows;$i++) if (!pg_query($conn,"COMMIT;")) $text.="\rFehler: ".pg_errormessage($conn)."\r"; }*/ - } + } } // LVA kommt mehrmals vor ->Warnung //elseif ($num_rows_lva>1) @@ -702,17 +707,17 @@ $anz_delete=0; if($res_delete=pg_query($conn, $sql_query)) { while($row = pg_fetch_object($res_delete)) - { + { $qry = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE ext_id='$row->ext_id'; DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE ext_id='$row->ext_id';"; //$text.="Lehreinheitengruppe und Lehreinheitmitarbeiter mit FAS_ID '$row->ext_id' wird geloescht\n"; - + if(pg_query($conn, $qry)) { $anz_delete++; $text.="Lehreinheitengruppe und Lehreinheitmitarbeiter mit FAS_ID '$row->ext_id' wurde geloescht\n"; } - else + else { $text.=$qry; $text.="\nFehler beim loeschen:".pg_errormessage($conn);"\n"; @@ -720,7 +725,7 @@ if($res_delete=pg_query($conn, $sql_query)) } } else -{ +{ $text.="\n".$sql_query; $text.="\nFehler: ".pg_errormessage($conn)."\n"; } @@ -817,7 +822,7 @@ if ($mail_text_false!='') echo "Mail an '".$adress_fas."' konnte nicht verschickt werden!
"; else echo 'Mail wurde verschickt an '.$adress_fas.'!
'; - + ?> diff --git a/locale/de-AT/tempus.dtd b/locale/de-AT/tempus.dtd index 340b43c07..c507ad668 100644 --- a/locale/de-AT/tempus.dtd +++ b/locale/de-AT/tempus.dtd @@ -2,38 +2,38 @@ - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - - + + +