This commit is contained in:
Christian Paminger
2008-02-29 12:27:29 +00:00
parent 2e29ab60da
commit 1d47fa41c6
+38 -35
View File
@@ -6,7 +6,7 @@
// - tbl_studiengang
// - tbl_studiensemester
// - tbl_buchungstyp
//
//
// Beschreibung:
// Syncronisert die Studiengebuehren aus der Tabelle Studiengebuehren in
// die Tabelle public.tbl_konto. Dabei wird zuerst die Belastung mit der
@@ -16,7 +16,7 @@
require_once('../../../include/studiengang.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/functions.inc.php');
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
@@ -24,7 +24,7 @@
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
@@ -32,7 +32,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>';
echo 'Starte Konto Syncronisation '.date('H:i:s').'<br>';
flush();
@@ -41,29 +41,29 @@
$error=0;
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation des Kontos aufgetreten:\n\n";
$text='';
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll(null, false);
foreach ($stg_obj->result as $stg)
foreach ($stg_obj->result as $stg)
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
// ******** SYNC START ********** //
$qry = "SELECT
_person, sem1, sem2, sem3, sem4, sem5, sem6, sem7, sem8, sem9, sem10
$qry = "SELECT
_person, sem1, sem2, sem3, sem4, sem5, sem6, sem7, sem8, sem9, sem10
FROM
studiengebuehren
";
if($result_ext = mssql_query($qry, $conn_ext))
{
while($row_ext=mssql_fetch_object($result_ext))
{
$gesamt++;
//Person suchen
$qry = "SELECT person_id, studiengang_kz FROM public.tbl_prestudent WHERE ext_id='$row_ext->_person'";
if($result = pg_query($conn, $qry))
@@ -73,40 +73,43 @@
$person_id = $row->person_id;
$studiengang_kz = $row->studiengang_kz;
}
else
else
{
$text.="Person zu $row_ext->_person wurde nicht gefunden\n";
$error++;
continue;
}
}
else
else
{
$text.="Fehler beim ermitteln der Person: ".pg_last_error($conn)."\n";
$error++;
continue;
}
//Semester durchlaufen
for($i=1;$i<=10;$i++)
{
$semester = 'sem'.$i;
if($row_ext->$semester=='')
continue;
$datum = date('Y-m-d', strtotime($row_ext->$semester));
if (strtotime($row_ext->$semester)>0)
$datum = date('Y-m-d', strtotime($row_ext->$semester));
else
continue;
$studiensemester_kurzbz = getStudiensemesterFromDatum($conn, $datum, true);
if(!$studiensemester_kurzbz)
{
$text.="Es konnte kein passendes Studiensemester zu $datum gefunden werden\n";
$error++;
}
$konto = new konto($conn);
$qry = "SELECT * FROM public.tbl_konto WHERE
person_id='$person_id' AND
$qry = "SELECT * FROM public.tbl_konto WHERE
person_id='$person_id' AND
studiengang_kz='$studiengang_kz' AND
studiensemester_kurzbz='$studiensemester_kurzbz' AND
buchungstyp_kurzbz='Studiengebuehr'";
@@ -118,12 +121,12 @@
continue;
}
}
else
else
{
$text.="Fehler bei Select:".pg_last_error($conn);
continue;
}
}
//Belastung Buchen
$konto->person_id = $person_id;
$konto->studiengang_kz = $studiengang_kz;
@@ -138,7 +141,7 @@
$konto->updatevon = 'sync';
$konto->insertamum = date('Y-m-d H:i:s');
$konto->insertvon = 'sync';
if($konto->save(true))
{
//Gegenbuchung
@@ -148,13 +151,13 @@
{
$text.="Studiengebuehr fuer Person $person_id Studiengang $stg_arr[$studiengang_kz] Semester $i wurde hinzugefuegt\n";
}
else
else
{
$text.="Fehler beim Speichern der Gegenbuchung: $konto->errormsg\n";
$error++;
}
}
else
else
{
$text.="Fehler beim Speichern: $konto->errormsg\n";
$error++;
@@ -162,21 +165,21 @@
}
}
}
else
else
$text.= "Fehler beim Laden des Kontos\n\n";
$statistik .="Gesamt: $gesamt\n";
$statistik .="Fehler: $error\n";
$text = $statistik."\n\n".$text;
//$to = 'oesi@technikum-wien.at';
$to = $adress_ext;
if(mail($to, 'SYNC Konto',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $to versandt<br><br>";
else
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>