diff --git a/content/statistik/studentenstatistik.php b/content/statistik/studentenstatistik.php index 959cf951d..330e67995 100644 --- a/content/statistik/studentenstatistik.php +++ b/content/statistik/studentenstatistik.php @@ -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 ' + +$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 ' - + @@ -64,9 +74,9 @@ echo 'studiensemester_kurzbz==$stsem) $selected='selected'; - else + else $selected=''; - + echo ''; } echo ' @@ -81,7 +91,7 @@ if($stsem!='') Anteil an Gesamt Extern - Studienart + Studienart Geschlecht Staatsbürgerschaft @@ -91,8 +101,10 @@ if($stsem!='') Bachelor Studiengänge Absolut / % - In / Out - BB / VZ / DL / DDP / PT + In / Out"; + foreach($orgform_arr as $row_orgform) + echo "".$row_orgform.""; + echo " m w Österreich @@ -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 "$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %"; echo "$row->inc / $row->out"; - if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false) + + foreach($orgform_arr as $row_orgform) { - //berufsbegleitend: gesamtzahl in spalte bb - echo "$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt"; - $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 "$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt"; - $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 "$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt"; - $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 "$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt"; - $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 "$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg"; - $gesamt_bb += $row->bb; - $gesamt_vz += $row->vz; - $gesamt_fs += $row->fs; - $gesamt_ddp += $row->ddp; - $gesamt_pt += $row->gesamt_stg; - } - else - { - echo "$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt"; - $gesamt_bb += $row->bb; - $gesamt_vz += $row->vz; - $gesamt_fs += $row->fs; - $gesamt_ddp += $row->ddp; - $gesamt_pt += $row->pt; + echo ""; + 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 ""; } + echo "$row->m"; echo "$row->w"; echo "$row->herkunft_at"; @@ -257,23 +217,25 @@ if($stsem!='') echo " "; echo "$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %"; echo "$gesamt_inc / $gesamt_out"; - echo "$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt"; + foreach($orgform_arr as $row_orgform) + echo "".$gesamt_orgform[$row_orgform].""; echo "$gesamt_m"; echo "$gesamt_w"; echo "$gesamt_at"; echo "$gesamt_eu"; echo "$gesamt_noteu"; echo ""; - + } - + $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 ' Master Studiengänge Absolut / % - In / Out - BB / VZ / DL / DDP / PT + In / Out'; + foreach($orgform_arr as $row_orgform) + echo ''.$row_orgform.''; + + echo ' m w Österreich @@ -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 "$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %"; echo "$row->inc / $row->out"; - if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false) + + foreach($orgform_arr as $row_orgform) { - //berufsbegleitend: gesamtzahl in spalte bb - echo "$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt"; - $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 "$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt"; - $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 "$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt"; - $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 "$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt"; - $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 "$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg"; - $gesamt_bb += $row->bb; - $gesamt_vz += $row->vz; - $gesamt_fs += $row->fs; - $gesamt_ddp += $row->ddp; - $gesamt_pt += $row->gesamt_stg; - } - else - { - echo "$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt"; - $gesamt_bb += $row->bb; - $gesamt_vz += $row->vz; - $gesamt_fs += $row->fs; - $gesamt_ddp += $row->ddp; - $gesamt_pt += $row->pt; + echo ""; + 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 ""; } + echo "$row->m"; echo "$row->w"; echo "$row->herkunft_at"; @@ -452,22 +366,24 @@ if($stsem!='') echo " "; echo "$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %"; echo "$gesamt_inc / $gesamt_out"; - echo "$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt"; + foreach($orgform_arr as $row_orgform) + { + echo "".$gesamt_orgform[$row_orgform].""; + } echo "$gesamt_m"; echo "$gesamt_w"; echo "$gesamt_at"; echo "$gesamt_eu"; echo "$gesamt_noteu"; echo ""; - + } $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 " "; echo "$gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %"; echo "$gesamtsumme_inc / $gesamtsumme_out"; - echo "$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs / $gesamtsumme_ddp / $gesamtsumme_pt"; + foreach($orgform_arr as $row_orgform) + echo "".$gesamtsumme_orgform[$row_orgform].""; echo "$gesamtsumme_m"; echo "$gesamtsumme_w"; echo "$gesamtsumme_at"; @@ -491,4 +408,4 @@ if($stsem!='') } ?> - \ No newline at end of file + diff --git a/include/organisationsform.class.php b/include/organisationsform.class.php index d288bfeef..5497621ad 100644 --- a/include/organisationsform.class.php +++ b/include/organisationsform.class.php @@ -19,111 +19,111 @@ * Andreas Oesterreicher and * Karl Burkhart . */ - + /** * 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; } } -} \ No newline at end of file +}