From a8676ce92866c4cd493067a3b2d0035f4f8475d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 27 Aug 2007 11:40:08 +0000 Subject: [PATCH] --- .../lvplanung/lehrveranstaltungoverlay.js.php | 4 +- content/mitarbeiter/mitarbeiterDBDML.php | 2 +- content/mitarbeiter/mitarbeiteroverlay.js.php | 10 +- content/statistik/studentenexport.xls.php | 232 +++++++++++++++--- content/student/studentDBDML.php | 5 +- content/student/studentdetailoverlay.xul.php | 4 +- content/student/studentenoverlay.xul.php | 26 +- content/student/studentkontooverlay.xul.php | 14 ++ content/student/studentoverlay.js.php | 17 +- content/student/studentprojektarbeit.js.php | 4 + include/benutzer.class.php | 8 +- include/mitarbeiter.class.php | 2 +- rdf/personal.rdf.php | 2 +- rdf/student.rdf.php | 2 +- 14 files changed, 274 insertions(+), 58 deletions(-) diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index 927a88c35..99d9c7097 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -499,7 +499,7 @@ function LeDetailReset() lektortree.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden - lektortree.builder.refresh(); + lektortree.builder.rebuild(); //Gruppentree leeren gruppentree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe'); @@ -511,7 +511,7 @@ function LeDetailReset() gruppentree.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden - gruppentree.builder.refresh(); + gruppentree.builder.rebuild(); } // **** diff --git a/content/mitarbeiter/mitarbeiterDBDML.php b/content/mitarbeiter/mitarbeiterDBDML.php index 5c7883bae..c88562273 100644 --- a/content/mitarbeiter/mitarbeiterDBDML.php +++ b/content/mitarbeiter/mitarbeiterDBDML.php @@ -88,7 +88,7 @@ if(!$error) $mitarbeiter->ersatzkennzeichen = $_POST['ersatzkennzeichen']; $mitarbeiter->familienstand = $_POST['familienstand']; $mitarbeiter->geschlecht = $_POST['geschlecht']; - $mitarbeiter->aktiv = ($_POST['aktiv']=='true'?true:false); + $mitarbeiter->bnaktiv = ($_POST['aktiv']=='true'?true:false); $mitarbeiter->anzahlkinder = $_POST['anzahlderkinder']; $mitarbeiter->staatsbuergerschaft = $_POST['staatsbuergerschaft']; $mitarbeiter->geburtsnation = $_POST['geburtsnation']; diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index 95d8dd2e2..0095d8278 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -41,6 +41,7 @@ var MitarbeiterEntwicklungsteamTreeDatasource=null; // Datasource des Entwicklun var MitarbeiterEntwicklungsteamSelectMitarbeiterUID=null; // UID des Mitarbeiters des Entwicklugnsteams das nach dem rebuild markiert werden soll var MitarbeiterEntwicklungsteamSelectStudiengangID=null; // ID des Stg des Entwicklungsteams das nach dem rebuild markiert werden soll var MitarbeiterEntwicklungsteamDoubleRefresh=false; // Wenn auf einen Tree der eine leere Datasource enthaelt eine neue Datasource angehaengt wird, dann muss doppelt refresht werden +var MitarbeiterTreeLoadDataOnSelect2=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen // ********** Observer und Listener ************* // @@ -53,6 +54,7 @@ var MitarbeiterTreeSinkObserver = { onBeginLoad : function(pSink) { + MitarbeiterTreeLoadDataOnSelect2=false; }, onInterrupt : function(pSink) {}, onResume : function(pSink) {}, @@ -78,7 +80,8 @@ var MitarbeiterTreeListener = //timeout nur bei Mozilla notwendig da sonst die rows //noch keine values haben. Ab Seamonkey funktionierts auch //ohne dem setTimeout - window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10); + MitarbeiterTreeLoadDataOnSelect2=true; + window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10); } }; @@ -414,7 +417,9 @@ function MitarbeiterAuswahl() MitarbeiterTreeLoadDataOnSelect=true; return true; } - + if(!MitarbeiterTreeLoadDataOnSelect2) + return true; + // Trick 17 (sonst gibt's ein Permission denied) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var tree = document.getElementById('mitarbeiter-tree'); @@ -508,6 +513,7 @@ function MitarbeiterAuswahl() document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen; document.getElementById('mitarbeiter-detail-menulist-familienstand').value=familienstand; document.getElementById('mitarbeiter-detail-menulist-geschlecht').value=geschlecht; + if(aktiv=='Ja') document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=true; else diff --git a/content/statistik/studentenexport.xls.php b/content/statistik/studentenexport.xls.php index 152eec0be..0f72d874f 100644 --- a/content/statistik/studentenexport.xls.php +++ b/content/statistik/studentenexport.xls.php @@ -49,10 +49,31 @@ loadVariables($conn, $user); $gruppe_kurzbz = $_GET['gruppe_kurzbz']; $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; $typ = $_GET['typ']; - $maxlength= array(); $zeile=1; - + $zgv_arr=array(); + $zgvmas_arr=array(); + + //ZGV laden + $qry = "SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $zgv_arr[$row->zgv_code]=$row->zgv_kurzbz; + } + } + + //ZGV Master laden + $qry = "SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_kurzbz"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $zgvmas_arr[$row->zgvmas_code]=$row->zgvmas_kurzbz; + } + } + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); @@ -72,57 +93,113 @@ loadVariables($conn, $user); //Zeilenueberschriften ausgeben $i=0; - $worksheet->write(0,$i,"UID", $format_bold); + $zeile=1; + + $worksheet->write($zeile,$i,"UID", $format_bold); $maxlength[$i]=3; - $worksheet->write(0,++$i,"TITELPRE", $format_bold); + $worksheet->write($zeile,++$i,"TITELPRE", $format_bold); $maxlength[$i]=8; - $worksheet->write(0,++$i,"VORNAME", $format_bold); + $worksheet->write($zeile,++$i,"VORNAME", $format_bold); $maxlength[$i]=7; - $worksheet->write(0,++$i,"VORNAMEN", $format_bold); + $worksheet->write($zeile,++$i,"VORNAMEN", $format_bold); $maxlength[$i]=8; - $worksheet->write(0,++$i,"NACHNAME", $format_bold); + $worksheet->write($zeile,++$i,"NACHNAME", $format_bold); $maxlength[$i]=8; - $worksheet->write(0,++$i,"TITELPOST", $format_bold); + $worksheet->write($zeile,++$i,"TITELPOST", $format_bold); $maxlength[$i]=9; - $worksheet->write(0,++$i,"SVNR", $format_bold); + $worksheet->write($zeile,++$i,"SVNR", $format_bold); $maxlength[$i]=4; - $worksheet->write(0,++$i,"GEBURTSDATUM", $format_bold); + $worksheet->write($zeile,++$i,"ERSATZKENNZEICHEN", $format_bold); + $maxlength[$i]=17; + $worksheet->write($zeile,++$i,"GEBURTSDATUM", $format_bold); $maxlength[$i]=12; - $worksheet->write(0,++$i,"SEMESTER", $format_bold); + $worksheet->write($zeile,++$i,"SEMESTER", $format_bold); $maxlength[$i]=8; - $worksheet->write(0,++$i,"VERBAND", $format_bold); + $worksheet->write($zeile,++$i,"VERBAND", $format_bold); $maxlength[$i]=7; - $worksheet->write(0,++$i,"GRUPPE", $format_bold); + $worksheet->write($zeile,++$i,"GRUPPE", $format_bold); $maxlength[$i]=6; - $worksheet->write(0,++$i,"MATRIKELNUMMER", $format_bold); - $maxlength[$i]=15; - $worksheet->write(0,++$i,"STATUS", $format_bold); + $worksheet->write($zeile,++$i,"PERSONENKENNZEICHEN", $format_bold); + $maxlength[$i]=19; + $worksheet->write($zeile,++$i,"ZGV", $format_bold); + $maxlength[$i]=10; + $worksheet->write($zeile,++$i,"ZGV Ort", $format_bold); + $maxlength[$i]=14; + $worksheet->write($zeile,++$i,"ZGV Datum", $format_bold); $maxlength[$i]=6; - $worksheet->write(0,++$i,"EMail Intern", $format_bold); + $worksheet->write($zeile,++$i,"ZGV Master", $format_bold); + $maxlength[$i]=10; + $worksheet->write($zeile,++$i,"ZGV Master Ort", $format_bold); + $maxlength[$i]=14; + $worksheet->write($zeile,++$i,"ZGV Master Datum", $format_bold); + $maxlength[$i]=16; + $worksheet->write($zeile,++$i,"STAATSBÜRGERSCHAFT", $format_bold); + $maxlength[$i]=16; + $worksheet->write($zeile,++$i,"STATUS", $format_bold); + $maxlength[$i]=6; + $worksheet->write($zeile,++$i,"EMail Intern", $format_bold); $maxlength[$i]=12; - $worksheet->write(0,++$i,"EMail Privat", $format_bold); + $worksheet->write($zeile,++$i,"EMail Privat", $format_bold); $maxlength[$i]=12; - $worksheet->write(0,++$i,"STRASSE", $format_bold); + $worksheet->write($zeile,++$i,"STRASSE", $format_bold); $maxlength[$i]=7; - $worksheet->write(0,++$i,"PLZ", $format_bold); + $worksheet->write($zeile-1,$i,"Zustelladresse", $format_bold); + $worksheet->write($zeile,++$i,"PLZ", $format_bold); $maxlength[$i]=3; - $worksheet->write(0,++$i,"ORT", $format_bold); + $worksheet->write($zeile,++$i,"ORT", $format_bold); + $maxlength[$i]=3; + $worksheet->write($zeile,++$i,"STRASSE", $format_bold); + $maxlength[$i]=7; + $worksheet->write($zeile-1,$i,"Nebenwohnsitz", $format_bold); + $worksheet->write($zeile,++$i,"PLZ", $format_bold); + $maxlength[$i]=3; + $worksheet->write($zeile,++$i,"ORT", $format_bold); + $maxlength[$i]=3; + $worksheet->write($zeile,++$i,"TELEFON", $format_bold); $maxlength[$i]=3; - + $zeile++; // Student holen if($typ=='student') { - - // Studenten holen - $student=new student($conn,null,false); - $studenten=$student->getStudents($studiengang_kz,$semester,$verband,$gruppe,$gruppe_kurzbz, $studiensemester_kurzbz); - - foreach ($studenten as $student) + $where = ''; + if ($gruppe_kurzbz!=null) { + $where=" gruppe_kurzbz='".$gruppe_kurzbz."' "; + if($studiensemester_kurzbz!=null) + $where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='$studiensemester_kurzbz'"; + } + else + { + $where.=" tbl_studentlehrverband.studiengang_kz=$studiengang_kz"; + if ($semester!=null) + $where.=" AND tbl_studentlehrverband.semester=$semester"; + if ($verband!=null) + $where.=" AND tbl_studentlehrverband.verband='".$verband."'"; + if ($gruppe!=null) + $where.=" AND tbl_studentlehrverband.gruppe='".$gruppe."'"; + } + + $where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz'"; + + $sql_query="SELECT * + FROM public.tbl_studentlehrverband JOIN public.tbl_student USING (student_uid) + JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_person p USING (person_id) + JOIN public.tbl_prestudent using(prestudent_id) + "; - draw_content($student); - $zeile++; + if($gruppe_kurzbz!=null) + $sql_query.= "JOIN public.tbl_benutzergruppe USING (uid) "; + + $sql_query.="WHERE ".$where.' ORDER BY nachname, vorname'; + //echo $sql_query; + if($result = pg_query($conn, $sql_query)) + { + while($row = pg_fetch_object($result)) + { + draw_content($row); + $zeile++; + } } } elseif(in_array($typ, array('prestudent', 'interessenten','bewerber','aufgenommen', @@ -156,6 +233,7 @@ loadVariables($conn, $user); { global $maxlength, $datum_obj; global $zeile, $worksheet, $conn; + global $zgv_arr, $zgvmas_arr; $prestudent = new prestudent($conn, null, null); $prestudent->getLastStatus($row->prestudent_id); @@ -200,6 +278,11 @@ loadVariables($conn, $user); $worksheet->write($zeile,$i, $row->svnr); $i++; + if(strlen($row->ersatzkennzeichen)>$maxlength[$i]) + $maxlength[$i] = strlen($row->ersatzkennzeichen); + $worksheet->write($zeile,$i, $row->ersatzkennzeichen); + $i++; + if(strlen($row->gebdatum)>$maxlength[$i]) $maxlength[$i] = strlen($row->gebdatum); $worksheet->write($zeile,$i, $datum_obj->convertISODate($row->gebdatum)); @@ -237,6 +320,47 @@ loadVariables($conn, $user); } $i++; + if($row->zgv_code!='' && isset($zgv_arr[$row->zgv_code])) + { + if(strlen($zgv_arr[$row->zgv_code])>$maxlength[$i]) + $maxlength[$i] = strlen($zgv_arr[$row->zgv_code]); + $worksheet->write($zeile,$i, $zgv_arr[$row->zgv_code]); + } + $i++; + + if(strlen($row->zgvort)>$maxlength[$i]) + $maxlength[$i] = strlen($row->zgvort); + $worksheet->write($zeile,$i, $row->zgvort); + $i++; + + if(strlen($row->zgvdatum)>$maxlength[$i]) + $maxlength[$i] = strlen($row->zgvdatum); + $worksheet->write($zeile,$i, $row->zgvdatum); + $i++; + + if($row->zgvmas_code!='' && isset($zgvmas_arr[$row->zgvmas_code])) + { + if(strlen($zgvmas_arr[$row->zgvmas_code])>$maxlength[$i]) + $maxlength[$i] = strlen($zgvmas_arr[$row->zgvmas_code]); + $worksheet->write($zeile,$i, $zgvmas_arr[$row->zgvmas_code]); + } + $i++; + + if(strlen($row->zgvmaort)>$maxlength[$i]) + $maxlength[$i] = strlen($row->zgvmaort); + $worksheet->write($zeile,$i, $row->zgvmaort); + $i++; + + if(strlen($row->zgvmadatum)>$maxlength[$i]) + $maxlength[$i] = strlen($row->zgvmadatum); + $worksheet->write($zeile,$i, $row->zgvmadatum); + $i++; + + if(strlen($row->staatsbuergerschaft)>$maxlength[$i]) + $maxlength[$i] = strlen($row->staatsbuergerschaft); + $worksheet->write($zeile,$i, $row->staatsbuergerschaft); + $i++; + if(strlen($status)>$maxlength[$i]) $maxlength[$i] = strlen($status); $worksheet->write($zeile,$i, $status); @@ -250,7 +374,7 @@ loadVariables($conn, $user); } $i++; - //Zustelladresse aus der Datenbank holen und dazuhaengen + //ZustellEmailAdresse aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; if($result_1 = pg_query($conn, $qry_1)) { @@ -282,8 +406,52 @@ loadVariables($conn, $user); if(strlen($row_1->ort)>$maxlength[$i]) $maxlength[$i]=strlen($row_1->ort); $worksheet->write($zeile,$i, $row_1->ort); + $i++; } - } + else + $i+=3; + } + else + $i+=3; + + //Nebenwohnsitz aus der Datenbank holen und dazuhaengen + $qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND typ='n' LIMIT 1"; + if($result_1 = pg_query($conn, $qry_1)) + { + if($row_1 = pg_fetch_object($result_1)) + { + if(strlen($row_1->strasse)>$maxlength[$i]) + $maxlength[$i]=strlen($row_1->strasse); + $worksheet->write($zeile,$i, $row_1->strasse); + $i++; + + if(strlen($row_1->plz)>$maxlength[$i]) + $maxlength[$i]=strlen($row_1->plz); + $worksheet->write($zeile,$i, $row_1->plz); + $i++; + + if(strlen($row_1->ort)>$maxlength[$i]) + $maxlength[$i]=strlen($row_1->ort); + $worksheet->write($zeile,$i, $row_1->ort); + $i++; + } + else + $i+=3; + } + else + $i+=3; + + $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp in('mobil','telefon','so.tel') AND person_id='$row->person_id' ORDER BY zustellung DESC LIMIT 1"; + if($result_1 = pg_query($conn, $qry_1)) + { + if($row_1 = pg_fetch_object($result_1)) + { + if(strlen($row_1->kontakt)>$maxlength[$i]) + $maxlength[$i]=strlen($row_1->kontakt); + $worksheet->write($zeile,$i, $row_1->kontakt); + } + } + $i++; } diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index b6d26db34..d3b33b1da 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -205,7 +205,7 @@ if(!$error) $student->ersatzkennzeichen = $_POST['ersatzkennzeichen']; $student->familienstand = $_POST['familienstand']; $student->geschlecht = $_POST['geschlecht']; - $student->aktiv = ($_POST['aktiv']=='true'?true:false); + $student->bnaktiv = ($_POST['aktiv']=='true'?true:false); $student->anzahlkinder = $_POST['anzahlderkinder']; $student->staatsbuergerschaft = $_POST['staatsbuergerschaft']; $student->geburtsnation = $_POST['geburtsnation']; @@ -313,7 +313,7 @@ if(!$error) $person->ersatzkennzeichen = $_POST['ersatzkennzeichen']; $person->familienstand = $_POST['familienstand']; $person->geschlecht = $_POST['geschlecht']; - $person->aktiv = ($_POST['aktiv']=='true'?true:false); + //$person->aktiv = ($_POST['aktiv']=='true'?true:false); $person->anzahlkinder = $_POST['anzahlderkinder']; $person->staatsbuergerschaft = $_POST['staatsbuergerschaft']; $person->geburtsnation = $_POST['geburtsnation']; @@ -844,6 +844,7 @@ if(!$error) $buchung->buchungstext = $_POST['buchungstext']; $buchung->mahnspanne = $_POST['mahnspanne']; $buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz']; + $buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; $buchung->new = false; $buchung->updateamum = date('Y-m-d H:i:s'); $buchung->updatevon = $user; diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index 541ba92b6..fc77d7e90 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -87,8 +87,6 @@ echo '';