mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 16:44:28 +00:00
This commit is contained in:
@@ -54,3 +54,23 @@ INSERT INTO bis.tbl_ausbildung VALUES (10, 'Lehrabschluss', 'Lehrabschlusspr
|
||||
INSERT INTO bis.tbl_ausbildung VALUES (11, 'Pflichtschule', 'Pflichtschule');
|
||||
INSERT INTO bis.tbl_ausbildung VALUES (7, 'tertiär', 'Anderer tertiärer Bildungsabschluss (Kolleg; Meisterprüfung; Universitätslehrgang oder Lehrgang gemäß §14a Abs.3 FHStG, mit dem kein akademischer Grad verbunden war)');
|
||||
INSERT INTO bis.tbl_ausbildung VALUES (2, 'Univ.-Master', 'Universitäts- oder Hochschulabschluss auf Diplom- oder Masterebene, Doktorat der Medizin bzw. der Human- oder Zahnmedizin oder Doktorat auf Grund von Studienvorschriften aus der Zeit vor dem Inkrafttretendes AHStG BGBl. Nr. 177/1966 oder Abschluss eines Universitätslehrganges oder Lehrganges universitären Charakters (§51 Abs. 2 Z 23 UG 2002 oder §§26 Abs.1 und 28 Abs.1 UniStG) oder eines Lehrganges zur Weiterbildung (§14a Abs.2 FHStG) mit Mastergrad');
|
||||
|
||||
-- Studiensemester
|
||||
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2001', '2001-09-03', '2002-01-31', NULL, 'Wintersemester 2001/2002');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2006', '2006-02-13', '2006-07-01', 9, 'Sommersemester 2006');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2005', '2005-02-14', '2005-07-02', 7, 'Sommersemester 2005');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2004', '2004-02-03', '2004-07-03', 5, 'Sommersemester 2004');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2003', '2003-02-02', '2003-07-02', 3, 'Sommersemester 2003');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2002', '2002-02-01', '2002-07-01', 1, 'Sommersemester 2002');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2009', '2009-02-05', '2009-07-05', 15, 'Sommersemester 2009');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2007', '2007-02-12', '2007-07-01', 11, 'Sommersemester 2007');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2008', '2008-02-04', '2008-07-04', 13, 'Sommersemester 2008');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2009', '2009-09-04', '2010-02-04', 16, 'Wintersemester 2009/2010');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2008', '2008-09-03', '2009-02-03', 14, 'Wintersemester 2008/2009');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2006', '2006-09-04', '2007-02-03', 10, 'Wintersemester 2006/2007');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2005', '2005-09-05', '2006-02-04', 8, 'Wintersemester 2005/2006');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2004', '2004-09-06', '2005-02-05', 6, 'Wintersemester 2004/2005');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2003', '2003-09-02', '2004-02-02', 4, 'Wintersemester 2003/2004');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2002', '2002-09-01', '2003-02-01', 2, 'Wintersemester 2002/2003');
|
||||
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2007', '2007-09-01', '2008-02-01', 12, 'Wintersemester 2007/2008');
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
*
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
//*
|
||||
//* Kopiert personen TAbelle von FH-DB StPoelten
|
||||
//*
|
||||
//*
|
||||
|
||||
require_once('sync_config.inc.php');
|
||||
|
||||
$starttime=time();
|
||||
$conn=pg_connect(CONN_STRING)
|
||||
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
|
||||
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
|
||||
die('Fehler beim Verbindungsaufbau!');
|
||||
mssql_select_db(STPDB_DB, $conn_ext);
|
||||
|
||||
|
||||
|
||||
// Sync-Tabelle fuer Personen checken
|
||||
if (!@pg_query($conn,'SELECT * FROM sync.stp_stgvertiefung LIMIT 1;'))
|
||||
{
|
||||
$sql='CREATE TABLE sync.stp_stgvertiefung (
|
||||
__stgvertiefung integer,
|
||||
_studiengang integer,
|
||||
chbezeichnung varchar(256),
|
||||
chkurzbez varchar(12),
|
||||
constraint "pk_tbl_sync_stp_stgvertiefung" primary key ("__stgvertiefung"));
|
||||
Grant select on sync.stp_stgvertiefung to group "admin";
|
||||
Grant update on sync.stp_stgvertiefung to group "admin";
|
||||
Grant delete on sync.stp_stgvertiefung to group "admin";
|
||||
Grant insert on sync.stp_stgvertiefung to group "admin";';
|
||||
if (!@pg_query($conn,$sql))
|
||||
echo '<strong>sync.stp_stgvertiefung: '.pg_last_error($conn).' </strong><BR>';
|
||||
else
|
||||
echo 'sync.stp_stgvertiefung wurde angelegt!<BR>';
|
||||
}
|
||||
|
||||
/*************************
|
||||
* FAS-PORTAL - Synchronisation
|
||||
*/
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - FHDB -> FH-Complete - PreSyncStgVertiefung</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
$i=0;
|
||||
|
||||
$qry="SELECT __stgvertiefung, _studiengang, chbezeichnung, chkurzbez FROM stgvertiefung;";
|
||||
if($result_ext = mssql_query($qry,$conn_ext))
|
||||
{
|
||||
while($row=mssql_fetch_object($result_ext))
|
||||
{
|
||||
$qry="INSERT INTO sync.stp_stgvertiefung (__stgvertiefung, _studiengang, chbezeichnung, chkurzbez)
|
||||
VALUES ('$row->__stgvertiefung','$row->_studiengang',".($row->chbezeichnung==''?'NULL':"'".$row->chbezeichnung."'").",".($row->chkurzbez==''?'NULL':"'".$row->chkurzbez."'").");";
|
||||
if(!$result = pg_query($conn, $qry))
|
||||
{
|
||||
echo $qry.'<BR>'.pg_last_error($conn).' </strong><BR>';
|
||||
}
|
||||
|
||||
echo '.';
|
||||
flush();
|
||||
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
echo 'Fehler';//mssql_lasterror($conn_ext);
|
||||
|
||||
echo '<BR>Time elapsed: '.(time()-$starttime).' seconds!';
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,248 @@
|
||||
<?php
|
||||
// **************************************
|
||||
// Syncronisiert alle Studenten
|
||||
// legt zusaetzlich Lehrverband und
|
||||
// Studentlehrverbandeintrag an
|
||||
// StPoelten -> VILESCI
|
||||
// setzt vorraus: - tbl_benutzer
|
||||
// - sync.stp_person
|
||||
// - sync.stp_stgvertiefung
|
||||
// - public.tbl_studiensemester
|
||||
// **************************************
|
||||
require_once('sync_config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/student.class.php');
|
||||
require_once('../../../include/lehrverband.class.php');
|
||||
|
||||
//$adress='[email protected]';
|
||||
$adress='[email protected]';
|
||||
//$adress='[email protected]';
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Verbindungsaufbau!');
|
||||
|
||||
echo '
|
||||
<html>
|
||||
<head>
|
||||
<title>STP - VILESCI (Student)</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
echo 'Starte Studenten Syncronisation '.date('H:i:s').'<br>';
|
||||
flush();
|
||||
|
||||
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Studenten aufgetreten:\n\n";
|
||||
$text='';
|
||||
$user_gesamt=0;
|
||||
$anzahl_fehler=0;
|
||||
$anzahl_update=0;
|
||||
$anzahl_insert=0;
|
||||
$anzahl_fehlender_benutzer=0;
|
||||
$anzahl_doppelte_uid=0;
|
||||
$statistik='';
|
||||
|
||||
// ******** SYNC START ********** //
|
||||
|
||||
$qry = "SELECT __person, studiengang_kz, instudiensemester, chusername, chmatrikelnr FROM sync.stp_person JOIN sync.stp_stgvertiefung ON(_stgvertiefung=__stgvertiefung) JOIN public.tbl_studiengang ON(_studiengang=ext_id) WHERE chusername<>'' AND chusername is not null AND _cxPersonTyp in(1, 2) AND chmatrikelnr!='' AND chmatrikelnr is not null";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$user_gesamt++;
|
||||
|
||||
$qry_ext = "SELECT student_uid FROM public.tbl_student WHERE ext_id='$row->__person'";
|
||||
|
||||
if($result_ext = pg_query($conn, $qry_ext))
|
||||
{
|
||||
if($row_ext = pg_fetch_object($result_ext))
|
||||
{
|
||||
$student_uid = $row_ext->student_uid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$student_uid='';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Ermitteln der ext_id: ".pg_last_error($conn)."\n";
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
|
||||
$student = new student($conn);
|
||||
|
||||
if($student_uid!='')
|
||||
{
|
||||
if($student->load($student_uid))
|
||||
{
|
||||
$student->new = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Laden eines Studenten $student_uid: ".$student->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$student->new = true;
|
||||
}
|
||||
|
||||
//Pruefen ob der Lehrverband existiert und ggf anlegen
|
||||
$lehrverband = new lehrverband($conn);
|
||||
if(!$lehrverband->exists($row->studiengang_kz, $row->instudiensemester, '', ''))
|
||||
{
|
||||
$lehrverband->studiengang_kz = $row->studiengang_kz;
|
||||
$lehrverband->semester = $row->instudiensemester;
|
||||
$lehrverband->verband = '';
|
||||
$lehrverband->gruppe = '';
|
||||
$lehrverband->aktiv = true;
|
||||
|
||||
if(!$lehrverband->save(true))
|
||||
{
|
||||
$text.="Fehler beim Anlegen des Lehrverbandes $row->studiengang_kz/$row->instudiensemester\n";
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
//Pruefen ob Benutzer vorhanden ist
|
||||
$qry_ext = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($row->chusername)."'";
|
||||
if($result_ext = pg_query($conn, $qry_ext))
|
||||
{
|
||||
if(pg_num_rows($result_ext)==0)
|
||||
{
|
||||
$text.="Benutzer wurde nicht gefunden: $row->chusername\n";
|
||||
$anzahl_fehlender_benutzer++;
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim ermitteln des Benutzers\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
if($student_uid=='')
|
||||
{
|
||||
//Pruefen ob bereits ein Student mit dieser UID vorhanden ist
|
||||
$qry_ext = "SELECT * FROM public.tbl_student WHERE student_uid='".addslashes($row->chusername)."'";
|
||||
if($result_ext = pg_query($conn, $qry_ext))
|
||||
{
|
||||
if(pg_num_rows($result_ext)>0)
|
||||
{
|
||||
$text.="Student mit dieser uid bereits vorhanden: $row->chusername\n";
|
||||
$anzahl_doppelte_uid++;
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Suchen nach doppelten Eintraegen\n";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$updtext='';
|
||||
|
||||
if($student_uid!='')
|
||||
{
|
||||
if(trim($student->matrikelnr)!=$row->chmatrikelnr)
|
||||
$updtext.=" Matrikelnr wurde von $student->matrikelnr auf $row->chmatrikelnr geaendert\n";
|
||||
if($student->studiengang_kz!=$row->studiengang_kz)
|
||||
$updtext.=" Studiengang wurde von $student->studiengang_kz auf $row->studiengang_kz geaendert\n";
|
||||
if($student->semester != $row->instudiensemester)
|
||||
$updtext.=" Semester wurde von $student->semester auf $row->instudiensemester geaendert\n";
|
||||
if(trim($student->verband)!='')
|
||||
$updtext.=" Verband wurde von $student->verband auf '' geaendert\n";
|
||||
if(trim($student->gruppe)!='')
|
||||
$updtext.=" Gruppe wurde von $student->gruppe auf '' geaendert\n";
|
||||
}
|
||||
|
||||
$student->uid = $row->chusername;
|
||||
$student->matrikelnr = $row->chmatrikelnr;
|
||||
$student->prestudent_id = '';
|
||||
$student->studiengang_kz = $row->studiengang_kz;
|
||||
$student->semester = $row->instudiensemester;
|
||||
$student->verband = '';
|
||||
$student->gruppe = '';
|
||||
$student->updateamum = date('Y-m-d H:i:s');
|
||||
$student->updatevon = 'sync';
|
||||
$student->insertamum = date('Y-m-d H:i:s');
|
||||
$student->insertvon = 'sync';
|
||||
$student->ext_id_student = $row->__person;
|
||||
|
||||
if($updtext!='' || $student_uid=='')
|
||||
{
|
||||
if($student->save(null, false))
|
||||
{
|
||||
if($student->new)
|
||||
{
|
||||
$text.="Student $student->uid wurde neu angelegt\n";
|
||||
$anzahl_insert++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Student $student->uid wurde aktualisiert\n".$updtext;
|
||||
$anzahl_update++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Speichern: ".$student->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$student->studiensemester_kurzbz = 'WS2007';
|
||||
if(!$student->save_studentlehrverband())
|
||||
{
|
||||
$text.="Fehler beim Speichern des Studentlehrverbandeintrages:".$student->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.= "Fehler beim Laden der Studenten\n\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
|
||||
$statistik .="Anzahl Studenten: ".($user_gesamt)."\n";
|
||||
$statistik .="Anzahl der Fehler: ".($anzahl_fehler)."\n";
|
||||
$statistik .="Anzahl Insert: $anzahl_insert\n";
|
||||
$statistik .="Anzahl Update: $anzahl_update\n";
|
||||
$statistik .="Fehlender Benutzereintrag: $anzahl_fehlender_benutzer\n";
|
||||
$statistik .="Mehrfach vorhandene UIDs: $anzahl_doppelte_uid\n";
|
||||
$statistik .="\n";
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM sync.stp_person WHERE chmatrikelnr='' AND _cxpersontyp in(1,2) AND chusername<>''";
|
||||
if($result = pg_query($conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$statistik .="Studenten mit Username ohne Matrikelnummer: $row->anzahl\n";
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM sync.stp_person WHERE chmatrikelnr<>'' AND _cxpersontyp in(1,2) AND chusername=''";
|
||||
if($result = pg_query($conn, $qry))
|
||||
if($row = pg_fetch_object($result))
|
||||
$statistik .="Studenten mit Matrikelnummer ohne Username: $row->anzahl\n";
|
||||
|
||||
$text = $statistik."\n\n".$text;
|
||||
|
||||
if(mail($adress, 'SYNC Studenten',$head_text.$text, "From: [email protected]"))
|
||||
echo "Mail wurde an $adress versandt<br><br>";
|
||||
else
|
||||
echo "Fehler beim Senden an $adress<br><br>";
|
||||
|
||||
echo nl2br($text);
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user