mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
This commit is contained in:
@@ -24,6 +24,8 @@ $rechte->getBerechtigungen($uid);
|
||||
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xul-overlay href="'.APP_ROOT.'content/tempusoverlay.xul.php"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css" ?>';
|
||||
echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
|
||||
+134
-21
@@ -34,7 +34,11 @@ function onVerbandSelect()
|
||||
var grp=tree.view.getCellText(tree.currentIndex,col);
|
||||
col=tree.columns ? tree.columns["gruppe"] : "gruppe";
|
||||
var gruppe=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["typ"] : "typ";
|
||||
var typ=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["stsem"] : "stsem";
|
||||
var stsem=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
||||
var datum=parseInt(daten.getAttribute("datum"));
|
||||
var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe;
|
||||
@@ -85,29 +89,138 @@ function onVerbandSelect()
|
||||
//treeStudenten.setAttribute('datasources',attribute);
|
||||
|
||||
// Studenten
|
||||
try
|
||||
if(typ=='')
|
||||
{
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&"+gettimestamp();
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeStudent.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
/*try
|
||||
{
|
||||
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&"+gettimestamp();
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeStudent.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeStudent.database.AddDataSource(StudentTreeDatasource);
|
||||
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeStudent.builder.addListener(StudentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}*/
|
||||
|
||||
//Bei Ansicht von Ab-/Unterbrecher den Button "->Student" anzeigen
|
||||
if(sem=='0')
|
||||
document.getElementById('student-toolbar-student').hidden=false;
|
||||
else
|
||||
document.getElementById('student-toolbar-student').hidden=true;
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeStudent.database.AddDataSource(StudentTreeDatasource);
|
||||
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeStudent.builder.addListener(StudentTreeListener);
|
||||
//Wenn der Interessenten Tab markiert ist, dann den Studenten Tab markieren
|
||||
//if(document.getElementById('main-content-tabs').selectedItem==document.getElementById('tab-interessenten'))
|
||||
// document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
|
||||
|
||||
// -------------- Studenten --------------------------
|
||||
try
|
||||
{
|
||||
stsem = getStudiensemester();
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp();
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeStudent.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeStudent.builder.removeListener(StudentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeStudent.database.AddDataSource(StudentTreeDatasource);
|
||||
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeStudent.builder.addListener(StudentTreeListener);
|
||||
|
||||
//Detailfelder Deaktivieren
|
||||
StudentDetailReset();
|
||||
StudentDetailDisableFields(true);
|
||||
StudentPrestudentDisableFields(true);
|
||||
StudentKontoDisableFields(true);
|
||||
StudentAkteDisableFields(true);
|
||||
StudentIODisableFields(true);
|
||||
StudentNoteDisableFields(true);
|
||||
document.getElementById('student-kontakt').setAttribute('src','');
|
||||
document.getElementById('student-betriebsmittel').setAttribute('src','');
|
||||
StudentAbschlusspruefungDisableFields(true);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
else
|
||||
{
|
||||
debug(e);
|
||||
// -------------- Interessenten / Bewerber --------------------------
|
||||
try
|
||||
{
|
||||
if(stsem=='' && typ=='')
|
||||
stsem='aktuelles';
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?"+"studiengang_kz="+stg_kz+"&semester="+sem+"&typ="+typ+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp();
|
||||
var treeInt=document.getElementById('student-tree');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeInt.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
treeInt.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeInt.builder.removeListener(StudentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeInt.database.AddDataSource(StudentTreeDatasource);
|
||||
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeInt.builder.addListener(StudentTreeListener);
|
||||
|
||||
//Detailfelder Deaktivieren
|
||||
StudentDetailReset();
|
||||
StudentDetailDisableFields(true);
|
||||
StudentPrestudentDisableFields(true);
|
||||
StudentKontoDisableFields(true);
|
||||
StudentAkteDisableFields(true);
|
||||
StudentIODisableFields(true);
|
||||
StudentNoteDisableFields(true);
|
||||
document.getElementById('student-kontakt').setAttribute('src','');
|
||||
document.getElementById('student-betriebsmittel').setAttribute('src','');
|
||||
StudentAbschlusspruefungDisableFields(true);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
|
||||
// Lehrveranstaltung
|
||||
@@ -176,10 +289,10 @@ function onLektorSelect()
|
||||
// LVAs
|
||||
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid);
|
||||
|
||||
|
||||
// Lehrveranstaltung
|
||||
try
|
||||
{
|
||||
{
|
||||
//var stg_idx = treeLektor.view.getParentIndex(tree.currentIndex);
|
||||
//var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
||||
//var stg_kz=tree.view.getCellText(stg_idx,col);
|
||||
@@ -205,7 +318,7 @@ function onLektorSelect()
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadURL(event)
|
||||
|
||||
@@ -45,6 +45,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xu
|
||||
<treecol id="grp" label="Grp" flex="1" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="gruppe" label="SpzGruppe" flex="1" hidden="true"/>
|
||||
<treecol id="typ" label="Typ" flex="1" persist="hidden, width, ordinal" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="stsem" label="StSem" flex="1" persist="hidden, width, ordinal" hidden="true"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -59,6 +62,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xu
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrverbandsgruppe/rdf#ver"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrverbandsgruppe/rdf#grp"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrverbandsgruppe/rdf#gruppe"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrverbandsgruppe/rdf#typ"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrverbandsgruppe/rdf#stsem"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -288,4 +288,12 @@ INSERT INTO tbl_berechtigung VALUES ('mitarbeiter', 'FAS Mitarbeitermodul');
|
||||
INSERT INTO tbl_berechtigung VALUES ('lehre', 'Berechtigung fuer CIS-Seite');
|
||||
INSERT INTO tbl_berechtigung VALUES ('lv-plan', 'Stundenplan');
|
||||
INSERT INTO tbl_berechtigung VALUES ('assistenz', 'Assistenz');
|
||||
INSERT INTO tbl_berechtigung VALUES ('news', 'News eintragen');
|
||||
INSERT INTO tbl_berechtigung VALUES ('news', 'News eintragen');
|
||||
|
||||
-- buchungstyp
|
||||
|
||||
INSERT INTO public.tbl_buchungstyp VALUES ('Lehrmittelbeitrag', 'Lehrmittelbeitrag');
|
||||
INSERT INTO public.tbl_buchungstyp VALUES ('Studiengebuehr', 'Studiengebühr');
|
||||
INSERT INTO public.tbl_buchungstyp VALUES ('Sonstiges', 'Sonstiges');
|
||||
INSERT INTO public.tbl_buchungstyp VALUES ('Unkostenbeitrag', 'Unkostenbeitrag');
|
||||
INSERT INTO public.tbl_buchungstyp VALUES ('Kaution', 'Kaution');
|
||||
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
// **************************************
|
||||
// Syncronisiert alle Studiengebuehren
|
||||
// StPoelten -> VILESCI
|
||||
// setzt vorraus: - tbl_person
|
||||
// - 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
|
||||
// negativen Studiengebuehr angelegt und danach die dazupassende Gegenbuchung.
|
||||
// **************************************
|
||||
require_once('sync_config.inc.php');
|
||||
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!');
|
||||
mssql_select_db(STPDB_DB, $conn_ext);
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Verbindungsaufbau!');
|
||||
|
||||
echo '
|
||||
<html>
|
||||
<head>
|
||||
<title>STP - VILESCI (Konto)</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
echo 'Starte Konto Syncronisation '.date('H:i:s').'<br>';
|
||||
flush();
|
||||
|
||||
$gesamt=0;
|
||||
$statistik='';
|
||||
$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)
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
|
||||
// ******** SYNC START ********** //
|
||||
|
||||
$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))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$person_id = $row->person_id;
|
||||
$studiengang_kz = $row->studiengang_kz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Person zu $row_ext->_person wurde nicht gefunden\n";
|
||||
$error++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
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));
|
||||
|
||||
$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
|
||||
studiengang_kz='$studiengang_kz' AND
|
||||
studiensemester_kurzbz='$studiensemester_kurzbz' AND
|
||||
buchungstyp_kurzbz='Studiengebuehr'";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
{
|
||||
//Wenn der Eintrag schon vorhanden ist dann dieses Semester ueberspringen
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler bei Select:".pg_last_error($conn);
|
||||
continue;
|
||||
}
|
||||
|
||||
//Belastung Buchen
|
||||
$konto->person_id = $person_id;
|
||||
$konto->studiengang_kz = $studiengang_kz;
|
||||
$konto->studiensemester_kurzbz = $studiensemester_kurzbz;
|
||||
$konto->buchungstyp_kurzbz = 'Studiengebuehr';
|
||||
$konto->buchungsnr_verweis = '';
|
||||
$konto->betrag = -363.36;
|
||||
$konto->buchungsdatum = $datum;
|
||||
$konto->buchungstext = "Studiengebuehr $stg_arr[$studiengang_kz] $i. Semester";
|
||||
$konto->mahnspanne = 0;
|
||||
$konto->updateamum = date('Y-m-d H:i:s');
|
||||
$konto->updatevon = 'sync';
|
||||
$konto->insertamum = date('Y-m-d H:i:s');
|
||||
$konto->insertvon = 'sync';
|
||||
|
||||
if($konto->save(true))
|
||||
{
|
||||
//Gegenbuchung
|
||||
$konto->buchungsnr_verweis = $konto->buchungsnr;
|
||||
$konto->betrag = 363.36;
|
||||
if($konto->save(true))
|
||||
{
|
||||
$text.="Studiengebuehr fuer Person $person_id Studiengang $stg_arr[$studiengang_kz] Semester $i wurde hinzugefuegt\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Speichern der Gegenbuchung: $konto->errormsg\n";
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.="Fehler beim Speichern: $konto->errormsg\n";
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
echo "Fehler beim Senden an $to<br><br>";
|
||||
|
||||
echo nl2br($text);
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user