Studierendenstatistik angepasst damit dynamisch alle Organisationsformen bei Mischformstudiengängen angezeigt werden

This commit is contained in:
oesi
2017-09-21 10:24:43 +02:00
parent 35e35b4110
commit 903e296bcb
2 changed files with 180 additions and 263 deletions
+123 -206
View File
@@ -21,7 +21,7 @@
*/
/*
* Erstellt eine Liste der Studenten eines Studiensemesters
* Aufteilung in
* Aufteilung in
* - Anzahl Gesamt
* - Prozent Anteil
* - Vollzeit/Berufsbegleitend
@@ -32,6 +32,7 @@ require_once('../../config/vilesci.config.inc.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/organisationsform.class.php');
$db = new basis_db();
$stsem_obj = new studiensemester();
@@ -42,10 +43,19 @@ else
$stsem = $stsem_obj->getaktorNext();
}
$stsem_obj->load($stsem);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
$orgform = new organisationsform();
$orgform->getAll();
$orgform_arr = array();
foreach($orgform->result as $row_orgform)
if($row_orgform->rolle==true)
$orgform_arr[] = $row_orgform->orgform_kurzbz;
echo '<!DOCTYPE HTML>
<html>
<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 rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
@@ -64,9 +74,9 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
{
if($stsemester->studiensemester_kurzbz==$stsem)
$selected='selected';
else
else
$selected='';
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>
@@ -81,7 +91,7 @@ if($stsem!='')
<th></th>
<th>Anteil an Gesamt</th>
<th>Extern</th>
<th>Studienart</th>
<th colspan=".count($orgform_arr).">Studienart</th>
<th colspan=2>Geschlecht</th>
<th colspan=3>Staatsb&uuml;rgerschaft</th>
</tr>
@@ -91,8 +101,10 @@ if($stsem!='')
<th>Bachelor</th>
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>In / Out</th>";
foreach($orgform_arr as $row_orgform)
echo "<th>".$row_orgform."</th>";
echo "
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
@@ -105,45 +117,38 @@ if($stsem!='')
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='$stsem'
) 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)
WHERE status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='b'
WHERE status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='b'
) a) AS gesamt_alle,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) a) AS inc,
(SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid)
WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."'
) a) AS out,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB'
) a) AS bb,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ'
) a) AS vz,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
(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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)."
) a) AS out,";
foreach($orgform_arr as $row_orgform)
{
$qry.=" (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)."
) a) AS orgform_".$row_orgform.",";
}
$qry.=" (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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND nation_code='A'
) 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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND eu AND nation_code<>'A'
) 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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu
) a) AS herkunft_noteu,
true
FROM
@@ -151,17 +156,14 @@ if($stsem!='')
WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b'
ORDER BY typ, kurzbzlang; ";
if($result = $db->db_query($qry))
{
$gesamt=0;
$gesamt_prozent=0;
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
foreach($orgform_arr as $row_orgform)
$gesamt_orgform[$row_orgform] = 0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -177,65 +179,23 @@ if($stsem!='')
$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->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
foreach($orgform_arr as $row_orgform)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
echo "<td align='center'>";
if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false)
{
echo $row->gesamt_stg;
$gesamt_orgform[$row_orgform] += $row->gesamt_stg;
}
else
{
echo $row->{'orgform_'.mb_strtolower($row_orgform)};
$gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)};
}
echo "</td>";
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
echo "<td align='center'>$row->herkunft_at</td>";
@@ -257,23 +217,25 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
foreach($orgform_arr as $row_orgform)
echo "<td align='center'><b>".$gesamt_orgform[$row_orgform]."</b></td>";
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</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_noteu</b></td>";
echo "</tr>";
}
$gesamtsumme = $gesamt;
$gesamtsumme_prozent = $gesamt_prozent;
$gesamtsumme_bb = $gesamt_bb;
$gesamtsumme_vz = $gesamt_vz;
$gesamtsumme_fs = $gesamt_fs;
$gesamtsumme_ddp = $gesamt_ddp;
$gesamtsumme_pt = $gesamt_pt;
$gesamtsumme_orgform = array();
foreach($orgform_arr as $row_orgform)
{
$gesamtsumme_orgform[$row_orgform] = $gesamt_orgform[$row_orgform];
}
$gesamtsumme_m = $gesamt_m;
$gesamtsumme_w = $gesamt_w;
$gesamtsumme_at = $gesamt_at;
@@ -281,15 +243,18 @@ if($stsem!='')
$gesamtsumme_noteu = $gesamt_noteu;
$gesamtsumme_inc = $gesamt_inc;
$gesamtsumme_out = $gesamt_out;
//Master
echo '
<tr>
<th>Master</th>
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>In / Out</th>';
foreach($orgform_arr as $row_orgform)
echo '<th>'.$row_orgform.'</th>';
echo '
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
@@ -300,45 +265,39 @@ if($stsem!='')
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."'
) 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='m'
WHERE status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='m'
) AS gesamt_alle,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) a) AS inc,
(SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid)
WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."'
) a) AS out,
WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)."
) a) AS out,";
foreach($orgform_arr as $row_orgform)
{
$qry .= "
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB'
) a) AS bb,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ'
) a) AS vz,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)."
) a) AS orgform_".$row_orgform.",";
}
$qry .= "
(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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND nation_code='A'
) 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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND eu AND nation_code<>'A'
) 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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu
) a) AS herkunft_noteu,
true
FROM
@@ -346,17 +305,14 @@ if($stsem!='')
WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m'
ORDER BY typ, kurzbzlang; ";
if($result = $db->db_query($qry))
{
$gesamt=0;
$gesamt_prozent=0;
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
foreach($orgform_arr as $row_orgform)
$gesamt_orgform[$row_orgform] = 0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -372,65 +328,23 @@ if($stsem!='')
$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->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
foreach($orgform_arr as $row_orgform)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
echo "<td align='center'>";
if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false)
{
echo $row->gesamt_stg;
$gesamt_orgform[$row_orgform] += $row->gesamt_stg;
}
else
{
echo $row->{'orgform_'.mb_strtolower($row_orgform)};
$gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)};
}
echo "</td>";
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
echo "<td align='center'>$row->herkunft_at</td>";
@@ -452,22 +366,24 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
foreach($orgform_arr as $row_orgform)
{
echo "<td align='center'><b>".$gesamt_orgform[$row_orgform]."</b></td>";
}
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</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_noteu</b></td>";
echo "</tr>";
}
$gesamtsumme += $gesamt;
$gesamtsumme_prozent = 100;
$gesamtsumme_bb += $gesamt_bb;
$gesamtsumme_vz += $gesamt_vz;
$gesamtsumme_fs += $gesamt_fs;
$gesamtsumme_ddp += $gesamt_ddp;
$gesamtsumme_pt += $gesamt_pt;
foreach($orgform_arr as $row_orgform)
$gesamtsumme_orgform[$row_orgform] += $gesamt_orgform[$row_orgform];
$gesamtsumme_m += $gesamt_m;
$gesamtsumme_w += $gesamt_w;
$gesamtsumme_at += $gesamt_at;
@@ -480,7 +396,8 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamtsumme_inc / $gesamtsumme_out</b></td>";
echo "<td align='center'><b>$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs / $gesamtsumme_ddp / $gesamtsumme_pt</b></td>";
foreach($orgform_arr as $row_orgform)
echo "<td align='center'><b>".$gesamtsumme_orgform[$row_orgform]."</b></td>";
echo "<td align='center'><b>$gesamtsumme_m</b></td>";
echo "<td align='center'><b>$gesamtsumme_w</b></td>";
echo "<td align='center'><b>$gesamtsumme_at</b></td>";
@@ -491,4 +408,4 @@ if($stsem!='')
}
?>
</body>
</html>
</html>
+57 -57
View File
@@ -19,111 +19,111 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
/**
* Klasse Organisationsform
*/
class organisationsform extends basis_db
{
public $orgform_kurzbz;
public $code;
public $bezeichnung;
public $rolle;
public $result = array();
public $orgform_kurzbz;
public $code;
public $bezeichnung;
public $rolle;
public $result = array();
/**
*
* Konstruktor
*
* Konstruktor
*/
public function __construct()
public function __construct()
{
parent::__construct();
parent::__construct();
}
/**
* Laedt eine Organisationsform
* @param $orgform_kurzbz
*/
public function load($orgform_kurzbz)
{
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->code = $row->code;
$this->bezeichnung = $row->bezeichnung;
$this->rolle = $row->rolle;
{
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->code = $row->code;
$this->bezeichnung = $row->bezeichnung;
$this->rolle = $this->db_parse_bool($row->rolle);
}
}
else
{
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
*
*
* Liefert alle Organisationsformen zurück
*/
public function getAll()
{
$qry = "SELECT * FROM bis.tbl_orgform";
$qry = "SELECT * FROM bis.tbl_orgform";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $this->db_parse_bool($row->rolle);
$this->result[] = $orgform;
}
return true;
}
else
{
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
*
*
* Orgform Kurzbezeichnung wird übergeben und alle passenden Kurzbezeichnungen werden zurückgegeben
* @param $orgform_kurzbz
*/
public function checkOrgForm($orgform_kurzbz)
{
{
if(is_null($orgform_kurzbz))
{
$this->errormsg ="Kein gültiger Wert für Orgform Kurzbz.";
return false;
$this->errormsg ="Kein gültiger Wert für Orgform Kurzbz.";
return false;
}
switch ($orgform_kurzbz)
switch ($orgform_kurzbz)
{
case "VZ":
$vzArray= array('VZ', '');
return $vzArray;
return $vzArray;
case "BB":
$bbArray=array('BB','DL','DDP','');
return $bbArray;
return $bbArray;
case "VBB":
$vbbArray = array('VZ','BB','DDP','DL');
return $vbbArray;
return $vbbArray;
default:
return false;
return false;
}
}
@@ -137,19 +137,19 @@ class organisationsform extends basis_db
FROM bis.tbl_orgform
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
ORDER BY orgform_kurzbz";
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
}
return true;
}
@@ -159,4 +159,4 @@ class organisationsform extends basis_db
return false;
}
}
}
}