diff --git a/admin/sync/sync_fas_exstd.php b/admin/sync/sync_fas_exstd.php
index 67c0b949e..b1f252491 100644
--- a/admin/sync/sync_fas_exstd.php
+++ b/admin/sync/sync_fas_exstd.php
@@ -1,7 +1,8 @@
now()";
+ $result=pg_query($conn, $qry);
+ $ss_where='';
+ while ($row=pg_fetch_object($result))
+ {
+ $ss_where.= ((strlen($ss_where)>0)?' or ':'')."studiensemester_kurzbz='".$row->studiensemester_kurzbz."' ";
+ }
+ if (strlen($ss_where)>0) $ss_where=" ($ss_where) ";
+}
// error log für jeden Studiengang
$error_log=array();
@@ -20,25 +33,23 @@ $missing_einheit=array();
$missing_raumtyp=array();
$missing_lehrform=array();
+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);
+ return false;
+ }
+ else
+ return true;
+}
+
function printLVA($row)
{
return 'lvnr='.$row->lvnr.' '.$row->lv_bezeichnung;
}
-function getSemesterWhereClause()
-{
- global $conn;
- $qry="SELECT * FROM public.tbl_studiensemester WHERE ende>now()";
- $result=pg_query($conn, $qry);
- $where='';
- while ($row=pg_fetch_object($result))
- {
- $where.= ((strlen($where)>0)?' or ':'')."studiensemester_kurzbz='".$row->studiensemester_kurzbz."' ";
- }
- if (strlen($where)>0) $where=" ($where) ";
- return $where;
-}
-
function validate($row)
{
global $error_log,$einheit,$missing_einheit,$missing_raumtyp,$missing_lehrform,$raumtyp,$lehrform;
@@ -289,12 +300,11 @@ echo 'FAS-Datenbank wird abgefragt!
';
flush();
// Start Lehrveranstaltungen Synchro
-$sql_query="SELECT DISTINCT fas_id,trim(lvnr) AS lvnr,trim(unr)::int8 AS unr,einheit_kurzbz,lektor,trim(upper(lehrfach_kurzbz)) AS lehrfach_kurzbz,
+$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,
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 ".getSemesterWhereClause();
+ FROM fas_view_alle_lehreinheiten_vilesci WHERE ".$ss_where;
//echo $sql_query."
";
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
@@ -404,6 +414,8 @@ for ($i=0;$i<$num_rows;$i++)
}
else
{
+ // Sync-Tabelle aktualisieren
+ insert_sync($row_seq->id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn);
//Gruppe zuteilen
$sql_query = 'INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheit_id, studiengang_kz,'.
' semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon ,insertamum, insertvon, ext_id)'.
@@ -494,6 +506,8 @@ for ($i=0;$i<$num_rows;$i++)
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);
+
if (strlen($update_sql)>0)
{
$sql_query="UPDATE lehre.tbl_lehreinheit SET ".
@@ -681,7 +695,7 @@ for ($i=0;$i<$num_rows;$i++)
// ****************
// Ueberfluessige Datensaetze loeschen
-$whereClause=getSemesterWhereClause();
+$whereClause=$ss_where;
$sql_query="SELECT tbl_lehreinheitmitarbeiter.ext_id FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit WHERE tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND $whereClause AND tbl_lehreinheitmitarbeiter.ext_id NOT IN (SELECT fas_id FROM lehre.vw_fas_lehrveranstaltung WHERE ($whereClause) AND (fas_id!=0 OR fas_id IS NOT NULL) AND ($whereClause))";
//echo $sql_query.'
';
$anz_delete=0;
@@ -760,7 +774,7 @@ while(list($k,$v)=each($missing_lehrform))
$text.=" $k\n";
}
-if (mail($adress,"FAS Synchro mit VileSci (Lehrveranstaltungen)",$text,"From: vilesci@technikum-wien.at"))
+if (mail($adress,"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
@@ -777,11 +791,11 @@ while(list($k,$v)=each($error_log))
$stg_text.="$txt\n";
echo $stg_text.'
';
// Studiengang
- if (!mail($stg_mail[$k],"FAS Synchro mit Portal (Lehrveranstaltungen) $k",$stg_text,"From: vilesci@technikum-wien.at"))
+ if (!mail($stg_mail[$k],"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$stg_text,"From: vilesci@technikum-wien.at"))
echo "Mail an '".$stg_mail[$k]."' konnte nicht verschickt werden!
";
// Stundenplanstelle
echo "
Mail an Studiengang $k ($adress_stpl)
";
- if (!mail($adress_stpl,"FAS Synchro mit Portal (Lehrveranstaltungen) $k",$stg_text,"From: vilesci@technikum-wien.at"))
+ if (!mail($adress_stpl,"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$stg_text,"From: vilesci@technikum-wien.at"))
echo 'Mail an "'.$adress_stpl.'" konnte nicht verschickt werden!
';
}
@@ -799,7 +813,7 @@ if ($num_rows>0)
$mail_text_false.=$row->fas_id.'->'.$row->anzahl."x\n";
$mail_text.=$mail_text_false."\n\nBitte überprüfen die Daten im FAS!!!";
if ($mail_text_false!='')
- if (!mail($adress_fas,"FAS Synchro mit Portal (Lehrveranstaltungen)",$mail_text,"From: vilesci@technikum-wien.at"))
+ if (!mail($adress_fas,'FAS-Sync (Lehreinheiten) von '.$_SERVER['HTTP_HOST'],$mail_text,"From: vilesci@technikum-wien.at"))
echo "Mail an '".$adress_fas."' konnte nicht verschickt werden!
";
else
echo 'Mail wurde verschickt an '.$adress_fas.'!
';