mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-18 12:39:29 +00:00
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
*
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
@@ -8,11 +8,11 @@
|
||||
*/
|
||||
|
||||
//*
|
||||
//* Synchronisiert Personendatensaetze von FAS DB in PORTAL DB
|
||||
//* Synchronisiert Prestudentrollendatensaetze von FAS DB in PORTAL DB
|
||||
//*
|
||||
//*
|
||||
//* setzt voraus: sync von sync.stp_person, sync.stp_staat
|
||||
//* benoetigt: tbl_syncperson
|
||||
//* benoetigt: tbl_syncperson, tbl_studiensemester
|
||||
|
||||
require_once('sync_config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
@@ -47,7 +47,8 @@ $log_qry_ins='';
|
||||
$beginnsem='';
|
||||
$semstart=array();
|
||||
$semende=array();
|
||||
|
||||
$studiensemester=array();
|
||||
$i=0;
|
||||
/*************************
|
||||
* StP-PORTAL - Synchronisation
|
||||
*/
|
||||
@@ -61,15 +62,20 @@ $semende=array();
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
$start=date("d.m.Y H:i:s");
|
||||
$qry="SELECT * FROM public.tbl_studiensemester ORDER BY start;";
|
||||
if($result = pg_query($conn,$qry))
|
||||
{
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$studiensemester[$i]=$row->studiensemester_kurzbz;
|
||||
$semstart[$row->studiensemester_kurzbz]=$row->start;
|
||||
$semende[$row->studiensemester_kurzbz]=$row->ende;
|
||||
$semende[$row->studiensemester_kurzbz]=$row->ende;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
//*********** Neue Daten holen *****************
|
||||
$qry="SELECT __Person, chtitel, chnachname, chvorname, daEintrittDat, prestudent_id
|
||||
FROM sync.stp_person JOIN public.tbl_prestudent ON (__Person=ext_id)
|
||||
@@ -84,6 +90,7 @@ if($resultall = pg_query($conn,$qry))
|
||||
echo nl2br($error_log_ext);
|
||||
while($rowall=pg_fetch_object($resultall))
|
||||
{
|
||||
//echo nl2br("\n".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname));
|
||||
$cont='';
|
||||
if($rowall->daeintrittdat==NULL || $rowall->daeintrittdat=='')
|
||||
{
|
||||
@@ -103,58 +110,158 @@ if($resultall = pg_query($conn,$qry))
|
||||
}
|
||||
}
|
||||
|
||||
echo nl2br("\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat);
|
||||
|
||||
$qry_rl="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." ORDER BY datum desc LIMIT 1";
|
||||
if($resultrl = pg_query($conn,$qry_rl))
|
||||
{
|
||||
if($rowrl=pg_fetch_object($resultrl))
|
||||
{
|
||||
$beginnsem=getStudiensemesterFromDatum($conn, $rowall->daeintrittdat, true);
|
||||
while ($rowrl->studiensemester_kurzbz>$beginnsem)
|
||||
if($rowrl->ausbildungssemester==NULL || $rowrl->ausbildungssemester=='' || $rowrl->ausbildungssemester>49)
|
||||
{
|
||||
$qry_chk="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz).";";
|
||||
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname)." (Prestudent ".$rowall->prestudent_id.")";
|
||||
$error_log.="\nAusbildungssemester = ".$rowrl->ausbildungssemester." !";
|
||||
$fehler++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$beginnsem=getStudiensemesterFromDatum($conn, $rowall->daeintrittdat, true);
|
||||
$ausgabe.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat."/".$beginnsem." (Prestudent ".$rowall->prestudent_id.")";
|
||||
while (array_search($rowrl->studiensemester_kurzbz, $studiensemester)>=array_search($beginnsem, $studiensemester))
|
||||
{
|
||||
$qry_chk="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz).";";
|
||||
if($resultchk = pg_query($conn,$qry_chk))
|
||||
{
|
||||
if(pg_num_rows($resultchk)==0)
|
||||
{
|
||||
//INSERT Prestudentrolle
|
||||
if($rowrl->studiensemester_kurzbz==$beginnsem)
|
||||
{
|
||||
$rowrl->datum=$rowall->daeintrittdat;
|
||||
}
|
||||
$qry_ins="INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_kurzbz,
|
||||
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
|
||||
insertamum, insertvon, updateamum, updatevon, ext_id)
|
||||
VALUES (".
|
||||
myaddslashes($rowall->prestudent_id).",
|
||||
'Student', ".
|
||||
myaddslashes($rowrl->studiensemester_kurzbz).", ".
|
||||
myaddslashes($rowrl->ausbildungssemester).", ".
|
||||
myaddslashes($rowrl->datum).", ".
|
||||
myaddslashes($rowrl->orgform_kurzbz).",
|
||||
now(), 'SYNC', NULL, NULL, NULL)";
|
||||
if(!$resultins = pg_query($conn,$qry_ins))
|
||||
{
|
||||
$fehler++;
|
||||
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
|
||||
$error_log.= "\n".$qry_ins."\n".pg_last_error($conn)."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$eingefuegt++;
|
||||
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.", ".$rowrl->ausbildungssemester.". Semester, Student, ".$rowrl->datum;
|
||||
}
|
||||
}
|
||||
}
|
||||
//werte für voriges semester ändern!!!
|
||||
//studiensemester, ausbildungssemester, datum
|
||||
if(array_search($rowrl->studiensemester_kurzbz, $studiensemester)-1>=array_search($beginnsem,$studiensemester))
|
||||
{
|
||||
$rowrl->studiensemester_kurzbz=$studiensemester[array_search($rowrl->studiensemester_kurzbz, $studiensemester)-1];
|
||||
//ausbildungssemester nicht kleiner als 1
|
||||
if($rowrl->ausbildungssemester>1)
|
||||
{
|
||||
$rowrl->ausbildungssemester=$rowrl->ausbildungssemester-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$rowrl->ausbildungssemester=1;
|
||||
}
|
||||
$rowrl->datum=$semstart[$rowrl->studiensemester_kurzbz];
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Interessent (6Mon.) und Bewerber (4Mon.) eintragen
|
||||
if($rowrl->studiensemester_kurzbz==$beginnsem)
|
||||
{
|
||||
$rowrl->datum=$rowall->daeintrittdat;
|
||||
}
|
||||
$qry_chk="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND rolle_kurzbz='Bewerber';";
|
||||
if($resultchk = pg_query($conn,$qry_chk))
|
||||
{
|
||||
if(pg_num_rows($resultchk)==0)
|
||||
{
|
||||
//INSERT Prestudentrolle
|
||||
$qry_ins="INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_kurzbz,
|
||||
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
|
||||
insertamum, insertvon, updateamum, updatevon, ext_id)
|
||||
VALUES (".
|
||||
myaddslashes($prestudent_id).",
|
||||
'Student', ".
|
||||
myaddslashes($rowall->prestudent_id).",
|
||||
'Bewerber', ".
|
||||
myaddslashes($rowrl->studiensemester_kurzbz).", ".
|
||||
myaddslashes($rowrl->ausbildungssemester).",
|
||||
now(), ".
|
||||
myaddslashes($rowrl->orgform).",
|
||||
now(),
|
||||
'SYNC',
|
||||
NULL,
|
||||
NULL,
|
||||
NULL)";
|
||||
myaddslashes($rowrl->ausbildungssemester).", ".
|
||||
myaddslashes($new_date = date('Y-m-d', strtotime($rowrl->datum.' -4 months'))).", ".
|
||||
myaddslashes($rowrl->orgform_kurzbz).",
|
||||
now(), 'SYNC', NULL, NULL, NULL)";
|
||||
if(!$resultins = pg_query($conn,$qry_ins))
|
||||
{
|
||||
$fehler++;
|
||||
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
|
||||
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
|
||||
$error_log.= "\n".$qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$eingefuegt++;
|
||||
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.", ".$rowrl->ausbildungssemester.". Semester, Bewerber, ".$new_date = date('Y-m-d', strtotime($rowrl->datum.' -4 months'));
|
||||
}
|
||||
}
|
||||
}
|
||||
$qry_chk="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND rolle_kurzbz='Interessent';";
|
||||
if($resultchk = pg_query($conn,$qry_chk))
|
||||
{
|
||||
if(pg_num_rows($resultchk)==0)
|
||||
{
|
||||
$qry_ins="INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_kurzbz,
|
||||
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
|
||||
insertamum, insertvon, updateamum, updatevon, ext_id)
|
||||
VALUES (".
|
||||
myaddslashes($rowall->prestudent_id).",
|
||||
'Interessent', ".
|
||||
myaddslashes($rowrl->studiensemester_kurzbz).", ".
|
||||
myaddslashes($rowrl->ausbildungssemester).", ".
|
||||
myaddslashes($new_date = date('Y-m-d', strtotime($rowrl->datum.' -6 months'))).", ".
|
||||
myaddslashes($rowrl->orgform_kurzbz).",
|
||||
now(), 'SYNC', NULL, NULL, NULL)";
|
||||
if(!$resultins = pg_query($conn,$qry_ins))
|
||||
{
|
||||
$fehler++;
|
||||
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
|
||||
$error_log.= "\n".$qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$eingefuegt++;
|
||||
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.", ".$rowrl->ausbildungssemester.". Semester, Interessent, ".$new_date = date('Y-m-d', strtotime($rowrl->datum.' -6 months'));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Interessent (6Mon.) und Bewerber (4Mon.) eintragen
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$fehler++;
|
||||
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
|
||||
$error_log.= "\n".$qry_rl."\n".pg_last_error($conn)."\n";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
echo nl2br($ausgabe);
|
||||
|
||||
mail($adress, 'SYNC-Fehler StP-Prestudentrollen von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
|
||||
|
||||
mail($adress, 'SYNC StP-Prestudentrollen von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
|
||||
."Personen: Gesamt: ".$anzahl_gesamt." / Fehler: ".$fehler." / Eingefügte Rollen: ".$eingefuegt
|
||||
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: nsc@fhstp.ac.at");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -299,13 +299,13 @@ else
|
||||
echo nl2br($error_log);
|
||||
}
|
||||
echo nl2br($ausgabe);
|
||||
/*
|
||||
|
||||
mail($adress, 'SYNC-Fehler StP-Adresse von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
|
||||
|
||||
mail($adress, 'SYNC StP-Adresse von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
|
||||
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler
|
||||
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe.$log_updates, "From: nsc@fhstp.ac.at");
|
||||
*/
|
||||
|
||||
|
||||
?>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user