mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 10:22:18 +00:00
- LVA Syncro angepasst
- Studentensyncro angepasst - SyncScript für Lehrveranstaltungen (Erstversion) - Kreuzerltool bei Studentenansicht wurde Link zum Downloadverzeichnis hinzugefügt und die Freigabezeit wird angezeigt - Vilesci Adminoberfläche für Lehrveranstaltungen
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
<?php
|
||||
// **************************************
|
||||
// Syncronisiert alle Lehrveranstaltungen
|
||||
// FAS -> VILESCI
|
||||
// setzt vorraus: - tbl_sprache
|
||||
// - tbl_studiengang
|
||||
// **************************************
|
||||
require_once('../../../vilesci/config.inc.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
//$adress='fas_sync@technikum-wien.at';
|
||||
@@ -30,7 +36,7 @@
|
||||
|
||||
if($row->studiensemester_fk==0)
|
||||
{
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' LVA '.$row->name." hat Studiensemester 0\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' '.$row->name." hat Studiensemester 0\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
@@ -38,31 +44,31 @@
|
||||
if($row->kurzbezeichnung == '')
|
||||
{
|
||||
//$text.= 'LVA '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' LVA '.$row->name." hat keine Kurzbezeichnung\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') LVA '.$row->name." hat keine Kurzbezeichnung\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat keine Kurzbezeichnung\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
if(strlen($row->name)>128)
|
||||
{
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') LVA '.$row->name." hat einen zu langen LV-Titel (maximal 128 Zeichen)\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat einen zu langen LV-Titel (maximal 128 Zeichen)\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
if(strlen($row->kurzbezeichnung)>16)
|
||||
{
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') LVA '.$row->name." hat eine zu lange Kurzbezeichnung (maximal 16 Zeichen)\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat eine zu lange Kurzbezeichnung (2-4 Zeichen + 1 Ziffer)\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
if(strlen($row->beschreibung)>64)
|
||||
{
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') LVA '.$row->name." hat eine zu lange Beschreibung (maximal 64 Zeichen)\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat eine zu lange Beschreibung (maximal 64 Zeichen)\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
if($row->ectspunkte>40)
|
||||
{
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') LVA '.$row->name." hat mehr als 40 ECTS-Punkte\n";
|
||||
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat mehr als 40 ECTS-Punkte\n";
|
||||
$plausi_error++;
|
||||
return false;
|
||||
}
|
||||
@@ -165,7 +171,7 @@
|
||||
$vilesci_anz_lva = $row->anz;
|
||||
|
||||
// Start LVA Synchro
|
||||
$sql_query="SELECT lehrveranstaltung.*, ausbildungssemester.semester, studiengang.kennzahl FROM lehrveranstaltung, ausbildungssemester, studiengang WHERE ausbildungssemester_fk=ausbildungssemester_pk AND lehrveranstaltung.studiengang_fk=studiengang_pk limit 50";
|
||||
$sql_query="SELECT lehrveranstaltung.*, ausbildungssemester.semester, studiengang.kennzahl FROM lehrveranstaltung, ausbildungssemester, studiengang WHERE ausbildungssemester_fk=ausbildungssemester_pk AND lehrveranstaltung.studiengang_fk=studiengang_pk ORDER BY kennzahl, semester, studiensemester_fk";
|
||||
flush();
|
||||
$result_fas_alle=pg_query($conn_fas, $sql_query);
|
||||
$num_rows=pg_num_rows($result_fas_alle);
|
||||
@@ -175,7 +181,11 @@
|
||||
$headtext.="Anzahl der Lehrveranstaltungen in Vilesci: $vilesci_anz_lva \n\n";
|
||||
|
||||
for ($i=0;$row_fas_alle=pg_fetch_object($result_fas_alle);$i++)
|
||||
{
|
||||
{
|
||||
//btec auf 0 umlenken (Freifaecher)
|
||||
if($row_fas_alle->kennzahl=203)
|
||||
$row_fas_alle->kennzahl=0;
|
||||
|
||||
// Plausibilitaetscheck
|
||||
if(validate($row_fas_alle))
|
||||
{
|
||||
@@ -235,8 +245,33 @@
|
||||
|
||||
if(pg_num_rows($result)==1)
|
||||
{
|
||||
$text.='FOUND on Name LVA '.getlvabez($row_fas_alle)." -> UPDATE & SYNCTAB-Insert\n";
|
||||
$anz_update++;
|
||||
if($row_found = pg_fetch_object($result))
|
||||
{
|
||||
//Gefunden->Update und Synctab-Eintrag
|
||||
//$text.='FOUND on Name LVA '.getlvabez($row_fas_alle)." -> UPDATE & SYNCTAB-Insert\n";
|
||||
$qry = getupdateqry($row_found, $row_fas_alle);
|
||||
|
||||
if($qry!='')
|
||||
{
|
||||
if(pg_query($conn, $qry))
|
||||
{
|
||||
//Eintrag zur Synctabelle hinzufuegen
|
||||
synctabentry($row_found->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
|
||||
$text.="LVA wurde aktualisiert: $qry\n";
|
||||
$anz_update++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Update einer LVA: $qry\n";
|
||||
$update_error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.='Fehler beim Lesen des Datensatzes:'.getlvabez($row_fas_alle)."\n";
|
||||
$update_error++;
|
||||
}
|
||||
}
|
||||
elseif(pg_num_rows($result)==0)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ $adress_fas='fas_sync@technikum-wien.at';
|
||||
// error log für jeden Studiengang
|
||||
$error_log=array();
|
||||
$missing_lehrfaecher=array();
|
||||
$missing_lehrveranstaltungen=array();
|
||||
$missing_einheit=array();
|
||||
$missing_raumtyp=array();
|
||||
$missing_lehrform=array();
|
||||
@@ -690,7 +691,7 @@ if($res_delete=pg_query($conn, $sql_query))
|
||||
{
|
||||
$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";
|
||||
//$text.="Lehreinheitengruppe und Lehreinheitmitarbeiter mit FAS_ID '$row->ext_id' wird geloescht\n";
|
||||
|
||||
if(pg_query($conn, $qry))
|
||||
{
|
||||
@@ -713,7 +714,7 @@ else
|
||||
|
||||
|
||||
//Ausgabe Zusammenfassung
|
||||
$text.="\n$anz_delete Lehrveranstaltungen wurden geloescht!\n";
|
||||
$text.="\n$anz_delete Lehreinheiten(zuteilungen) wurden geloescht!\n";
|
||||
$text.="$plausi_error Fehler beim Plausibilitaetscheck!\n";
|
||||
$text.="$update_error Fehler bei LVA-Update!\n";
|
||||
$text.="$insert_error Fehler bei LVA-Insert!\n";
|
||||
|
||||
+99
-80
@@ -101,106 +101,125 @@
|
||||
}
|
||||
|
||||
// tbl_person
|
||||
$sql_query="INSERT INTO public.tbl_person(titelpre,vorname,vornamen, nachname, gebdatum, gebort, aktiv) ".
|
||||
"VALUES('$row->titel','$vorname','$vornamen','$row->nachname','$row->gebdatum','$row->gebort', true)";
|
||||
//echo $sql_query.'<BR>';
|
||||
flush();
|
||||
|
||||
if(!$res_insert=pg_query($conn, $sql_query))
|
||||
$qry_sync = "SELECT * FROM sync.tbl_syncperson WHERE person_fas='$row->person_pk'";
|
||||
if($result_sync = pg_query($conn, $qry_sync))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
$insert_error++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
|
||||
|
||||
if(!$row_seq=pg_fetch_object(pg_query($conn,$qry)))
|
||||
if(pg_num_rows($result_sync)>0)
|
||||
{
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
$text = 'Sequence konnte nicht ausgelesen werden\n';
|
||||
$insert_error++;
|
||||
//Personen Datensatz ist bereits vorhanden
|
||||
$row_sync = pg_fetch_object($result_sync);
|
||||
$person_id=$row_sync->person_portal;
|
||||
}
|
||||
else
|
||||
{
|
||||
$person_id = $row_seq->id;
|
||||
|
||||
//Benutzer Datensatzt anlegen
|
||||
$qry = "INSERT INTO public.tbl_benutzer(uid, person_id, aktiv, insertamum, insertvon, updateamum, updatevon)
|
||||
VALUES('$row->uid','$person_id','true',now(),'auto',now(),'auto');";
|
||||
|
||||
if(!pg_query($conn, $qry))
|
||||
{
|
||||
$test.=$qry;
|
||||
//PesonenDatensatz noch nicht vorhanden
|
||||
$sql_query="INSERT INTO public.tbl_person(titelpre,vorname,vornamen, nachname, gebdatum, gebort, aktiv) ".
|
||||
"VALUES('$row->titel','$vorname','$vornamen','$row->nachname','$row->gebdatum','$row->gebort', true)";
|
||||
//echo $sql_query.'<BR>';
|
||||
flush();
|
||||
|
||||
if(!$res_insert=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
$insert_error++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
else
|
||||
{
|
||||
//Alias erstellen
|
||||
$vn = split('[- .,]',strtolower($row->vornamen));
|
||||
$vn = clean_string($vn[0]);
|
||||
|
||||
$nn = split('[- .,]',strtolower($row->nachname));
|
||||
$nn = clean_string($nn[0]);
|
||||
$alias = $vn.".".$nn;
|
||||
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias='$alias'";
|
||||
$res_alias = pg_query($conn, $qry);
|
||||
if(pg_num_rows($res_alias)==0)
|
||||
{
|
||||
$qry = "UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
|
||||
if(!$res_insert=@pg_query($conn, $qry))
|
||||
{
|
||||
$text.=$qry;
|
||||
$text.="\rFehler: ".pg_errormessage($conn);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
|
||||
$text.="\nAlias existiert bereits: $alias\n";
|
||||
}
|
||||
{
|
||||
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
|
||||
|
||||
//Lehrverband Check
|
||||
$sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row->kennzahl' AND semester='$row->semester' AND
|
||||
verband='$row->verband' AND gruppe='$row->gruppe'";
|
||||
if($result_verb = pg_query($conn, $sql_query))
|
||||
if(!$row_seq=pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
if(pg_num_rows($result_verb)==0)
|
||||
{
|
||||
//Lehrverband anlegen
|
||||
$sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv)
|
||||
VALUES('$row->kennzahl', '$row->semester', '$row->verband', '$row->gruppe', true);";
|
||||
if(!pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.= $sql_query;
|
||||
$text.= "\nFehler:".pg_errormessage($conn)."\n";
|
||||
}
|
||||
}
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
$text = 'Sequence konnte nicht ausgelesen werden\n';
|
||||
$insert_error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.= $sql_query;
|
||||
$text.= "\nFehler:".pg_errormessage($conn)."\n";
|
||||
pg_query($conn, "INSERT INTO sync.tbl_syncperson(person_fas, person_portal) VALUES($row->person_pk, $row_seq->id);");
|
||||
$person_id = $row_seq->id;
|
||||
}
|
||||
// tbl_student
|
||||
$sql_query="INSERT INTO public.tbl_student (student_uid,matrikelnr, studiengang_kz, semester, verband, gruppe) ".
|
||||
"VALUES('$row->uid','$row->perskz',$row->kennzahl,$row->semester,'$row->verband','$row->gruppe')";
|
||||
echo $sql_query.'<BR>';
|
||||
if(!$res_insert=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
}
|
||||
|
||||
if(isset($person_id) && $person_id!='')
|
||||
{
|
||||
//Benutzer Datensatzt anlegen
|
||||
$qry = "INSERT INTO public.tbl_benutzer(uid, person_id, aktiv, insertamum, insertvon, updateamum, updatevon)
|
||||
VALUES('$row->uid','$person_id','true',now(),'auto',now(),'auto');";
|
||||
|
||||
if(!pg_query($conn, $qry))
|
||||
{
|
||||
$test.=$qry;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
$insert_error++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
$insert_error++;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anz_insert++;
|
||||
pg_query($conn, 'COMMIT');
|
||||
//Alias erstellen
|
||||
$vn = split('[- .,]',strtolower($row->vornamen));
|
||||
$vn = clean_string($vn[0]);
|
||||
|
||||
$nn = split('[- .,]',strtolower($row->nachname));
|
||||
$nn = clean_string($nn[0]);
|
||||
$alias = $vn.".".$nn;
|
||||
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias='$alias'";
|
||||
$res_alias = pg_query($conn, $qry);
|
||||
if(pg_num_rows($res_alias)==0)
|
||||
{
|
||||
$qry = "UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
|
||||
if(!$res_insert=@pg_query($conn, $qry))
|
||||
{
|
||||
$text.=$qry;
|
||||
$text.="\rFehler: ".pg_errormessage($conn);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
|
||||
$text.="\nAlias existiert bereits: $alias\n";
|
||||
}
|
||||
|
||||
//Lehrverband Check
|
||||
$sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row->kennzahl' AND semester='$row->semester' AND
|
||||
verband='$row->verband' AND gruppe='$row->gruppe'";
|
||||
if($result_verb = pg_query($conn, $sql_query))
|
||||
{
|
||||
if(pg_num_rows($result_verb)==0)
|
||||
{
|
||||
//Lehrverband anlegen
|
||||
$sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv)
|
||||
VALUES('$row->kennzahl', '$row->semester', '$row->verband', '$row->gruppe', true);";
|
||||
if(!pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.= $sql_query;
|
||||
$text.= "\nFehler:".pg_errormessage($conn)."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.= $sql_query;
|
||||
$text.= "\nFehler:".pg_errormessage($conn)."\n";
|
||||
}
|
||||
// tbl_student
|
||||
$sql_query="INSERT INTO public.tbl_student (student_uid,matrikelnr, studiengang_kz, semester, verband, gruppe) ".
|
||||
"VALUES('$row->uid','$row->perskz',$row->kennzahl,$row->semester,'$row->verband','$row->gruppe')";
|
||||
echo $sql_query.'<BR>';
|
||||
if(!$res_insert=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
$insert_error++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
else
|
||||
{
|
||||
$anz_insert++;
|
||||
pg_query($conn, 'COMMIT');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user