Cleanup and replace legacy Code

This commit is contained in:
oesi
2017-03-28 11:31:58 +02:00
parent 43c0a0bd30
commit 90e7969317
4 changed files with 548 additions and 411 deletions
+104 -81
View File
@@ -29,121 +29,143 @@ if(isset($_GET['stsem']))
$stsem = $_GET['stsem']; $stsem = $_GET['stsem'];
else else
$stsem = ''; $stsem = '';
$db = new basis_db(); $db = new basis_db();
$rechte = new benutzerberechtigung(); $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen(get_uid()); $rechte->getBerechtigungen(get_uid());
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
die($rechte->errormsg);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> echo '<!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css"> <link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css"> include('../../include/meta/jquery.php');
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script> include('../../include/meta/jquery-tablesorter.php');
echo '
<script language="Javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"],
});
});
</script>
</head> </head>
<body>'; <body>';
echo "<h2>AbgängerInnenstatistik ".$db->convert_html_chars($stsem);
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$studsem = new studiensemester();
$studsem->getAll();
echo "<h2>AbgängerInnenstatistik $stsem"; foreach ($studsem->studiensemester as $stsemester)
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>'; {
echo '</h2>'; if($stsemester->studiensemester_kurzbz == $stsem)
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">'; $selected = 'selected';
$studsem = new studiensemester(); else
$studsem->getAll(); $selected = '';
foreach ($studsem->studiensemester as $stsemester) echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>';
{ echo $stsemester->studiensemester_kurzbz;
if($stsemester->studiensemester_kurzbz==$stsem) echo '</option>';
$selected='selected'; }
else echo '</SELECT>
$selected=''; <input type="submit" value="Anzeigen" /></form><br><br>';
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>
<input type="submit" value="Anzeigen" /></form><br><br>';
if($stsem!='') if ($stsem != '')
{ {
$stgs = $rechte->getStgKz(); $stgs = $rechte->getStgKz();
if($stgs[0]=='')
$stgwhere='';
else
{
$stgwhere=' AND studiengang_kz in(';
foreach ($stgs as $stg)
$stgwhere.="'$stg',";
$stgwhere = mb_substr($stgwhere,0, mb_strlen($stgwhere)-1);
$stgwhere.=' )';
}
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
(SELECT count(*) FROM public.tbl_prestudent if (count($stgs) == 0)
$stgwhere = '';
else
{
$stgwhere = ' AND studiengang_kz in(';
$stgwhere .= $db->db_implode4SQL($stgs);
$stgwhere .= ' )';
}
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
(SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
) AS abgewiesene, AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
(SELECT count(*) FROM public.tbl_prestudent ) AS abgewiesene,
(SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND geschlecht ='m' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
AND geschlecht ='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS abgewiesene_maennlich, ) AS abgewiesene_maennlich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND geschlecht ='w' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
AND geschlecht ='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS abgewiesene_weiblich, ) AS abgewiesene_weiblich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS abbrecher, ) AS abbrecher,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND geschlecht ='m' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
AND geschlecht ='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS abbrecher_maennlich, ) AS abbrecher_maennlich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND geschlecht ='w' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
AND geschlecht ='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS abbrecher_weiblich, ) AS abbrecher_weiblich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS unterbrecher, ) AS unterbrecher,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND geschlecht='m' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
AND geschlecht='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS unterbrecher_maennlich, ) AS unterbrecher_maennlich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND geschlecht='w' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
AND geschlecht='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS unterbrecher_weiblich, ) AS unterbrecher_weiblich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS absolvent, ) AS absolvent,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND geschlecht='m' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND geschlecht='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS absolvent_maennlich, ) AS absolvent_maennlich,
(SELECT count(*) FROM public.tbl_prestudent (SELECT count(*) FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING (person_id) JOIN public.tbl_person USING (person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND geschlecht='w' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND geschlecht='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS absolvent_weiblich ) AS absolvent_weiblich
FROM FROM
public.tbl_studiengang stg public.tbl_studiengang stg
WHERE WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv $stgwhere studiengang_kz>0 AND studiengang_kz<10000 AND aktiv $stgwhere
ORDER BY kurzbzlang; "; ORDER BY kurzbzlang; ";
if($db->db_query($qry)) if ($db->db_query($qry))
{ ?> { ?>
<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'> <table id="t1">
<thead> <thead>
<tr> <tr>
<th></th> <th></th>
@@ -154,24 +176,24 @@ if($stsem!='')
</tr> </tr>
<tr> <tr>
<th class='table-sortable:default'>Studiengang</th> <th>Studiengang</th>
<th class='table-sortable:numeric'>m</th> <th>m</th>
<th class='table-sortable:numeric'>w</th> <th>w</th>
<th class='table-sortable:numeric'>Gesamt</th> <th>Gesamt</th>
<th class='table-sortable:numeric'>m</th> <th>m</th>
<th class='table-sortable:numeric'>w</th> <th>w</th>
<th class='table-sortable:numeric'>Gesamt</th> <th>Gesamt</th>
<th class='table-sortable:numeric'>m</th> <th>m</th>
<th class='table-sortable:numeric'>w</th> <th>w</th>
<th class='table-sortable:numeric'>Gesamt</th> <th>Gesamt</th>
<th class='table-sortable:numeric'>m</th> <th>m</th>
<th class='table-sortable:numeric'>w</th> <th>w</th>
<th class='table-sortable:numeric'>Gesamt</th> <th>Gesamt</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php while($row = $db->db_fetch_object()) <?php while ($row = $db->db_fetch_object())
{ ?> { ?>
<tr> <tr>
<td><?php echo strtoupper($row->typ.$row->kurzbz)?> (<?php echo $row->kurzbzlang ?>)</td> <td><?php echo strtoupper($row->typ.$row->kurzbz)?> (<?php echo $row->kurzbzlang ?>)</td>
@@ -190,7 +212,8 @@ if($stsem!='')
</tr> </tr>
<?php } ?> <?php } ?>
</tbody></table> </tbody></table>
<?php } <?php
}
} }
?> ?>
</body> </body>
+169 -140
View File
@@ -1,140 +1,169 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2006 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
/** /**
* Exportiert die Studentendaten in ein Excel File. * Exportiert die Abschlusspruefungen in ein Excel File.
* Die zu exportierenden Spalten werden per GET uebergeben. * Die zu exportierenden Spalten werden per GET uebergeben.
* Die Adressen werden immer dazugehaengt */
*/ require_once('../../config/vilesci.config.inc.php');
require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php');
require_once('../../include/functions.inc.php'); require_once('../../include/datum.class.php');
require_once('../../include/datum.class.php'); require_once('../../include/studiensemester.class.php');
require_once('../../include/studiensemester.class.php'); require_once('../../include/Excel/excel.php');
require_once('../../include/Excel/excel.php'); require_once('../../include/benutzerberechtigung.class.php');
$db = new basis_db(); $uid = get_uid();
$user = get_uid();
$datum_obj = new datum(); $rechte = new benutzerberechtigung();
loadVariables($user); $rechte->getBerechtigungen($uid);
function writecol($zeile, $i, $content) $db = new basis_db();
{ $user = get_uid();
global $worksheet, $maxlength; $datum_obj = new datum();
$worksheet->write($zeile, $i, $content); loadVariables($user);
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content); /**
} * Schreibt eine Spalte ins Excel und speichert die maximale Spaltenbreite
*
//Parameter holen * @param int $zeile Zeile im Excel.
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''; * @param int $i Spalte im Excel.
$semester = isset($_GET['semester'])?$_GET['semester']:''; * @param string $content Inhalt.
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; * @return void
*/
$maxlength= array(); function writecol($zeile, $i, $content)
$zeile=1; {
global $worksheet, $maxlength;
// Creating a workbook $worksheet->write($zeile, $i, $content);
$workbook = new Spreadsheet_Excel_Writer(); if(mb_strlen($content) > $maxlength[$i])
$maxlength[$i] = mb_strlen($content);
// sending HTTP headers }
$workbook->send("Abschlusspruefung". "_" . date("d_m_Y") . ".xls");
$workbook->setVersion(8); //Parameter holen
// Creating a worksheet $studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
$worksheet =& $workbook->addWorksheet("Abschlusspruefung"); $semester = isset($_GET['semester'])?$_GET['semester']:'';
$worksheet->setInputEncoding('utf-8'); $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
$format_bold =& $workbook->addFormat(); if($studiengang_kz == '')
$format_bold->setBold(); die('studiengang_kz is not set');
if($studiensemester_kurzbz == '')
$format_title =& $workbook->addFormat(); die('studiensemester_kurzbz is not set');
$format_title->setBold();
// let's merge $maxlength = array();
$format_title->setAlign('merge'); $zeile = 1;
$stsem = new studiensemester(); if(!$rechte->isBerechtigt('student/stammdaten', $studiengang_kz, 's'))
$stsem->load($studiensemester_kurzbz); die($rechte->errormsg);
//Zeilenueberschriften ausgeben // Creating a workbook
$headline=array('Titelpre','Vorname','Nachname','Titelpost','Vorsitz','Pruefer1','Pruefer2','Pruefer3', $workbook = new Spreadsheet_Excel_Writer();
'Abschlussbeurteilung','Typ','Datum','Sponsion','Anmerkung');
// sending HTTP headers
$i=0; $workbook->send("Abschlusspruefung". "_".date("d_m_Y").".xls");
foreach ($headline as $title) $workbook->setVersion(8);
{ // Creating a worksheet
$worksheet->write(0,$i,$title, $format_bold); $worksheet =& $workbook->addWorksheet("Abschlusspruefung");
$maxlength[$i]=mb_strlen($title); $worksheet->setInputEncoding('utf-8');
$i++;
} $format_bold =& $workbook->addFormat();
$format_bold->setBold();
// Daten holen
$qry = "SELECT $format_title =& $workbook->addFormat();
titelpre, vorname, nachname, titelpost, $format_title->setBold();
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz) as vorsitz, // let's merge
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1, $format_title->setAlign('merge');
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2,
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3, $stsem = new studiensemester();
(SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz=tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung, tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung $stsem->load($studiensemester_kurzbz);
FROM
lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person, //Zeilenueberschriften ausgeben
lehre.tbl_pruefungstyp $headline = array('Titelpre', 'Vorname', 'Nachname', 'Titelpost', 'Vorsitz', 'Pruefer1', 'Pruefer2', 'Pruefer3',
WHERE 'Abschlussbeurteilung', 'Typ', 'Datum', 'Sponsion', 'Anmerkung');
tbl_abschlusspruefung.student_uid=public.tbl_studentlehrverband.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND $i = 0;
tbl_studentlehrverband.studiengang_kz='".addslashes($studiengang_kz)."' AND foreach ($headline as $title)
tbl_benutzer.uid = tbl_abschlusspruefung.student_uid AND {
tbl_person.person_id = tbl_benutzer.person_id AND $worksheet->write(0, $i, $title, $format_bold);
tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz $maxlength[$i] = mb_strlen($title);
"; $i++;
if($semester!='') }
$qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'";
$qry.=' ORDER BY nachname, vorname'; // Daten holen
$zeile=1; $qry = "SELECT
if($db->db_query($qry)) titelpre, vorname, nachname, titelpost,
{ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
while($row = $db->db_fetch_object()) || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
{ WHERE uid=vorsitz) as vorsitz,
$i=0; (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
|| ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1,
writecol($zeile, $i++, $row->titelpre); (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
writecol($zeile, $i++, $row->vorname); || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2,
writecol($zeile, $i++, $row->nachname); (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' '
writecol($zeile, $i++, $row->titelpost); || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3,
writecol($zeile, $i++, $row->vorsitz); (SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung
writecol($zeile, $i++, $row->pruefer1); WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz
writecol($zeile, $i++, $row->pruefer2); = tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung,
writecol($zeile, $i++, $row->pruefer3); tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung
writecol($zeile, $i++, $row->bezeichnung); FROM
writecol($zeile, $i++, $row->beschreibung); lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person,
writecol($zeile, $i++, $row->datum); lehre.tbl_pruefungstyp
writecol($zeile, $i++, $row->sponsion); WHERE
writecol($zeile, $i++, $row->anmerkung); tbl_abschlusspruefung.student_uid=public.tbl_studentlehrverband.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
$zeile++; tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
} tbl_benutzer.uid = tbl_abschlusspruefung.student_uid AND
} tbl_person.person_id = tbl_benutzer.person_id AND
else tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz
die('Fehler in Qry: '.$qry); ";
//Die Breite der Spalten setzen if ($semester != '')
foreach($maxlength as $i=>$breite) $qry .= " AND tbl_studentlehrverband.semester=".$db->db_add_param($semester);
$worksheet->setColumn($i, $i, $breite+2); $qry .= ' ORDER BY nachname, vorname';
$zeile = 1;
$workbook->close(); if ($db->db_query($qry))
?> {
while ($row = $db->db_fetch_object())
{
$i = 0;
writecol($zeile, $i++, $row->titelpre);
writecol($zeile, $i++, $row->vorname);
writecol($zeile, $i++, $row->nachname);
writecol($zeile, $i++, $row->titelpost);
writecol($zeile, $i++, $row->vorsitz);
writecol($zeile, $i++, $row->pruefer1);
writecol($zeile, $i++, $row->pruefer2);
writecol($zeile, $i++, $row->pruefer3);
writecol($zeile, $i++, $row->bezeichnung);
writecol($zeile, $i++, $row->beschreibung);
writecol($zeile, $i++, $row->datum);
writecol($zeile, $i++, $row->sponsion);
writecol($zeile, $i++, $row->anmerkung);
$zeile++;
}
}
else
die('Fehler bei Datenbankabfrage');
//Die Breite der Spalten setzen
foreach($maxlength as $i => $breite)
$worksheet->setColumn($i, $i, $breite + 2);
$workbook->close();
+83 -73
View File
@@ -29,13 +29,24 @@ require_once('../../include/functions.inc.php');
require_once('../../include/Excel/excel.php'); require_once('../../include/Excel/excel.php');
require_once('../../include/studiengang.class.php'); require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php'); require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (!$rechte->isBerechtigt('student/stammdaten', null, 's'))
die($rechte->errormsg);
//Parameter holen //Parameter holen
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
$db = new basis_db(); $db = new basis_db();
if($studiensemester_kurzbz!='') if ($studiensemester_kurzbz != '')
{ {
if (!check_stsem($studiensemester_kurzbz))
die('Studiensemester is ungueltig');
// Creating a workbook // Creating a workbook
$workbook = new Spreadsheet_Excel_Writer(); $workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8); $workbook->setVersion(8);
@@ -45,113 +56,112 @@ if($studiensemester_kurzbz!='')
// Creating a worksheet // Creating a worksheet
$worksheet =& $workbook->addWorksheet("Absolventenstatistik"); $worksheet =& $workbook->addWorksheet("Absolventenstatistik");
$worksheet->setInputEncoding('utf-8'); $worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat(); $format_bold =& $workbook->addFormat();
$format_bold->setBold(); $format_bold->setBold();
$stg_arr=array(); $stg_arr = array();
$studiengang = new studiengang(); $studiengang = new studiengang();
$studiengang->getAll('typ, kurzbzlang', false); $studiengang->getAll('typ, kurzbzlang', false);
foreach ($studiengang->result as $row) foreach ($studiengang->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel; $stg_arr[$row->studiengang_kz] = $row->kuerzel;
$spalte=0; $spalte = 0;
$zeile=0; $zeile = 0;
$worksheet->write($zeile,$spalte,'Absolventenstatistik '.$studiensemester_kurzbz.' erstellt am '.date("d.m.Y"), $format_bold); $worksheet->write($zeile, $spalte, 'Absolventenstatistik '.$db->convert_html_chars($studiensemester_kurzbz).
' erstellt am '.date("d.m.Y"), $format_bold);
$spalte=0;
$spalte = 0;
$zeile++; $zeile++;
$worksheet->write($zeile,$spalte,'UID',$format_bold); $worksheet->write($zeile, $spalte, 'UID', $format_bold);
$maxlength[$spalte]=3; $maxlength[$spalte] = 3;
$worksheet->write($zeile,++$spalte,'NACHNAME',$format_bold); $worksheet->write($zeile, ++$spalte, 'NACHNAME', $format_bold);
$maxlength[$spalte]=8; $maxlength[$spalte] = 8;
$worksheet->write($zeile,++$spalte,'VORNAME',$format_bold); $worksheet->write($zeile, ++$spalte, 'VORNAME', $format_bold);
$maxlength[$spalte]=7; $maxlength[$spalte] = 7;
$worksheet->write($zeile,++$spalte,'STG',$format_bold); $worksheet->write($zeile, ++$spalte, 'STG', $format_bold);
$maxlength[$spalte]=3; $maxlength[$spalte] = 3;
$worksheet->write($zeile,++$spalte,'GESCHLECHT',$format_bold); $worksheet->write($zeile, ++$spalte, 'GESCHLECHT', $format_bold);
$maxlength[$spalte]=10; $maxlength[$spalte] = 10;
// Daten holen // Daten holen
$qry = "SELECT $qry = "SELECT
uid, vorname, nachname, studiengang_kz, geschlecht uid, vorname, nachname, studiengang_kz, geschlecht
FROM FROM
campus.vw_student campus.vw_student
WHERE WHERE
public.get_rolle_prestudent (prestudent_id, '$studiensemester_kurzbz')='Absolvent' public.get_rolle_prestudent (prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).")='Absolvent'
ORDER BY studiengang_kz, nachname, vorname"; ORDER BY studiengang_kz, nachname, vorname";
if($db->db_query($qry)) if ($db->db_query($qry))
{ {
while($row = $db->db_fetch_object()) while ($row = $db->db_fetch_object())
{ {
$zeile++; $zeile++;
$spalte=0; $spalte = 0;
$worksheet->write($zeile,$spalte,$row->uid); $worksheet->write($zeile, $spalte, $row->uid);
if(strlen($row->uid)>$maxlength[$spalte]) if (strlen($row->uid) > $maxlength[$spalte])
$maxlength[$spalte]=strlen($row->uid); $maxlength[$spalte] = strlen($row->uid);
$worksheet->write($zeile,++$spalte, $row->nachname); $worksheet->write($zeile, ++$spalte, $row->nachname);
if(strlen($row->nachname)>$maxlength[$spalte]) if (strlen($row->nachname) > $maxlength[$spalte])
$maxlength[$spalte]=strlen($row->nachname); $maxlength[$spalte] = strlen($row->nachname);
$worksheet->write($zeile,++$spalte, $row->vorname); $worksheet->write($zeile, ++$spalte, $row->vorname);
if(strlen($row->vorname)>$maxlength[$spalte]) if (strlen($row->vorname) > $maxlength[$spalte])
$maxlength[$spalte]=strlen($row->vorname); $maxlength[$spalte] = strlen($row->vorname);
$worksheet->write($zeile,++$spalte, $stg_arr[$row->studiengang_kz]); $worksheet->write($zeile, ++$spalte, $stg_arr[$row->studiengang_kz]);
if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$spalte]) if (strlen($stg_arr[$row->studiengang_kz]) > $maxlength[$spalte])
$maxlength[$spalte]=strlen($stg_arr[$row->studiengang_kz]); $maxlength[$spalte] = strlen($stg_arr[$row->studiengang_kz]);
$worksheet->write($zeile,++$spalte, $row->geschlecht); $worksheet->write($zeile, ++$spalte, $row->geschlecht);
if(strlen($row->geschlecht)>$maxlength[$spalte]) if (strlen($row->geschlecht) > $maxlength[$spalte])
$maxlength[$spalte]=strlen($row->geschlecht); $maxlength[$spalte] = strlen($row->geschlecht);
} }
} }
else else
die('Fehlerhafte Qry:'.$qry); die('Fehler bei Datenbankabfrage');
//Die Breite der Spalten setzen //Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite) foreach($maxlength as $i => $breite)
$worksheet->setColumn($i, $i, $breite+2); $worksheet->setColumn($i, $i, $breite + 2);
$workbook->close(); $workbook->close();
} }
else else
{ {
echo ' echo '<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<title>Absolventen</title> <title>Absolventen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"> <link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head> </head>
<body class="Background_main"> <body class="Background_main">
<h2>Absolventenstatistik</h2> <h2>Absolventenstatistik</h2>
'; ';
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">'; echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
echo 'Studiensemester: <SELECT name="studiensemester_kurzbz">'; echo 'Studiensemester: <SELECT name="studiensemester_kurzbz">';
$stsem = new studiensemester(); $stsem = new studiensemester();
$stsem_akt = $stsem->getaktorNext(); $stsem_akt = $stsem->getaktorNext();
$stsem->getAll(); $stsem->getAll();
foreach ($stsem->studiensemester as $row) foreach ($stsem->studiensemester as $row)
{ {
if($row->studiensemester_kurzbz==$stsem_akt) if ($row->studiensemester_kurzbz == $stsem_akt)
$selected='selected'; $selected = 'selected';
else else
$selected=''; $selected = '';
echo "<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>"; echo "\n<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>";
} }
echo "</SELECT>"; echo "</SELECT>";
echo " <input type='submit' value='Erstellen'>"; echo " <input type='submit' value='Erstellen'>";
echo "</form></body></html>"; echo "</form></body></html>";
} }
?>
+192 -117
View File
@@ -21,7 +21,7 @@
*/ */
/* /*
* Erstellt eine Liste mit den Absolventen eines Studiensemesters * Erstellt eine Liste mit den Absolventen eines Studiensemesters
* Aufteilung in * Aufteilung in
* - Anzahl Gesamt * - Anzahl Gesamt
* - Prozent Anteil * - Prozent Anteil
* - Vollzeit/Berufsbegleitend * - Vollzeit/Berufsbegleitend
@@ -33,6 +33,12 @@ require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/functions.inc.php'); require_once('../../include/functions.inc.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
die($rechte->errormsg);
if(isset($_GET['stsem'])) if(isset($_GET['stsem']))
$stsem = $_GET['stsem']; $stsem = $_GET['stsem'];
else else
@@ -40,39 +46,54 @@ else
$stsem_obj = new studiensemester(); $stsem_obj = new studiensemester();
$stsem = $stsem_obj->getaktorNext(); $stsem = $stsem_obj->getaktorNext();
} }
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> $db = new basis_db();
<html> echo '<!DOCTYPE HTML>
<html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css"> <link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css"> include('../../include/meta/jquery.php');
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script> include('../../include/meta/jquery-tablesorter.php');
echo '
<script language="Javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
widgets: ["zebra"]
});
$("#t2").tablesorter(
{
widgets: ["zebra"]
});
});
</script>
</head> </head>
<body>'; <body>';
echo "<h2>AbsolventInnenstatistik ".$db->convert_html_chars($stsem);
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$studsem = new studiensemester();
$studsem->getAll();
echo "<h2>AbsolventInnenstatistik $stsem"; foreach ($studsem->studiensemester as $stsemester)
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
echo '</h2>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$studsem = new studiensemester();
$studsem->getAll();
foreach ($studsem->studiensemester as $stsemester)
{
if($stsemester->studiensemester_kurzbz==$stsem)
$selected='selected';
else
$selected='';
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>
<input type="submit" value="Anzeigen" /></form><br><br>';
if($stsem!='')
{ {
echo "<table class='liste table-stripeclass:alternate table-autostripe'> if($stsemester->studiensemester_kurzbz == $stsem)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>';
echo $stsemester->studiensemester_kurzbz;
echo '</option>';
}
echo '</SELECT>
<input type="submit" value="Anzeigen" /></form><br><br>';
if ($stsem != '')
{
echo "<table id='t1'>
<thead> <thead>
<tr> <tr>
<th></th> <th></th>
@@ -98,34 +119,59 @@ if($stsem!='')
"; ";
//Bachelor //Bachelor
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) a) AS gesamt_stg, ) a) AS gesamt_stg,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='b' JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='b'
) a) AS gesamt_alle, ) a) AS gesamt_alle,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB' JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='BB'
) a) AS bb, ) a) AS bb,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ' JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='VZ'
) a) AS vz, ) a) AS vz,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w' JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w'
) a) AS w, ) a) AS w,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m'
) a) AS m, ) a) AS m,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND nation_code='A' JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND nation_code='A'
) a) AS herkunft_at, ) a) AS herkunft_at,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND eu AND nation_code<>'A' JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
AND geschlecht='m' AND eu AND nation_code<>'A'
) a) AS herkunft_eu, ) a) AS herkunft_eu,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND NOT eu JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND NOT eu
) a) AS herkunft_noteu, ) a) AS herkunft_noteu,
true true
FROM FROM
@@ -133,25 +179,24 @@ if($stsem!='')
WHERE WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b' studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b'
ORDER BY typ, kurzbzlang; "; ORDER BY typ, kurzbzlang; ";
$db = new basis_db();
if($db->db_query($qry)) if ($db->db_query($qry))
{ {
$gesamt = 0;
$gesamt=0; $gesamt_prozent = 0;
$gesamt_prozent=0; $gesamt_bb = 0;
$gesamt_bb=0; $gesamt_vz = 0;
$gesamt_vz=0; $gesamt_m = 0;
$gesamt_m=0; $gesamt_w = 0;
$gesamt_w=0; $gesamt_at = 0;
$gesamt_at=0; $gesamt_eu = 0;
$gesamt_eu=0; $gesamt_noteu = 0;
$gesamt_noteu=0; while ($row = $db->db_fetch_object())
while($row = $db->db_fetch_object())
{ {
echo '<tr>'; echo '<tr>';
echo '<td>&nbsp;</td>'; echo '<td>&nbsp;</td>';
echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>"; echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); $prozent = ($row->gesamt_alle != 0?$row->gesamt_stg / $row->gesamt_alle * 100:0);
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>"; echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
echo "<td align='center'>$row->bb / $row->vz</td>"; echo "<td align='center'>$row->bb / $row->vz</td>";
echo "<td align='center'>$row->m</td>"; echo "<td align='center'>$row->m</td>";
@@ -159,9 +204,9 @@ if($stsem!='')
echo "<td align='center'>$row->herkunft_at</td>"; echo "<td align='center'>$row->herkunft_at</td>";
echo "<td align='center'>$row->herkunft_eu</td>"; echo "<td align='center'>$row->herkunft_eu</td>";
echo "<td align='center'>$row->herkunft_noteu</td>"; echo "<td align='center'>$row->herkunft_noteu</td>";
echo "</tr>"; echo "</tr>\n";
$gesamt+=$row->gesamt_stg; $gesamt += $row->gesamt_stg;
$gesamt_prozent+=$prozent; $gesamt_prozent += $prozent;
$gesamt_bb += $row->bb; $gesamt_bb += $row->bb;
$gesamt_vz += $row->vz; $gesamt_vz += $row->vz;
$gesamt_m += $row->m; $gesamt_m += $row->m;
@@ -180,52 +225,82 @@ if($stsem!='')
echo "<td align='center'><b>$gesamt_at</b></td>"; echo "<td align='center'><b>$gesamt_at</b></td>";
echo "<td align='center'><b>$gesamt_eu</b></td>"; echo "<td align='center'><b>$gesamt_eu</b></td>";
echo "<td align='center'><b>$gesamt_noteu</b></td>"; echo "<td align='center'><b>$gesamt_noteu</b></td>";
echo "</tr>"; echo "</tr>\n";
} }
echo '</tbody>
</table>';
//Master //Master
echo '
<tr> echo "<table id='t2'>
<th>Master</th> <thead>
<th>Studiengänge</th> <tr>
<th>Absolut / %</th> <th></th>
<th>BB / VZ</th> <th></th>
<th>m</th> <th>Anteil an Gesamt</th>
<th>w</th> <th>Studienart</th>
<th>&Ouml;sterreich</th> <th colspan=2>Geschlecht</th>
<th>EU</th> <th colspan=3>Staatsb&uuml;rgerschaft</th>
<th>Nicht-EU</th> </tr>
</tr>'; <tr>
<th>Master</th>
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>BB / VZ</th>
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
<th>EU</th>
<th>Nicht-EU</th>
</tr>
</thead>
<tbody>
";
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) AS gesamt_stg, ) AS gesamt_stg,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='m'
) AS gesamt_alle,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB' JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='m'
) AS gesamt_alle,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='BB'
) AS bb, ) AS bb,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ' WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='VZ'
) AS vz, ) AS vz,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w' JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w'
) AS w, ) AS w,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m'
) AS m, ) AS m,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND nation_code='A' JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND nation_code='A'
) AS herkunft_at, ) AS herkunft_at,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND eu AND nation_code<>'A' JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
AND geschlecht='m' AND eu AND nation_code<>'A'
) AS herkunft_eu, ) AS herkunft_eu,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND NOT eu JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND NOT eu
) AS herkunft_noteu, ) AS herkunft_noteu,
true true
FROM FROM
@@ -233,25 +308,25 @@ if($stsem!='')
WHERE WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m' studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m'
ORDER BY typ, kurzbzlang; "; ORDER BY typ, kurzbzlang; ";
if($db->db_query($qry)) if ($db->db_query($qry))
{ {
$gesamt = 0;
$gesamt=0; $gesamt_prozent = 0;
$gesamt_prozent=0; $gesamt_bb = 0;
$gesamt_bb=0; $gesamt_vz = 0;
$gesamt_vz=0; $gesamt_m = 0;
$gesamt_m=0; $gesamt_w = 0;
$gesamt_w=0; $gesamt_at = 0;
$gesamt_at=0; $gesamt_eu = 0;
$gesamt_eu=0; $gesamt_noteu = 0;
$gesamt_noteu=0;
while($row = $db->db_fetch_object()) while ($row = $db->db_fetch_object())
{ {
echo '<tr>'; echo '<tr>';
echo '<td>&nbsp;</td>'; echo '<td>&nbsp;</td>';
echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>"; echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); $prozent = ($row->gesamt_alle != 0?$row->gesamt_stg / $row->gesamt_alle * 100:0);
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>"; echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
echo "<td align='center'>$row->bb / $row->vz</td>"; echo "<td align='center'>$row->bb / $row->vz</td>";
echo "<td align='center'>$row->m</td>"; echo "<td align='center'>$row->m</td>";
@@ -259,9 +334,9 @@ if($stsem!='')
echo "<td align='center'>$row->herkunft_at</td>"; echo "<td align='center'>$row->herkunft_at</td>";
echo "<td align='center'>$row->herkunft_eu</td>"; echo "<td align='center'>$row->herkunft_eu</td>";
echo "<td align='center'>$row->herkunft_noteu</td>"; echo "<td align='center'>$row->herkunft_noteu</td>";
echo "</tr>"; echo "</tr>\n";
$gesamt+=$row->gesamt_stg; $gesamt += $row->gesamt_stg;
$gesamt_prozent+=$prozent; $gesamt_prozent += $prozent;
$gesamt_bb += $row->bb; $gesamt_bb += $row->bb;
$gesamt_vz += $row->vz; $gesamt_vz += $row->vz;
$gesamt_m += $row->m; $gesamt_m += $row->m;
@@ -270,6 +345,7 @@ if($stsem!='')
$gesamt_eu += $row->herkunft_eu; $gesamt_eu += $row->herkunft_eu;
$gesamt_noteu += $row->herkunft_noteu; $gesamt_noteu += $row->herkunft_noteu;
} }
echo '<tr>'; echo '<tr>';
echo '<td><b>SUMME</b></td>'; echo '<td><b>SUMME</b></td>';
echo "<td>&nbsp;</td>"; echo "<td>&nbsp;</td>";
@@ -280,8 +356,7 @@ if($stsem!='')
echo "<td align='center'><b>$gesamt_at</b></td>"; echo "<td align='center'><b>$gesamt_at</b></td>";
echo "<td align='center'><b>$gesamt_eu</b></td>"; echo "<td align='center'><b>$gesamt_eu</b></td>";
echo "<td align='center'><b>$gesamt_noteu</b></td>"; echo "<td align='center'><b>$gesamt_noteu</b></td>";
echo "</tr>"; echo "</tr>\n";
} }
echo '</tbody></table>'; echo '</tbody></table>';
} }