diff --git a/system/sync/stp/sync_stp_vilesci_konto.php b/system/sync/stp/sync_stp_vilesci_konto.php index 758f4a573..a4711ea55 100644 --- a/system/sync/stp/sync_stp_vilesci_konto.php +++ b/system/sync/stp/sync_stp_vilesci_konto.php @@ -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 ' @@ -32,7 +32,7 @@ '; - + echo 'Starte Konto Syncronisation '.date('H:i:s').'
'; 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

"; - else + else echo "Fehler beim Senden an $to

"; - + echo nl2br($text); ?>