diff --git a/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php
index ed952a5b2..bc027ed25 100644
--- a/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php
+++ b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php
@@ -127,9 +127,10 @@ if($result = pg_query($conn_fas, $qry))
}
$qry_main = "SELECT *,lehreinheit.lehreinheit_fk as le_fk, mitarbeiter_lehreinheit.creationdate as lm_creationdate,
- lehreinheit.ivar1 as wochenrythmus, lehreinheit.ivar2 as start_kw, lehreinheit.ivar3 as stundenblockung
- FROM lehreinheit, mitarbeiter_lehreinheit
- WHERE lehreinheit.lehreinheit_pk=mitarbeiter_lehreinheit.lehreinheit_fk
+ lehreinheit.ivar1 as wochenrythmus, lehreinheit.ivar2 as start_kw, lehreinheit.ivar3 as stundenblockung,
+ lehreinheit.creationuser as lecu
+ FROM lehreinheit left outer join mitarbeiter_lehreinheit
+ ON lehreinheit.lehreinheit_pk=mitarbeiter_lehreinheit.lehreinheit_fk
ORDER BY lehreinheit.lehreinheit_fk;";
//AND mitarbeiter_fk='1512'
if($result = pg_query($conn_fas, $qry_main))
@@ -169,6 +170,7 @@ if($result = pg_query($conn_fas, $qry_main))
$lehreinheit_part =$row->le_fk;
$fachbereich_kurzbz =$fachbereiche[$row->fachbereich_fk];
+
$semester='';
$verband='';
$gruppe='';
@@ -177,15 +179,7 @@ if($result = pg_query($conn_fas, $qry_main))
{
$start_kw=NULL;
}
- //insertvon ermitteln
- $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';";
- if($resultcu = pg_query($conn_fas, $qrycu))
- {
- if($rowcu=pg_fetch_object($resultcu))
- {
- $insertvon=$rowcu->name;
- }
- }
+
//lehrveranstaltung ermitteln
$qry="SELECT lva_vilesci FROM sync.tbl_synclehrveranstaltung WHERE lva_fas='".$row->lehrveranstaltung_fk."';";
if($results = pg_query($conn, $qry))
@@ -278,15 +272,7 @@ if($result = pg_query($conn_fas, $qry_main))
continue;
}
- //unterrichtenden lektor ermitteln
- $qry="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='".$lektor."';";
- if($resulto = pg_query($conn, $qry))
- {
- if($rowo=pg_fetch_object($resulto))
- {
- $m_uid=$rowo->mitarbeiter_uid;
- }
- }
+
//gruppe ermitteln
//spezialgruppe?
$qry="SELECT * FROM sync.tbl_syncgruppe WHERE fas_gruppe='".$gruppe_fk."';";
@@ -423,6 +409,7 @@ if($result = pg_query($conn_fas, $qry_main))
{
//$error_log="Gruppentyp nicht 1, 2, 3 oder 10.\n";
//$error=true;
+ //pg_query($conn,'ROLLBACK;');
continue;
}
}
@@ -441,21 +428,45 @@ if($result = pg_query($conn_fas, $qry_main))
}
if($error)
{
+ $anzahl_fehler++;
continue;
}
if($lehreinheit_part<0)
{
//nicht-partizipierend
+ if($lektor==NULL)
+ {
+ continue;
+ }
pg_query($conn,'BEGIN;');
+ //unterrichtenden lektor ermitteln
+ $qry="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='".$lektor."';";
+ if($resulto = pg_query($conn, $qry))
+ {
+ if($rowo=pg_fetch_object($resulto))
+ {
+ $m_uid=$rowo->mitarbeiter_uid;
+ }
+ }
+ //insertvon ermitteln
+ $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->lecu."';";
+ if($resultcu = pg_query($conn_fas, $qrycu))
+ {
+ if($rowcu=pg_fetch_object($resultcu))
+ {
+ $insertvon=$rowcu->name;
+ }
+ }
$qry="SELECT * FROM lehre.tbl_lehreinheit WHERE ext_id='".$ext_id."';";
if($result3 = pg_query($conn, $qry))
{
if(!$row3=pg_fetch_object($result3))
{
+ /*
//ext_id nicht gefunden
- /*$qry=" SELECT * FROM campus.vw_lehreinheit WHERE lehrveranstaltung_id='".$lehrveranstaltung_id."'
+ $qry=" SELECT * FROM campus.vw_lehreinheit WHERE lehrveranstaltung_id='".$lehrveranstaltung_id."'
AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrform_kurzbz='".$lehrform_kurzbz."'
- AND lvnr='".($lvnr)."'
+ AND lvnr='".(int)$lvnr."'
AND ".($m_uid!=''?"mitarbeiter_uid=".myaddslashes($m_uid):"mitarbeiter_uid IS NULL")."
AND lehrfach_bez=".myaddslashes($bezeichnung)." AND lehrfach=".myaddslashes($kurzbezeichnung)."
AND fachbereich_kurzbz=".myaddslashes($fachbereich_kurzbz)."
@@ -466,7 +477,7 @@ if($result = pg_query($conn_fas, $qry_main))
*/
$qry=" SELECT * FROM campus.vw_lehreinheit WHERE lehrveranstaltung_id='".$lehrveranstaltung_id."'
AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrform_kurzbz='".$lehrform_kurzbz."'
- AND lvnr='".($lvnr)."'
+ AND lvnr='".(int)$lvnr."'
AND ".($raumtyp!=''?"raumtyp=".myaddslashes($raumtyp):"raumtyp IS NULL")."
AND ".($raumtypalternativ!=''?"raumtypalternativ=".myaddslashes($raumtypalternativ):"raumtypalternativ IS NULL")."
AND ".($stundenblockung!=''?"stundenblockung=".myaddslashes($stundenblockung):"stundenblockung IS NULL")."
@@ -489,7 +500,7 @@ if($result = pg_query($conn_fas, $qry_main))
{
echo pg_num_rows($result2)."/".$qry."
";
$error_log.=pg_num_rows($result2)."/".$qry."\n";
- $anzahl_fehler++;
+ $anzahl_fehler_le++;
pg_query($conn,'ROLLBACK;');
continue;
@@ -643,7 +654,7 @@ if($result = pg_query($conn_fas, $qry_main))
$ausgabe_le="UNR: '".$unr."' statt('".$row2->unr."')";
}
}
- if($row2->lvnr!=$lvnr)
+ if($row2->lvnr!=(int)$lvnr)
{
$update=true;
if(strlen(trim($ausgabe_le))>0)
@@ -732,6 +743,7 @@ if($result = pg_query($conn_fas, $qry_main))
");";
if(!pg_query($conn, $qry4))
{
+ $anzahl_fehler_le++;
$error=true;
$error_log.="Eintrag in tbl_synclehreinheit fehlgeschlagen (".$lehreinheit_id."/".$ext_id.").";
}
@@ -745,7 +757,7 @@ if($result = pg_query($conn_fas, $qry_main))
{
$error=true;
$error_log.="Fehler beim Speichern in tbl_lehreinheit mit lehrveranstaltung_id='".$lehrveranstaltung_id."', studiensemester_kurzbz='".$studiensemester_kurzbz."', lehrform_kurzbz='".$lehrform_kurzbz."' und lvnr='".$lvnr."'.";
- $anzahl_fehler++;
+ $anzahl_fehler_le++;
}
$ausgabe_le='';
}
@@ -753,6 +765,7 @@ if($result = pg_query($conn_fas, $qry_main))
}
else
{
+
//insert
$le_iu='i';
$qry="INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, ".
@@ -785,7 +798,8 @@ if($result = pg_query($conn_fas, $qry_main))
if($rowu=pg_fetch_object(pg_query($conn,$qryu)))
$lehreinheit_id=$rowu->id;
else
- {
+ {
+ $anzahl_fehler++;
$error=true;
$error_log.='Lehreinheit-Sequence konnte nicht ausgelesen werden';
}
@@ -801,6 +815,7 @@ if($result = pg_query($conn_fas, $qry_main))
");";
if(!pg_query($conn, $qry4))
{
+ $anzahl_fehler_le++;
$error=true;
$error_log.="Eintrag in tbl_synclehreinheit fehlgeschlagen (".$lehreinheit_id."/".$ext_id.")!";
}
@@ -813,8 +828,10 @@ if($result = pg_query($conn_fas, $qry_main))
{
$error=true;
$error_log.="Fehler beim Speichern in tbl_lehreinheit mit lehrveranstaltung_id='".$lehrveranstaltung_id."', studiensemester_kurzbz='".$studiensemester_kurzbz."', lehrform_kurzbz='".$lehrform_kurzbz."' und lvnr='".$lvnr."'!";
- $anzahl_fehler++;
+ $anzahl_fehler_le++;
}
+ /*pg_query($conn,'ROLLBACK;');
+ continue;*/
}
}
}
@@ -825,7 +842,7 @@ if($result = pg_query($conn_fas, $qry_main))
{
echo pg_num_rows($result3)."/".$qry."
";
$error_log.=pg_num_rows($result3)."/".$qry."\n>";
- $anzahl_fehler++;
+ $anzahl_fehler_le++;
pg_query($conn,'ROLLBACK;');
continue;
}
@@ -976,7 +993,7 @@ if($result = pg_query($conn_fas, $qry_main))
$ausgabe_le="UNR: '".$unr."' statt('".$row3->unr."')";
}
}
- if($row3->lvnr!=$lvnr)
+ if($row3->lvnr!=(int)$lvnr)
{
$update=true;
if(strlen(trim($ausgabe_le))>0)
@@ -1065,6 +1082,7 @@ if($result = pg_query($conn_fas, $qry_main))
");";
if(!pg_query($conn, $qry4))
{
+ $anzahl_fehler_le++;
$error=true;
$error_log.="Eintrag in tbl_synclehreinheit fehlgeschlagen (".$lehreinheit_id."/".$ext_id.").";
}
@@ -1076,6 +1094,7 @@ if($result = pg_query($conn_fas, $qry_main))
}
else
{
+ $anzahl_fehler_le++;
$error=true;
$error_log.="Fehler beim Speichern in tbl_lehreinheit mit lehrveranstaltung_id='".$lehrveranstaltung_id."', studiensemester_kurzbz='".$studiensemester_kurzbz."', lehrform_kurzbz='".$lehrform_kurzbz."' und lvnr='".$lvnr."'.";
$anzahl_fehler++;
@@ -1103,7 +1122,7 @@ if($result = pg_query($conn_fas, $qry_main))
$lm_ext_id =$row->mitarbeiter_lehreinheit_pk;
//insertvon ermitteln
- $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';";
+ $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->lecu."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
@@ -1295,7 +1314,7 @@ if($result = pg_query($conn_fas, $qry_main))
$lg_ext_id ='';
//insertvon ermitteln
- $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';";
+ $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->lecu."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
@@ -1500,9 +1519,14 @@ if($result = pg_query($conn_fas, $qry_main))
{
//partizipierend
//nur in synclehreinheit eintragen
+ if($lehreinheit_part==null)
+ {
+ pg_query($conn,'ROLLBACK;');
+ continue;
+ }
pg_query($conn,'BEGIN;');
$anzahl_part_gesamt++;
- $qry5="SELECT * FROM sync.tbl_synclehreinheit WHERE lehreinheit_pk='".$row->lehreinheit_fk."';";
+ $qry5="SELECT * FROM sync.tbl_synclehreinheit WHERE lehreinheit_pk='".$lehreinheit_part."';";
if($result5 = pg_query($conn, $qry5))
{
if($row5=pg_fetch_object($result5))
@@ -1575,6 +1599,7 @@ if($result = pg_query($conn_fas, $qry_main))
}
//gruppe ermitteln
//spezialgruppe?
+ /*
$qry="SELECT * FROM sync.tbl_syncgruppe WHERE fas_gruppe='".$gruppe_fk."';";
if($result2 = pg_query($conn, $qry))
{
@@ -1725,7 +1750,7 @@ if($result = pg_query($conn_fas, $qry_main))
$error=true;
}
}
- }
+ }*/
$lehreinheit_id =$row5->lehreinheit_id;
//$studiengang_kz ='';
//$semester ='';
@@ -1739,7 +1764,7 @@ if($result = pg_query($conn_fas, $qry_main))
$lg_ext_id ='';
//insertvon ermitteln
- $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';";
+ $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->lecu."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
@@ -1899,7 +1924,7 @@ if($result = pg_query($conn_fas, $qry_main))
if(pg_query($conn, $qry))
{
$anzahl_eingefuegt_lg++;
- $ausgabe.="Lehreinheitgruppe '".$row3->lehreinheitgruppe_id."' mit Lehreinheit='".$lehreinheit_id."' eingefügt.\n";
+ $ausgabe.="Lehreinheitgruppe mit Lehreinheit='".$lehreinheit_id."' und Studiengang='".$studiengang_kz."' eingefügt.\n";
}
else
{